diff --git a/lib/hardware/coolstream/Makefile.am b/lib/hardware/coolstream/Makefile.am index b2a96b31e..82f3ab83c 100644 --- a/lib/hardware/coolstream/Makefile.am +++ b/lib/hardware/coolstream/Makefile.am @@ -1,6 +1,13 @@ AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing AM_CPPFLAGS = \ + -I$(top_builddir) \ + -I$(top_srcdir) \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/zapit/include \ + -I$(top_srcdir)/lib \ + -I$(top_srcdir)/lib/libconfigfile \ + -I$(top_srcdir)/lib/libeventserver \ @HWLIB_CFLAGS@ noinst_LIBRARIES = libhwcaps.a diff --git a/lib/hardware/coolstream/hardware_caps.cpp b/lib/hardware/coolstream/hardware_caps.cpp index 592202285..b4d4c0a46 100644 --- a/lib/hardware/coolstream/hardware_caps.cpp +++ b/lib/hardware/coolstream/hardware_caps.cpp @@ -11,6 +11,8 @@ #include #include "hardware_caps.h" +#include + static int initialized = 0; static hw_caps_t caps; @@ -19,7 +21,7 @@ hw_caps_t *get_hwcaps(void) { return ∩︀ int rev = cs_get_revision(); int chip = cs_get_chip_type(); - caps.has_fan = (rev < 8); + caps.has_fan = (rev < 8 && CFEManager::getInstance()->getFE(0)->hasSat()); // only SAT-HD1 before rev 8 has fan caps.has_HDMI = 1; caps.has_SCART = (rev != 10); caps.has_SCART_input = 0; @@ -34,15 +36,23 @@ hw_caps_t *get_hwcaps(void) { caps.can_ps_14_9 = 1; caps.force_tuner_2G = 0; strcpy(caps.boxvendor, "Coolstream"); - strcpy(caps.boxarch, "Nevis"); switch (rev) { case 6: case 7: // Black Stallion Edition strcpy(caps.boxname, "HD1"); + strcpy(caps.boxarch, "Nevis"); caps.force_tuner_2G = 1; break; - case 8: // TODO: Neo2 - Twin - strcpy(caps.boxname, "Neo"); + case 8: + if (CFEManager::getInstance()->getFrontendCount() < 2) + { + strcpy(caps.boxname, "Neo"); + } + else + { + strcpy(caps.boxname, "Neo Twin"); + } + strcpy(caps.boxarch, "Nevis"); caps.force_tuner_2G = 1; break; case 9: @@ -51,6 +61,7 @@ hw_caps_t *get_hwcaps(void) { break; case 10: strcpy(caps.boxname, "Zee"); + strcpy(caps.boxarch, "Nevis"); caps.force_tuner_2G = 1; break; case 11: diff --git a/src/driver/lcdd.cpp b/src/driver/lcdd.cpp index 51e2bebae..85af71262 100644 --- a/src/driver/lcdd.cpp +++ b/src/driver/lcdd.cpp @@ -358,6 +358,7 @@ void CLCD::setlcdparameter(int dimm, const int contrast, const int power, const perror("[lcdd] set invert failed!"); } +#if 0 if (g_info.box_Type == CControld::TUXBOX_MAKER_PHILIPS) { if (ioctl(fd, LCD_IOCTL_BIAS, &bias) < 0) @@ -365,6 +366,7 @@ void CLCD::setlcdparameter(int dimm, const int contrast, const int power, const perror("[lcdd] set bias failed!"); } } +#endif close(fd); } #endif diff --git a/src/gui/miscsettings_menu.cpp b/src/gui/miscsettings_menu.cpp index a2f3bba9b..14a4384d8 100644 --- a/src/gui/miscsettings_menu.cpp +++ b/src/gui/miscsettings_menu.cpp @@ -333,7 +333,7 @@ void CMiscMenue::showMiscSettingsMenuGeneral(CMenuWidget *ms_general) ms_general->addItem(mc); //fan speed - if (g_info.has_fan) + if (g_info.hw_caps->has_fan) { CMenuOptionNumberChooser * mn = new CMenuOptionNumberChooser(LOCALE_FAN_SPEED, &g_settings.fan_speed, true, 1, 14, fanNotifier, CRCInput::RC_nokey, NULL, 0, 0, LOCALE_OPTIONS_OFF); mn->setHint("", LOCALE_MENU_HINT_FAN_SPEED); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 59060f501..7408e425e 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2421,13 +2421,9 @@ TIMER_START(); cpuFreq = new cCpuFreqManager(); cpuFreq->SetCpuFreq(g_settings.cpufreq * 1000 * 1000); -#if HAVE_COOL_HARDWARE - /* only SAT-hd1 before rev 8 has fan */ - g_info.has_fan = (cs_get_revision() < 8 && CFEManager::getInstance()->getFE(0)->hasSat()); -#endif - dprintf(DEBUG_NORMAL, "g_info.has_fan: %d\n", g_info.has_fan); + //fan speed - if (g_info.has_fan) + if (g_info.hw_caps->has_fan) CFanControlNotifier::setSpeed(g_settings.fan_speed); dvbsub_init(); @@ -4093,7 +4089,7 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode) g_RCInput = NULL; //NI my_system("/etc/init.d/rcK"); //fan speed - if (g_info.has_fan) { + if (g_info.hw_caps->has_fan) { CFanControlNotifier::setSpeed(0); } //CVFD::getInstance()->ShowText(g_Locale->getText(LOCALE_MAINMENU_REBOOT)); @@ -4335,7 +4331,7 @@ void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby ) cpuFreq->SetCpuFreq(g_settings.standby_cpufreq * 1000 * 1000); //fan speed - if (g_info.has_fan) + if (g_info.hw_caps->has_fan) CFanControlNotifier::setSpeed(1); frameBuffer->setActive(false); @@ -4368,7 +4364,7 @@ void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby ) } frameBuffer->setActive(true); //fan speed - if (g_info.has_fan) + if (g_info.hw_caps->has_fan) CFanControlNotifier::setSpeed(g_settings.fan_speed); puts("[neutrino.cpp] executing " NEUTRINO_LEAVE_STANDBY_SCRIPT "."); diff --git a/src/nhttpd/tuxboxapi/controlapi.cpp b/src/nhttpd/tuxboxapi/controlapi.cpp index 4c77edfbf..59ba4a649 100644 --- a/src/nhttpd/tuxboxapi/controlapi.cpp +++ b/src/nhttpd/tuxboxapi/controlapi.cpp @@ -823,7 +823,15 @@ void CControlAPI::HWInfoCGI(CyhookHandler *hh) std::string eth_id = netadapter.getMacAddr(); std::transform(eth_id.begin(), eth_id.end(), eth_id.begin(), ::tolower); - 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()); + std::string boxvendor(g_info.hw_caps->boxvendor); + /* + I don't know the current legal situation. + So better let's change the vendor's name to CST. + */ + if (boxvendor.compare("Coolstream") == 0) + boxvendor = "CST"; + + hh->printf("%s %s (%s)\nMAC:%s\n", boxvendor.c_str(), g_info.hw_caps->boxname, g_info.hw_caps->boxarch, eth_id.c_str()); } //----------------------------------------------------------------------------- void CControlAPI::ShutdownCGI(CyhookHandler *hh) diff --git a/src/nhttpd/tuxboxapi/neutrinoyparser.cpp b/src/nhttpd/tuxboxapi/neutrinoyparser.cpp index 29336d76e..729c31280 100644 --- a/src/nhttpd/tuxboxapi/neutrinoyparser.cpp +++ b/src/nhttpd/tuxboxapi/neutrinoyparser.cpp @@ -851,14 +851,16 @@ std::string CNeutrinoYParser::func_get_partition_list(CyhookHandler *, std::str std::string CNeutrinoYParser::func_get_boxtype(CyhookHandler *, std::string) { std::string boxvendor(g_info.hw_caps->boxvendor); - /* stay compatible with present code in Y_Blocks.txt */ + /* + I don't know the current legal situation. + So better let's change the vendor's name to CST. + + After change this, you'll have to align code in Y_Blocks.txt + */ if (boxvendor.compare("Coolstream") == 0) boxvendor = "CST"; std::string boxname(g_info.hw_caps->boxname); - /* workaround for Neo2 */ - if ((boxname.compare("Neo") == 0) && (CFEManager::getInstance()->getFrontendCount() > 1)) - boxname += " Twin"; return boxvendor + " " + boxname; } diff --git a/src/system/settings.h b/src/system/settings.h index af9777965..f51e4b82c 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -1001,8 +1001,6 @@ const time_settings_struct_t timing_setting[SNeutrinoSettings::TIMING_SETTING_CO struct SglobalInfo { - unsigned char box_Type; - bool has_fan; hw_caps_t *hw_caps; };