From 97428ba3ad0cab95aaa56cb1d7115dc088b1b341 Mon Sep 17 00:00:00 2001 From: marqs Date: Sun, 12 Feb 2017 02:37:46 +0200 Subject: [PATCH] Add 288p line5x modes and hotkey for quick mode select --- software/sys_controller/ossc/controls.c | 43 ++++++++++++++++++- software/sys_controller/tvp7002/video_modes.h | 7 +-- software/sys_controller_bsp/settings.bsp | 4 +- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/software/sys_controller/ossc/controls.c b/software/sys_controller/ossc/controls.c index 4ed5eb9..71d1397 100644 --- a/software/sys_controller/ossc/controls.c +++ b/software/sys_controller/ossc/controls.c @@ -107,6 +107,11 @@ void parse_control() { int i; alt_u32 btn_vec; + alt_u8 pt_only = 0; + + // one for each video_group + alt_u8* pmcfg_ptr[] = { &pt_only, &tc.pm_240p, &tc.pm_384p, &tc.pm_480i, &tc.pm_480p, &tc.pm_480p, &tc.pm_1080i }; + alt_u8 valid_pm[] = { 0x1, 0x1f, 0x3, 0x3, 0x3, 0x3, 0x3 }; if (remote_code) printf("RCODE: 0x%.4lx, %d\n", remote_code, remote_rpt); @@ -155,7 +160,41 @@ void parse_control() case RC_SL_TYPE: tc.sl_type = (tc.sl_type < SL_TYPE_MAX) ? (tc.sl_type + 1) : 0; break; case RC_SL_MINUS: tc.sl_str = tc.sl_str ? (tc.sl_str - 1) : 0; break; case RC_SL_PLUS: tc.sl_str = (tc.sl_str < SCANLINESTR_MAX) ? (tc.sl_str + 1) : SCANLINESTR_MAX; break; - //case RC_LM_MODE: tc.linemult_target = (tc.linemult_target < LM_MODE_MAX) ? (tc.linemult_target + 1) : 0; break; + case RC_LM_MODE: + strncpy(menu_row1, "Linemult mode:", LCD_ROW_LEN+1); + strncpy(menu_row2, "press 1-5", LCD_ROW_LEN+1); + lcd_write_menu(); + + while (1) { + btn_vec = IORD_ALTERA_AVALON_PIO_DATA(PIO_1_BASE) & RC_MASK; + for (i = RC_BTN1; i < REMOTE_MAX_KEYS; i++) { + if (btn_vec == rc_keymap[i]) + break; + } + + if (video_modes[cm.id].group > GROUP_1080I) { + printf("WARNING: Corrupted mode (id %d)\n", cm.id); + break; + } + + if (i <= RC_BTN5) { + if ((1< hal default - Feb 9, 2017 9:00:28 PM - 1486666828834 + Feb 11, 2017 4:39:21 AM + 1486780761994 ./ settings.bsp ../../sys.sopcinfo