vuultimo4k added

Origin commit data
------------------
Branch: master
Commit: ba54bd3c18
Author: max_10 <max_10@gmx.de>
Date: 2019-09-12 (Thu, 12 Sep 2019)

Origin message was:
------------------
- vuultimo4k added

------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
max_10
2019-09-12 20:56:15 +02:00
committed by vanhofen
parent 7fd06fdda8
commit 3363b5d87d
9 changed files with 101 additions and 9 deletions

View File

@@ -90,7 +90,7 @@ AC_ARG_WITH(boxmodel,
AS_HELP_STRING([--with-boxmodel], [valid for generic: generic, raspi]) AS_HELP_STRING([--with-boxmodel], [valid for generic: generic, raspi])
AS_HELP_STRING([], [valid for spark: spark, spark7162]) 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 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, bre2ze4k, vusolo4k, vuduo4k, vuzero4k]) AS_HELP_STRING([], [valid for armbox: hd51, hd60, bre2ze4k, vusolo4k, vuduo4k, vuultimo4k, vuzero4k])
AS_HELP_STRING([], [valid for mipsbox: vuduo]), AS_HELP_STRING([], [valid for mipsbox: vuduo]),
[case "${withval}" in [case "${withval}" in
generic|raspi) generic|raspi)
@@ -183,6 +183,7 @@ AM_CONDITIONAL(BOXMODEL_HD60, test "$BOXMODEL" = "hd60")
AM_CONDITIONAL(BOXMODEL_BRE2ZE4K, test "$BOXMODEL" = "bre2ze4k") AM_CONDITIONAL(BOXMODEL_BRE2ZE4K, test "$BOXMODEL" = "bre2ze4k")
AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k") AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k")
AM_CONDITIONAL(BOXMODEL_VUDUO4K, test "$BOXMODEL" = "vuduo4k") AM_CONDITIONAL(BOXMODEL_VUDUO4K, test "$BOXMODEL" = "vuduo4k")
AM_CONDITIONAL(BOXMODEL_VUULTIMO4K, test "$BOXMODEL" = "vuultimo4k")
AM_CONDITIONAL(BOXMODEL_VUZERO4K, test "$BOXMODEL" = "vuzero4k") AM_CONDITIONAL(BOXMODEL_VUZERO4K, test "$BOXMODEL" = "vuzero4k")
# mipsbox # mipsbox
@@ -273,6 +274,8 @@ elif test "$BOXMODEL" = "vusolo4k"; then
AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k]) AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k])
elif test "$BOXMODEL" = "vuduo4k"; then elif test "$BOXMODEL" = "vuduo4k"; then
AC_DEFINE(BOXMODEL_VUDUO4K, 1, [vuduo4k]) AC_DEFINE(BOXMODEL_VUDUO4K, 1, [vuduo4k])
elif test "$BOXMODEL" = "vuultimo4k"; then
AC_DEFINE(BOXMODEL_VUULTIMO4K, 1, [vuultimo4k])
elif test "$BOXMODEL" = "vuzero4k"; then elif test "$BOXMODEL" = "vuzero4k"; then
AC_DEFINE(BOXMODEL_VUZERO4K, 1, [vuzero4k]) AC_DEFINE(BOXMODEL_VUZERO4K, 1, [vuzero4k])
elif test "$BOXMODEL" = "vuduo"; then elif test "$BOXMODEL" = "vuduo"; then

View File

@@ -234,7 +234,7 @@ static bool transmitData(eDVBCISlot* slot, unsigned char* d, int len)
{ {
printf("%s -> %s len(%d)\n", FILENAME, __func__, len); printf("%s -> %s len(%d)\n", FILENAME, __func__, len);
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUZERO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUZERO4K
#if y_debug #if y_debug
for (int i = 0; i < len; i++) for (int i = 0; i < len; i++)
printf("%02x ", d[i]); printf("%02x ", d[i]);
@@ -1017,7 +1017,7 @@ void cCA::setSource(eDVBCISlot* slot)
case TUNER_D: case TUNER_D:
fprintf(ci, "D"); fprintf(ci, "D");
break; break;
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K
case TUNER_E: case TUNER_E:
fprintf(ci, "E"); fprintf(ci, "E");
break; break;
@@ -1054,6 +1054,32 @@ void cCA::setSource(eDVBCISlot* slot)
case TUNER_P: case TUNER_P:
fprintf(ci, "P"); fprintf(ci, "P");
break; break;
#if BOXMODEL_VUULTIMO4K
case TUNER_Q:
fprintf(ci, "Q");
break;
case TUNER_R:
fprintf(ci, "R");
break;
case TUNER_S:
fprintf(ci, "S");
break;
case TUNER_T:
fprintf(ci, "T");
break;
case TUNER_U:
fprintf(ci, "U");
break;
case TUNER_V:
fprintf(ci, "V");
break;
case TUNER_W:
fprintf(ci, "W");
break;
case TUNER_X:
fprintf(ci, "X");
break;
#endif
#endif #endif
} }
fclose(ci); fclose(ci);
@@ -1069,10 +1095,14 @@ void cCA::setInputs()
char choices[64]; char choices[64];
FILE * fd = 0; FILE * fd = 0;
#if BOXMODEL_VUULTIMO4K
for (int number = 0; number < 24; number++) // tuner A to X, input 0 to 23
#else
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K
for (int number = 0; number < 16; number++) // tuner A to P, input 0 to 15 for (int number = 0; number < 16; number++) // tuner A to P, input 0 to 15
#else #else
for (int number = 0; number < 4; number++) // tuner A to D, input 0 to 3 for (int number = 0; number < 4; number++) // tuner A to D, input 0 to 3
#endif
#endif #endif
{ {
snprintf(choices, 64, "/proc/stb/tsmux/input%d_choices", number); snprintf(choices, 64, "/proc/stb/tsmux/input%d_choices", number);
@@ -1134,7 +1164,7 @@ void cCA::setInputSource(eDVBCISlot* slot, bool ci)
case TUNER_D: case TUNER_D:
fprintf(input, "D"); fprintf(input, "D");
break; break;
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K
case TUNER_E: case TUNER_E:
fprintf(input, "E"); fprintf(input, "E");
break; break;
@@ -1171,6 +1201,32 @@ void cCA::setInputSource(eDVBCISlot* slot, bool ci)
case TUNER_P: case TUNER_P:
fprintf(input, "P"); fprintf(input, "P");
break; break;
#if BOXMODEL_VUULTIMO4K
case TUNER_Q:
fprintf(input, "Q");
break;
case TUNER_R:
fprintf(input, "R");
break;
case TUNER_S:
fprintf(input, "S");
break;
case TUNER_T:
fprintf(input, "T");
break;
case TUNER_U:
fprintf(input, "U");
break;
case TUNER_V:
fprintf(input, "V");
break;
case TUNER_W:
fprintf(input, "W");
break;
case TUNER_X:
fprintf(input, "X");
break;
#endif
#endif #endif
} }
} }

View File

@@ -127,7 +127,7 @@ typedef enum {
TUNER_B, TUNER_B,
TUNER_C, TUNER_C,
TUNER_D TUNER_D
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K
, TUNER_E , TUNER_E
, TUNER_F , TUNER_F
, TUNER_G , TUNER_G
@@ -140,6 +140,16 @@ typedef enum {
, TUNER_N , TUNER_N
, TUNER_O , TUNER_O
, TUNER_P , TUNER_P
#if BOXMODEL_VUULTIMO4K
, TUNER_Q
, TUNER_R
, TUNER_S
, TUNER_T
, TUNER_U
, TUNER_V
, TUNER_W
, TUNER_X
#endif
#endif #endif
} source_t; } source_t;

View File

@@ -37,11 +37,15 @@ extern "C" {
#include <cs_types.h> #include <cs_types.h>
#if BOXMODEL_VUULTIMO4K
#define MAX_DMX_UNITS 24
#else
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K
#define MAX_DMX_UNITS 16 #define MAX_DMX_UNITS 16
#else #else
#define MAX_DMX_UNITS 4 #define MAX_DMX_UNITS 4
#endif #endif
#endif
typedef enum typedef enum
{ {

View File

@@ -337,7 +337,7 @@ int cAudio::StopClip()
hal_info("%s: clipfd not yet opened\n", __FUNCTION__); hal_info("%s: clipfd not yet opened\n", __FUNCTION__);
return -1; return -1;
} }
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUZERO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUZERO4K
ioctl(clipfd, SNDCTL_DSP_RESET); ioctl(clipfd, SNDCTL_DSP_RESET);
#endif #endif
close(clipfd); close(clipfd);

View File

@@ -60,11 +60,29 @@ hw_caps_t *get_hwcaps(void)
caps.display_has_statusline = 0; // 0 because we use graphlcd/lcd4linux caps.display_has_statusline = 0; // 0 because we use graphlcd/lcd4linux
caps.has_button_timer = 1; caps.has_button_timer = 1;
caps.has_button_vformat = 0; caps.has_button_vformat = 0;
caps.has_HDMI = 1; caps.has_HDMI = 2;
strcpy(caps.boxvendor, "VU+"); strcpy(caps.boxvendor, "VU+");
strcpy(caps.boxname, "DUO4K"); strcpy(caps.boxname, "DUO4K");
strcpy(caps.boxarch, "BCM7278"); strcpy(caps.boxarch, "BCM7278");
#endif #endif
#if BOXMODEL_VUULTIMO4K
initialized = 1;
caps.has_CI = 2;
caps.can_cec = 1;
caps.can_shutdown = 1;
caps.display_xres = 480; // or 800 ???
caps.display_yres = 320; // or 480 ???
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.has_button_timer = 1;
caps.has_button_vformat = 0;
caps.has_HDMI = 2;
strcpy(caps.boxvendor, "VU+");
strcpy(caps.boxname, "ULTIMO4K");
strcpy(caps.boxarch, "BCM7444S");
#endif
#if BOXMODEL_VUZERO4K #if BOXMODEL_VUZERO4K
initialized = 1; initialized = 1;
caps.has_CI = 1; caps.has_CI = 1;

View File

@@ -38,7 +38,7 @@ void hal_api_init()
proc_put("/proc/stb/fb/dst_width", buffer, strlen(buffer)); proc_put("/proc/stb/fb/dst_width", buffer, strlen(buffer));
sprintf(buffer, "%x", 1); sprintf(buffer, "%x", 1);
proc_put("/proc/stb/fb/dst_apply", buffer, strlen(buffer)); proc_put("/proc/stb/fb/dst_apply", buffer, strlen(buffer));
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K
const char mode_fcc[] = { "enable" }; const char mode_fcc[] = { "enable" };
proc_put("/proc/stb/frontend/fbc/fcc", mode_fcc, strlen(mode_fcc)); proc_put("/proc/stb/frontend/fbc/fcc", mode_fcc, strlen(mode_fcc));
#endif #endif

View File

@@ -1999,7 +1999,7 @@ int32_t container_ffmpeg_update_tracks(Context_t *context, char *filename, int32
#endif #endif
ffmpeg_printf(20, "dump format\n"); ffmpeg_printf(20, "dump format\n");
if((avContextTab[0] != NULL) && (FFMPEG_DEBUG_LEVEL > 0)) if ((avContextTab[0] != NULL) && (FFMPEG_DEBUG_LEVEL > 0))
av_dump_format(avContextTab[0], 0, filename, 0); av_dump_format(avContextTab[0], 0, filename, 0);

View File

@@ -42,6 +42,7 @@
#include "stm_ioctls.h" #include "stm_ioctls.h"
#include "bcm_ioctls.h" #include "bcm_ioctls.h"
#include "debug.h"
#include "common.h" #include "common.h"
#include "output.h" #include "output.h"
#include "debug.h" #include "debug.h"