diff --git a/acinclude.m4 b/acinclude.m4 index 1a1d652bb..aaa49cb0a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -418,6 +418,10 @@ AC_ARG_WITH(boxtype, tripledragon|coolstream|spark|azbox|generic|armbox) BOXTYPE="$withval" ;; + vusolo4k) + BOXTYPE="armbox" + BOXMODEL="$withval" + ;; *) AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;; @@ -426,7 +430,7 @@ AC_ARG_WITH(boxtype, AC_ARG_WITH(boxmodel, AS_HELP_STRING([--with-boxmodel], [valid for coolstream: hd1, hd2]) -AS_HELP_STRING([], [valid for armbox: hd51, hd60]) +AS_HELP_STRING([], [valid for armbox: hd51, hd60, vusolo4k]) AS_HELP_STRING([], [valid for generic: raspi]), [case "${withval}" in hd1|hd2) @@ -448,6 +452,13 @@ AS_HELP_STRING([], [valid for generic: raspi]), AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) fi ;; + vusolo4k) + if test "$BOXTYPE" = "armbox"; then + BOXMODEL="$withval" + else + AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) + fi + ;; hd51|hd60) if test "$BOXTYPE" = "armbox"; then BOXMODEL="$withval" @@ -482,6 +493,7 @@ AM_CONDITIONAL(BOXMODEL_CS_HD2, test "$BOXMODEL" = "hd2") AM_CONDITIONAL(BOXMODEL_HD51, test "$BOXMODEL" = "hd51") AM_CONDITIONAL(BOXMODEL_HD60, test "$BOXMODEL" = "hd60") +AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k") AM_CONDITIONAL(BOXMODEL_RASPI, test "$BOXMODEL" = "raspi") @@ -511,6 +523,9 @@ elif test "$BOXMODEL" = "hd51"; then elif test "$BOXMODEL" = "hd60"; then AC_DEFINE(BOXMODEL_HD60, 1, [hd60]) AC_DEFINE(ENABLE_CHANGE_OSD_RESOLUTION, 1, [enable change the osd resolution]) +elif test "$BOXMODEL" = "vusolo4k"; then + AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k]) + AC_DEFINE(ENABLE_CHANGE_OSD_RESOLUTION, 1, [enable change the osd resolution]) elif test "$BOXMODEL" = "raspi"; then AC_DEFINE(BOXMODEL_RASPI, 1, [raspberry pi]) fi diff --git a/data/y-web/Y_Blocks.txt b/data/y-web/Y_Blocks.txt index 838fcba16..bb20623b4 100644 --- a/data/y-web/Y_Blocks.txt +++ b/data/y-web/Y_Blocks.txt @@ -524,9 +524,10 @@ start-block~remote {=if-equal:{=var-get:boxtype=}~CST Trinity Duo~ {=include-block:Y_Blocks.txt;rc_cst_v6=}~ {=if-equal:{=var-get:boxtype=}~AX-Technologies HD51~{=include-block:Y_Blocks.txt;rc_ax_hd51=}~ {=if-equal:{=var-get:boxtype=}~Mutant HD51~ {=include-block:Y_Blocks.txt;rc_mutant_hd51=}~ + {=if-equal:{=var-get:boxtype=}~VU SOLO4K~ {=include-block:Y_Blocks.txt;rc_vusolo4k=}~ {=comment:fallback~=} {=include-block:Y_Blocks.txt;rc_cst_v1=} - =}=}=}=}=}=}=}=}=}=} + =}=}=}=}=}=}=}=}=}=}=} =}=} ~ {=if-equal:{=var-get:yfbtype=}~-2~ {=include-block:Y_Blocks.txt;rc_dbox_philips=}~ @@ -541,9 +542,10 @@ start-block~remote {=if-equal:{=var-get:yfbtype=}~8~ {=include-block:Y_Blocks.txt;rc_cst_v6=}~ {=if-equal:{=var-get:yfbtype=}~9~ {=include-block:Y_Blocks.txt;rc_ax_hd51=}~ {=if-equal:{=var-get:yfbtype=}~10~ {=include-block:Y_Blocks.txt;rc_mutant_hd51=}~ + {=if-equal:{=var-get:yfbtype=}~11~ {=include-block:Y_Blocks.txt;rc_vusolo4k=}~ {=comment:fallback~=} {=include-block:Y_Blocks.txt;rc_cst_v1=} - =}=}=}=}=}=}=}=}=}=}=}=} + =}=}=}=}=}=}=}=}=}=}=}=}=} =} end-block~remote @@ -1051,3 +1053,56 @@ start-block~rc_mutant_hd51 end-block~rc_mutant_hd51 + +# ------ Remote VU Solo 4K +start-block~rc_vusolo4k + + + +Power +text +subtitle + + +mute +1 +2 +3 +4 +5 +6 +7 +8 +9 +previous +0 +next +red +green +yellow +blue +up +left +OK +right +down +volume up +exit +channelup +volume down +epg +channeldown +menu +videoaltlast +audio +help +rewind +play +pause +forward +tv +record +stop +radio + +end-block~rc_vusolo4k diff --git a/data/y-web/Y_Settings_yWeb.yhtm b/data/y-web/Y_Settings_yWeb.yhtm index cf0f6a1fb..e081a499f 100644 --- a/data/y-web/Y_Settings_yWeb.yhtm +++ b/data/y-web/Y_Settings_yWeb.yhtm @@ -42,6 +42,7 @@ function do_init(){ case "8": // cst trinity duo case "9": // ax hd51 case "10": // mutant hd51 + case "11": // vusolo4k sel=(sel*1+val*1); break; default: @@ -131,6 +132,7 @@ select { + diff --git a/data/y-web/images/Makefile.am b/data/y-web/images/Makefile.am index 192f0febc..62745cabe 100644 --- a/data/y-web/images/Makefile.am +++ b/data/y-web/images/Makefile.am @@ -91,11 +91,15 @@ install_DATA += rc_cst_v1.jpg \ rc_cst_v6.png endif -if BOXTYPE_ARMBOX +if BOXMODEL_HD51 install_DATA += rc_ax_hd51.png \ rc_mutant_hd51.png endif +if BOXMODEL_VUSOLO4K +install_DATA += rc_vusolo4k.png +endif + # file manager install_DATA += chmod.png \ copy.gif \ diff --git a/data/y-web/images/rc_vusolo4k.png b/data/y-web/images/rc_vusolo4k.png new file mode 100644 index 000000000..6c7caf116 Binary files /dev/null and b/data/y-web/images/rc_vusolo4k.png differ diff --git a/src/driver/rcinput.h b/src/driver/rcinput.h index 7314acc39..669a4c88a 100644 --- a/src/driver/rcinput.h +++ b/src/driver/rcinput.h @@ -223,8 +223,13 @@ class CRCInput RC_tv = KEY_TV, RC_radio = KEY_RADIO, RC_text = KEY_TEXT, +#if defined BOXMODEL_VUSOLO4K + RC_info = 0xFFFE, + RC_epg = KEY_INFO, +#else RC_info = KEY_INFO, RC_epg = KEY_EPG, +#endif RC_recall = KEY_LAST, RC_favorites = KEY_FAVORITES, RC_sat = KEY_SAT, diff --git a/src/gui/scan_setup.h b/src/gui/scan_setup.h index 53eca560d..bb749eed1 100644 --- a/src/gui/scan_setup.h +++ b/src/gui/scan_setup.h @@ -66,7 +66,11 @@ class CScanSetup : public CMenuTarget, public CChangeObserver CGenericMenuActivate msettings; CMenuOptionChooser * linkfe; +#if BOXMODEL_VUSOLO4K + std::string modestr[16]; +#else std::string modestr[4]; +#endif /* variables for selected frontend */ /* diseqc mode */ diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 04feade35..aa288e61b 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -4852,9 +4852,12 @@ void CNeutrinoApp::loadKeys(const char * fname) g_settings.mpkey_rewind = tconfig.getInt32( "mpkey.rewind", CRCInput::RC_rewind ); g_settings.mpkey_forward = tconfig.getInt32( "mpkey.forward", CRCInput::RC_forward ); g_settings.mpkey_stop = tconfig.getInt32( "mpkey.stop", CRCInput::RC_stop ); -#if HAVE_ARM_HARDWARE +#if BOXMODEL_HD51 || BOXMODEL_HD60 g_settings.mpkey_play = tconfig.getInt32( "mpkey.play", CRCInput::RC_playpause ); g_settings.mpkey_pause = tconfig.getInt32( "mpkey.pause", CRCInput::RC_playpause ); +#elif BOXMODEL_VUSOLO4K + g_settings.mpkey_play = tconfig.getInt32( "mpkey.play", CRCInput::RC_play ); + g_settings.mpkey_pause = tconfig.getInt32( "mpkey.pause", CRCInput::RC_playpause ); #else g_settings.mpkey_play = tconfig.getInt32( "mpkey.play", CRCInput::RC_play ); g_settings.mpkey_pause = tconfig.getInt32( "mpkey.pause", CRCInput::RC_pause ); diff --git a/src/zapit/include/zapit/femanager.h b/src/zapit/include/zapit/femanager.h index 10890d40d..298c250b6 100644 --- a/src/zapit/include/zapit/femanager.h +++ b/src/zapit/include/zapit/femanager.h @@ -31,8 +31,13 @@ #include +#ifdef BOXMODEL_VUSOLO4K +#define MAX_FE 16 +#define MAX_ADAPTERS 4 +#else #define MAX_FE 4 #define MAX_ADAPTERS 4 +#endif //#define DYNAMIC_DEMUX //#define MAKE_FE_KEY(adapter, number) ((adapter << 8) | (number & 0xFF)) diff --git a/src/zapit/src/frontend.cpp b/src/zapit/src/frontend.cpp index 74ec168b4..a59110d25 100644 --- a/src/zapit/src/frontend.cpp +++ b/src/zapit/src/frontend.cpp @@ -1225,7 +1225,11 @@ bool CFrontend::buildProperties(const FrontendParameters *feparams, struct dtv_p case FEC_2_3: fec = FEC_2_3; if (feparams->delsys == DVB_S2 && feparams->modulation == PSK_8) +#if defined BOXMODEL_VUSOLO4K + pilot = PILOT_AUTO; +#else pilot = PILOT_ON; +#endif break; case FEC_3_4: fec = FEC_3_4;