diff --git a/acinclude.m4 b/acinclude.m4 index 5e1122b..7daf936 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -90,7 +90,7 @@ AC_ARG_WITH(boxmodel, AS_HELP_STRING([--with-boxmodel], [valid for generic: generic, raspi]) AS_HELP_STRING([], [valid for spark: spark, spark7162]) AS_HELP_STRING([], [valid for duckbox: ufs910, ufs912, ufs913, ufs922, atevio7500, fortis_hdbox, octagon1008, hs7110, hs7810a, hs7119, hs7819, dp7000, cuberevo, cuberevo_mini, cuberevo_mini2, cuberevo_250hd, cuberevo_2000hd, cuberevo_3000hd, ipbox9900, ipbox99, ipbox55, arivalink200, tf7700, hl101]) -AS_HELP_STRING([], [valid for armbox: hd51, hd60, hd61, bre2ze4k, h7, osmio4k, osmio4kplus, vusolo4k, vuduo4k, vuultimo4k, vuuno4k, vuuno4kse, vuzero4k]) +AS_HELP_STRING([], [valid for armbox: hd51, hd60, hd61, bre2ze4k, h7, osmio4k, osmio4kplus, vusolo4k, vuduo4k, vuduo4kse, vuultimo4k, vuuno4k, vuuno4kse, vuzero4k]) AS_HELP_STRING([], [valid for mipsbox: vuduo]), [case "${withval}" in generic|raspi) @@ -114,7 +114,7 @@ AS_HELP_STRING([], [valid for mipsbox: vuduo]), AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) fi ;; - hd51|hd60|hd61|bre2ze4k|h7|osmio4k|osmio4kplus|vusolo4k|vuduo4k|vuultimo4k|vuuno4k|vuuno4kse|vuzero4k) + hd51|hd60|hd61|bre2ze4k|h7|osmio4k|osmio4kplus|vusolo4k|vuduo4k|vuduo4kse|vuultimo4k|vuuno4k|vuuno4kse|vuzero4k) if test "$BOXTYPE" = "armbox"; then BOXMODEL="$withval" else @@ -192,6 +192,7 @@ AM_CONDITIONAL(BOXMODEL_OSMIO4K, test "$BOXMODEL" = "osmio4k") AM_CONDITIONAL(BOXMODEL_OSMIO4KPLUS, test "$BOXMODEL" = "osmio4kplus") AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k") AM_CONDITIONAL(BOXMODEL_VUDUO4K, test "$BOXMODEL" = "vuduo4k") +AM_CONDITIONAL(BOXMODEL_VUDUO4KSE, test "$BOXMODEL" = "vuduo4kse") AM_CONDITIONAL(BOXMODEL_VUULTIMO4K, test "$BOXMODEL" = "vuultimo4k") AM_CONDITIONAL(BOXMODEL_VUUNO4K, test "$BOXMODEL" = "vuuno4k") AM_CONDITIONAL(BOXMODEL_VUUNO4KSE, test "$BOXMODEL" = "vuuno4kse") @@ -293,6 +294,8 @@ elif test "$BOXMODEL" = "vusolo4k"; then AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k]) elif test "$BOXMODEL" = "vuduo4k"; then AC_DEFINE(BOXMODEL_VUDUO4K, 1, [vuduo4k]) +elif test "$BOXMODEL" = "vuduo4kse"; then + AC_DEFINE(BOXMODEL_VUDUO4KSE, 1, [vuduo4kse]) elif test "$BOXMODEL" = "vuultimo4k"; then AC_DEFINE(BOXMODEL_VUULTIMO4K, 1, [vuultimo4k]) elif test "$BOXMODEL" = "vuuno4k"; then @@ -307,7 +310,7 @@ fi # all vuplus BOXMODELs case "$BOXMODEL" in - vusolo4k|vuduo4k|vuultimo4k|vuuno4k|vuuno4kse|vuzero4k|vuduo) + vusolo4k|vuduo4k|vuduo4kse|vuultimo4k|vuuno4k|vuuno4kse|vuzero4k|vuduo) AC_DEFINE(BOXMODEL_VUPLUS_ALL, 1, [vuplus_all]) vuplus_all=true ;; @@ -319,7 +322,7 @@ AM_CONDITIONAL(BOXMODEL_VUPLUS_ALL, test "$vuplus_all" = "true") # all vuplus arm BOXMODELs case "$BOXMODEL" in - vusolo4k|vuduo4k|vuultimo4k|vuuno4k|vuuno4kse|vuzero4k) + vusolo4k|vuduo4k|vuduo4kse|vuultimo4k|vuuno4k|vuuno4kse|vuzero4k) AC_DEFINE(BOXMODEL_VUPLUS_ARM, 1, [vuplus_arm]) vuplus_arm=true ;; diff --git a/common/ca_ci.cpp b/common/ca_ci.cpp index 3571c88..f726863 100644 --- a/common/ca_ci.cpp +++ b/common/ca_ci.cpp @@ -238,7 +238,7 @@ static bool transmitData(eDVBCISlot* slot, unsigned char* d, int len) { printf("%s -> %s len(%d)\n", FILENAME, __func__, len); -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUZERO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUULTIMO4K || BOXMODEL_VUZERO4K #if y_debug for (int i = 0; i < len; i++) printf("%02x ", d[i]); @@ -1026,7 +1026,7 @@ void cCA::setSource(eDVBCISlot* slot) case TUNER_D: fprintf(ci, "D"); break; -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUULTIMO4K case TUNER_E: fprintf(ci, "E"); break; @@ -1107,7 +1107,7 @@ void cCA::setInputs() #if BOXMODEL_VUULTIMO4K for (int number = 0; number < 24; number++) // tuner A to X, input 0 to 23 #else -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K for (int number = 0; number < 16; number++) // tuner A to P, input 0 to 15 #else for (int number = 0; number < 4; number++) // tuner A to D, input 0 to 3 @@ -1173,7 +1173,7 @@ void cCA::setInputSource(eDVBCISlot* slot, bool ci) case TUNER_D: fprintf(input, "D"); break; -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K case TUNER_E: fprintf(input, "E"); break; diff --git a/include/ca_ci.h b/include/ca_ci.h index 1d43e6c..1011f60 100644 --- a/include/ca_ci.h +++ b/include/ca_ci.h @@ -127,7 +127,7 @@ typedef enum { TUNER_B, TUNER_C, TUNER_D -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K , TUNER_E , TUNER_F , TUNER_G diff --git a/include/dmx_hal.h b/include/dmx_hal.h index 40980b2..9e98a22 100644 --- a/include/dmx_hal.h +++ b/include/dmx_hal.h @@ -40,7 +40,7 @@ extern "C" { #if BOXMODEL_VUULTIMO4K #define MAX_DMX_UNITS 24 #else -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K #define MAX_DMX_UNITS 16 #else #define MAX_DMX_UNITS 4 diff --git a/libarmbox/dmx.cpp b/libarmbox/dmx.cpp index dc5b0e0..27153d6 100644 --- a/libarmbox/dmx.cpp +++ b/libarmbox/dmx.cpp @@ -74,7 +74,7 @@ static const char *DMX_T[] = { #if BOXMODEL_VUULTIMO4K #define NUM_DEMUX 24 #else -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K #define NUM_DEMUX 16 #else #define NUM_DEMUX 4 @@ -84,7 +84,7 @@ static const char *DMX_T[] = { #if BOXMODEL_VUULTIMO4K static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #else -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #else static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0 }; @@ -95,7 +95,7 @@ static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0 }; #if BOXMODEL_VUULTIMO4K #define NUM_DEMUXDEV 24 #else -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K #define NUM_DEMUXDEV 16 #else #define NUM_DEMUXDEV 8 @@ -135,7 +135,7 @@ static const char *devname[NUM_DEMUXDEV] = { #if BOXMODEL_VUULTIMO4K static bool init[NUM_DEMUXDEV] = { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false }; #else -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K static bool init[NUM_DEMUXDEV] = { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false }; #else static bool init[NUM_DEMUXDEV] = { false, false, false, false, false, false, false, false }; diff --git a/libarmbox/hardware_caps.c b/libarmbox/hardware_caps.c index a2ac331..6522771 100644 --- a/libarmbox/hardware_caps.c +++ b/libarmbox/hardware_caps.c @@ -69,6 +69,24 @@ hw_caps_t *get_hwcaps(void) strcpy(caps.boxname, "DUO4K"); strcpy(caps.boxarch, "BCM7278"); #endif +#if BOXMODEL_VUDUO4KSE + initialized = 1; + caps.has_CI = 2; + caps.can_cec = 1; + caps.can_shutdown = 1; + caps.display_xres = 480; + caps.display_yres = 320; + caps.display_type = HW_DISPLAY_GFX; + caps.display_can_deepstandby = 0; // 0 because we use graphlcd/lcd4linux + caps.display_can_set_brightness = 0; // 0 because we use graphlcd/lcd4linux + caps.display_has_statusline = 0; // 0 because we use graphlcd/lcd4linux + caps.display_has_colon = 0; + caps.has_button_timer = 1; + caps.has_HDMI = 2; + strcpy(caps.boxvendor, "VU+"); + strcpy(caps.boxname, "DUO4KSE"); + strcpy(caps.boxarch, "BCM7444S"); +#endif #if BOXMODEL_VUULTIMO4K initialized = 1; caps.has_CI = 2; diff --git a/libarmbox/init.cpp b/libarmbox/init.cpp index d890ca9..76190c7 100644 --- a/libarmbox/init.cpp +++ b/libarmbox/init.cpp @@ -38,7 +38,7 @@ void hal_api_init() proc_put("/proc/stb/fb/dst_width", buffer, strlen(buffer)); sprintf(buffer, "%x", 1); proc_put("/proc/stb/fb/dst_apply", buffer, strlen(buffer)); -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K +#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUDUO4KSE || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K sprintf(buffer, "%s", "enable"); proc_put("/proc/stb/frontend/fbc/fcc", buffer, strlen(buffer)); #endif