mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 07:51:11 +02:00
Merge branch 'master' of https://github.com/tuxbox-neutrino/gui-neutrino into ni/tuxbox
Conflicts:
lib/hardware/coolstream/hd2/libcoolstream/cs_api.h
Origin commit data
------------------
Branch: ni/coolstream
Commit: 8c95f1f7a8
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-03-10 (Fri, 10 Mar 2017)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -1,12 +1,9 @@
|
|||||||
noinst_LIBRARIES = libhwcaps.a
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
||||||
|
|
||||||
if BOXMODEL_CS_HD2
|
AM_CPPFLAGS = \
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/lib/hardware/coolstream/hd2/libcoolstream
|
@HWLIB_CFLAGS@
|
||||||
else
|
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/lib/hardware/coolstream/hd1/libcoolstream
|
noinst_LIBRARIES = libhwcaps.a
|
||||||
endif
|
|
||||||
|
|
||||||
libhwcaps_a_SOURCES = \
|
libhwcaps_a_SOURCES = \
|
||||||
hardware_caps.cpp
|
hardware_caps.cpp
|
||||||
|
@@ -18,6 +18,7 @@ hw_caps_t *get_hwcaps(void) {
|
|||||||
if (initialized)
|
if (initialized)
|
||||||
return ∩︀
|
return ∩︀
|
||||||
int rev = cs_get_revision();
|
int rev = cs_get_revision();
|
||||||
|
int chip = cs_get_chip_type();
|
||||||
caps.has_fan = (rev < 8);
|
caps.has_fan = (rev < 8);
|
||||||
caps.has_HDMI = 1;
|
caps.has_HDMI = 1;
|
||||||
caps.has_SCART = (rev != 10);
|
caps.has_SCART = (rev != 10);
|
||||||
@@ -33,7 +34,6 @@ hw_caps_t *get_hwcaps(void) {
|
|||||||
caps.can_ps_14_9 = 1;
|
caps.can_ps_14_9 = 1;
|
||||||
caps.force_tuner_2G = 0;
|
caps.force_tuner_2G = 0;
|
||||||
strcpy(caps.boxvendor, "Coolstream");
|
strcpy(caps.boxvendor, "Coolstream");
|
||||||
/* list of boxnames from neutrinoyparser.cpp */
|
|
||||||
strcpy(caps.boxarch, "Nevis");
|
strcpy(caps.boxarch, "Nevis");
|
||||||
switch (rev) {
|
switch (rev) {
|
||||||
case 6:
|
case 6:
|
||||||
@@ -41,7 +41,7 @@ hw_caps_t *get_hwcaps(void) {
|
|||||||
strcpy(caps.boxname, "HD1");
|
strcpy(caps.boxname, "HD1");
|
||||||
caps.force_tuner_2G = 1;
|
caps.force_tuner_2G = 1;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8: // TODO: Neo2 - Twin
|
||||||
strcpy(caps.boxname, "Neo");
|
strcpy(caps.boxname, "Neo");
|
||||||
caps.force_tuner_2G = 1;
|
caps.force_tuner_2G = 1;
|
||||||
break;
|
break;
|
||||||
@@ -53,9 +53,8 @@ hw_caps_t *get_hwcaps(void) {
|
|||||||
strcpy(caps.boxname, "Zee");
|
strcpy(caps.boxname, "Zee");
|
||||||
caps.force_tuner_2G = 1;
|
caps.force_tuner_2G = 1;
|
||||||
break;
|
break;
|
||||||
#ifdef BOXMODEL_CS_HD2
|
|
||||||
case 11:
|
case 11:
|
||||||
if (cs_get_chip_type() == CS_CHIP_SHINER)
|
if (chip == CS_CHIP_SHINER)
|
||||||
{
|
{
|
||||||
strcpy(caps.boxname, "Trinity");
|
strcpy(caps.boxname, "Trinity");
|
||||||
strcpy(caps.boxarch, "Shiner");
|
strcpy(caps.boxarch, "Shiner");
|
||||||
@@ -78,7 +77,6 @@ hw_caps_t *get_hwcaps(void) {
|
|||||||
strcpy(caps.boxname, "Trinity Duo");
|
strcpy(caps.boxname, "Trinity Duo");
|
||||||
strcpy(caps.boxarch, "Kronos");
|
strcpy(caps.boxarch, "Kronos");
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
strcpy(caps.boxname, "UNKNOWN_BOX");
|
strcpy(caps.boxname, "UNKNOWN_BOX");
|
||||||
strcpy(caps.boxarch, "Unknown");
|
strcpy(caps.boxarch, "Unknown");
|
||||||
|
@@ -17,6 +17,13 @@
|
|||||||
|
|
||||||
typedef void (*cs_messenger) (unsigned int msg, unsigned int data);
|
typedef void (*cs_messenger) (unsigned int msg, unsigned int data);
|
||||||
|
|
||||||
|
#define CS_CHIP_APOLLO 0x8490
|
||||||
|
#define CS_CHIP_SHINER 0x8470
|
||||||
|
#define CS_CHIP_KRONOS_S 0x7540
|
||||||
|
#define CS_CHIP_KRONOS_C 0x7550
|
||||||
|
#define CS_CHIP_KRONOS_IP 0x7530
|
||||||
|
#define CS_CHIP_NEVIS 0x0000 /* workaround for nonexistant nevis chiptype */
|
||||||
|
|
||||||
enum CS_LOG_MODULE {
|
enum CS_LOG_MODULE {
|
||||||
CS_LOG_CI = 0,
|
CS_LOG_CI = 0,
|
||||||
CS_LOG_HDMI_CEC,
|
CS_LOG_HDMI_CEC,
|
||||||
@@ -71,6 +78,29 @@ int cs_get_tsp_config(unsigned int port, tsrouter_tsp_config_t *tsp_config);
|
|||||||
// Serial nr and revision accessors
|
// Serial nr and revision accessors
|
||||||
unsigned long long cs_get_serial(void);
|
unsigned long long cs_get_serial(void);
|
||||||
unsigned int cs_get_revision(void);
|
unsigned int cs_get_revision(void);
|
||||||
|
/* Dummy function for compatibility with hd2 */
|
||||||
|
unsigned int cs_get_chip_type(void);
|
||||||
|
|
||||||
|
|
||||||
|
// library version functions
|
||||||
|
typedef struct cs_libversion_t
|
||||||
|
{
|
||||||
|
int vMajor;
|
||||||
|
int vMinor;
|
||||||
|
int vPatch;
|
||||||
|
char vStr[16];
|
||||||
|
char vGit[41];
|
||||||
|
char vGitDescribe[64];
|
||||||
|
time_t vGitTime;
|
||||||
|
} cs_libversion_struct_t;
|
||||||
|
|
||||||
|
void cs_get_lib_version(cs_libversion_t *ver);
|
||||||
|
|
||||||
|
/* return value:
|
||||||
|
-------------
|
||||||
|
1 Library version newer than given version
|
||||||
|
0 library version equals given version
|
||||||
|
-1 Library version older than given version */
|
||||||
|
int cs_compare_lib_versions(int Major, int Minor, int Patch);
|
||||||
|
|
||||||
#endif //__CS_API_H_
|
#endif //__CS_API_H_
|
||||||
|
@@ -26,6 +26,7 @@ typedef void (*cs_messenger) (unsigned int msg, unsigned int data);
|
|||||||
#define CS_CHIP_KRONOS_S 0x7540
|
#define CS_CHIP_KRONOS_S 0x7540
|
||||||
#define CS_CHIP_KRONOS_C 0x7550
|
#define CS_CHIP_KRONOS_C 0x7550
|
||||||
#define CS_CHIP_KRONOS_IP 0x7530
|
#define CS_CHIP_KRONOS_IP 0x7530
|
||||||
|
#define CS_CHIP_NEVIS 0x0000 /* workaround for nonexistant nevis chiptype */
|
||||||
|
|
||||||
enum CS_LOG_MODULE {
|
enum CS_LOG_MODULE {
|
||||||
CS_LOG_CI = 0,
|
CS_LOG_CI = 0,
|
||||||
@@ -49,6 +50,7 @@ enum CS_LOG_MODULE {
|
|||||||
// Initialization
|
// Initialization
|
||||||
void cs_api_init(void);
|
void cs_api_init(void);
|
||||||
void cs_api_exit(void);
|
void cs_api_exit(void);
|
||||||
|
/* Preliminary function (for compatibility with older neutrino sources) */
|
||||||
void cs_new_auto_videosystem();
|
void cs_new_auto_videosystem();
|
||||||
|
|
||||||
// Memory helpers
|
// Memory helpers
|
||||||
@@ -90,4 +92,25 @@ bool cs_box_has_ci(void);
|
|||||||
unsigned int cs_get_chip_id(void);
|
unsigned int cs_get_chip_id(void);
|
||||||
unsigned int cs_get_chip_rev_id(void);
|
unsigned int cs_get_chip_rev_id(void);
|
||||||
|
|
||||||
|
// library version functions
|
||||||
|
typedef struct cs_libversion_t
|
||||||
|
{
|
||||||
|
int vMajor;
|
||||||
|
int vMinor;
|
||||||
|
int vPatch;
|
||||||
|
char vStr[16];
|
||||||
|
char vGit[41];
|
||||||
|
char vGitDescribe[64];
|
||||||
|
time_t vGitTime;
|
||||||
|
} cs_libversion_struct_t;
|
||||||
|
|
||||||
|
void cs_get_lib_version(cs_libversion_t *ver);
|
||||||
|
|
||||||
|
/* return value:
|
||||||
|
-------------
|
||||||
|
1 Library version newer than given version
|
||||||
|
0 library version equals given version
|
||||||
|
-1 Library version older than given version */
|
||||||
|
int cs_compare_lib_versions(int Major, int Minor, int Patch);
|
||||||
|
|
||||||
#endif //__CS_API_H_
|
#endif //__CS_API_H_
|
||||||
|
@@ -152,6 +152,12 @@ typedef enum
|
|||||||
VIDEO_CONTROL_MAX = VIDEO_CONTROL_SHARPNESS
|
VIDEO_CONTROL_MAX = VIDEO_CONTROL_SHARPNESS
|
||||||
} VIDEO_CONTROL;
|
} VIDEO_CONTROL;
|
||||||
|
|
||||||
|
typedef struct cs_vs_format_t
|
||||||
|
{
|
||||||
|
char formatHD[16];
|
||||||
|
char formatSD[16];
|
||||||
|
} cs_vs_format_struct_t;
|
||||||
|
|
||||||
class cDemux;
|
class cDemux;
|
||||||
class cAudio;
|
class cAudio;
|
||||||
|
|
||||||
@@ -244,6 +250,11 @@ public:
|
|||||||
int64_t GetPTS(void);
|
int64_t GetPTS(void);
|
||||||
int Flush(void);
|
int Flush(void);
|
||||||
|
|
||||||
|
/* get video system infos */
|
||||||
|
int GetVideoSystem();
|
||||||
|
/* when system = -1 then use current video system */
|
||||||
|
void GetVideoSystemFormatName(cs_vs_format_t* format, int system = -1);
|
||||||
|
|
||||||
/* set video_system */
|
/* set video_system */
|
||||||
int GetVideoSystem();
|
int GetVideoSystem();
|
||||||
int SetVideoSystem(int video_system, bool remember = true);
|
int SetVideoSystem(int video_system, bool remember = true);
|
||||||
|
@@ -797,18 +797,18 @@ void CControlAPI::MessageCGI(CyhookHandler *hh)
|
|||||||
void CControlAPI::InfoCGI(CyhookHandler *hh)
|
void CControlAPI::InfoCGI(CyhookHandler *hh)
|
||||||
{
|
{
|
||||||
if (hh->ParamList.empty())
|
if (hh->ParamList.empty())
|
||||||
hh->Write("Neutrino HD\n");
|
hh->Write("Tuxbox-Neutrino\n");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (hh->ParamList["1"] == "streaminfo") // print streaminfo
|
if (hh->ParamList["1"] == "streaminfo") // print streaminfo
|
||||||
SendStreamInfo(hh);
|
SendStreamInfo(hh);
|
||||||
else if (hh->ParamList["1"] == "version") // send version file
|
else if (hh->ParamList["1"] == "version") // send version file
|
||||||
hh->SendFile(TARGET_PREFIX "/.version");
|
hh->SendFile(TARGET_PREFIX "/.version");
|
||||||
else if (hh->ParamList["1"] == "httpdversion") // print httpd version typ (only ffor comptibility)
|
else if (hh->ParamList["1"] == "httpdversion") // print httpd version typ (just for compatibility)
|
||||||
hh->Write("3");
|
hh->Write("3");
|
||||||
else if (hh->ParamList["1"] == "nhttpd_version")// print nhttpd version
|
else if (hh->ParamList["1"] == "nhttpd_version")// print nhttpd version
|
||||||
hh->printf("%s\n", HTTPD_VERSION);
|
hh->printf("%s\n", HTTPD_VERSION);
|
||||||
else if (hh->ParamList["1"] == "hwinfo")// print hwinfo
|
else if (hh->ParamList["1"] == "hwinfo") // print hwinfo
|
||||||
HWInfoCGI(hh);
|
HWInfoCGI(hh);
|
||||||
else
|
else
|
||||||
hh->SendError();
|
hh->SendError();
|
||||||
@@ -817,14 +817,11 @@ void CControlAPI::InfoCGI(CyhookHandler *hh)
|
|||||||
|
|
||||||
void CControlAPI::HWInfoCGI(CyhookHandler *hh)
|
void CControlAPI::HWInfoCGI(CyhookHandler *hh)
|
||||||
{
|
{
|
||||||
std::string boxname = NeutrinoAPI->NeutrinoYParser->func_get_boxtype(hh, "");
|
|
||||||
std::string boxmodel = NeutrinoAPI->NeutrinoYParser->func_get_boxmodel(hh, "");
|
|
||||||
|
|
||||||
static CNetAdapter netadapter;
|
static CNetAdapter netadapter;
|
||||||
std::string eth_id = netadapter.getMacAddr();
|
std::string eth_id = netadapter.getMacAddr();
|
||||||
std::transform(eth_id.begin(), eth_id.end(), eth_id.begin(), ::tolower);
|
std::transform(eth_id.begin(), eth_id.end(), eth_id.begin(), ::tolower);
|
||||||
|
|
||||||
hh->printf("%s (%s)\nMAC:%s\n", boxname.c_str(), boxmodel.c_str(), eth_id.c_str());
|
hh->printf("%s %s (%s)\nMAC:%s\n", g_info.hw_caps->boxvendor, g_info.hw_caps->boxname, g_info.hw_caps->boxarch, eth_id.c_str());
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void CControlAPI::ShutdownCGI(CyhookHandler *hh)
|
void CControlAPI::ShutdownCGI(CyhookHandler *hh)
|
||||||
|
@@ -850,103 +850,21 @@ std::string CNeutrinoYParser::func_get_partition_list(CyhookHandler *, std::str
|
|||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
std::string CNeutrinoYParser::func_get_boxtype(CyhookHandler *, std::string)
|
std::string CNeutrinoYParser::func_get_boxtype(CyhookHandler *, std::string)
|
||||||
{
|
{
|
||||||
unsigned int system_rev = cs_get_revision();
|
std::string boxvendor(g_info.hw_caps->boxvendor);
|
||||||
std::string boxname = "CST ";
|
std::string boxname(g_info.hw_caps->boxname);
|
||||||
|
|
||||||
#if HAVE_TRIPLEDRAGON
|
/* workaround for Neo2 */
|
||||||
boxname = "Armas ";
|
if ((boxname.compare("Neo") == 0) && (CFEManager::getInstance()->getFrontendCount() > 1))
|
||||||
#endif
|
boxname += " Twin";
|
||||||
|
|
||||||
switch(system_rev)
|
return boxvendor + " " + boxname;
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
if( boxname == "Armas ")
|
|
||||||
boxname += "TripleDragon";
|
|
||||||
break;
|
|
||||||
#ifdef BOXMODEL_CS_HD1
|
|
||||||
case 6:
|
|
||||||
boxname += "HD1";
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
boxname += "BSE";
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
boxname += "Neo";
|
|
||||||
if (CFEManager::getInstance()->getFrontendCount() > 1)
|
|
||||||
boxname += " Twin";
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
boxname += "Zee";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#ifdef BOXMODEL_CS_HD2
|
|
||||||
case 9:
|
|
||||||
boxname += "Tank";
|
|
||||||
break;
|
|
||||||
case 11:
|
|
||||||
boxname += "Trinity";
|
|
||||||
if (cs_get_chip_type() != 33904 /*0x8470*/)
|
|
||||||
boxname += " V2";
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
boxname += "Zee2";
|
|
||||||
break;
|
|
||||||
case 13:
|
|
||||||
boxname += "Link";
|
|
||||||
break;
|
|
||||||
case 14:
|
|
||||||
boxname += "Trinity Duo";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
char buffer[10];
|
|
||||||
snprintf(buffer, sizeof(buffer), "%u\n", system_rev);
|
|
||||||
boxname += "Unknown nr. ";
|
|
||||||
boxname += buffer;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return boxname;
|
|
||||||
}
|
}
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// y-func : get boxmodel
|
// y-func : get boxmodel
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
std::string CNeutrinoYParser::func_get_boxmodel(CyhookHandler *, std::string)
|
std::string CNeutrinoYParser::func_get_boxmodel(CyhookHandler *, std::string)
|
||||||
{
|
{
|
||||||
unsigned int system_rev = cs_get_revision();
|
return g_info.hw_caps->boxarch;
|
||||||
std::string boxmodel = "Unknown";
|
|
||||||
|
|
||||||
switch(system_rev)
|
|
||||||
{
|
|
||||||
#ifdef BOXMODEL_CS_HD1
|
|
||||||
case 6:
|
|
||||||
case 7:
|
|
||||||
case 8:
|
|
||||||
case 10:
|
|
||||||
boxmodel = "Nevis";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
#ifdef BOXMODEL_CS_HD2
|
|
||||||
case 9:
|
|
||||||
boxmodel = "Apollo";
|
|
||||||
break;
|
|
||||||
case 11:
|
|
||||||
if (cs_get_chip_type() == 33904 /*0x8470*/)
|
|
||||||
boxmodel = "Shiner";
|
|
||||||
else
|
|
||||||
boxmodel = "Kronos";
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
case 13:
|
|
||||||
case 14:
|
|
||||||
boxmodel = "Kronos";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return boxmodel;
|
|
||||||
}
|
}
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// y-func : get stream info
|
// y-func : get stream info
|
||||||
|
Reference in New Issue
Block a user