1
0
mirror of https://github.com/marqs85/ossc.git synced 2024-06-08 18:29:30 +00:00
ossc/software/sys_controller/ossc/userdata.h
paulb-nl 4e4f5749ea Add auto input switching
Cycle through inputs until sync is found or limit has been reached.
RGsB or YPbPr defaults can be set per input.
Stay on current physical input for a short time when sync is lost.
Press right button on the remote for next input.
2018-10-11 14:01:14 +02:00

76 lines
2.0 KiB
C

//
// Copyright (C) 2015-2018 Markus Hiienkari <mhiienka@niksula.hut.fi>
//
// This file is part of Open Source Scan Converter project.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
#ifndef USERDATA_H_
#define USERDATA_H_
#include "alt_types.h"
#include "sysconfig.h"
#include "controls.h"
#include "av_controller.h"
#include "avconfig.h"
#include "video_modes.h"
#include "flash.h"
#define MAX_PROFILE 9
#define INIT_CONFIG_SLOT MAX_USERDATA_ENTRY
#define UDATA_IMPT_CANCELLED 104
typedef enum {
UDE_INITCFG = 0,
UDE_PROFILE,
} ude_type;
typedef struct {
char userdata_key[8];
alt_u8 version_major;
alt_u8 version_minor;
ude_type type;
} __attribute__((packed, __may_alias__)) ude_hdr;
typedef struct {
ude_hdr hdr;
alt_u16 data_len;
alt_u8 last_profile[AV_LAST];
alt_u8 profile_link;
avinput_t last_input;
avinput_t def_input;
alt_u8 lcd_bl_timeout;
alt_u8 auto_input;
alt_u8 auto_av1_ypbpr;
alt_u8 auto_av2_ypbpr;
alt_u8 auto_av3_ypbpr;
alt_u16 keys[REMOTE_MAX_KEYS];
} __attribute__((packed, __may_alias__)) ude_initcfg;
typedef struct {
ude_hdr hdr;
alt_u16 avc_data_len;
alt_u16 vm_data_len;
avconfig_t avc;
mode_data_t vm[VIDEO_MODES_CNT];
} __attribute__((packed, __may_alias__)) ude_profile;
int write_userdata(alt_u8 entry);
int read_userdata(alt_u8 entry);
int import_userdata();
#endif