Edit: Version 2 angehängt - dank an dbt: philips-rc-patch-v2.diff

Edit: Link angepasst, dank an MarcM
Letzter Edit: Der Patch wurde ins CVS eingecheckt.
JapAudioSlyer hat geschrieben:http://cvs.tuxbox-cvs.sourceforge.net/l ... 00115.html
insmod dbox2_fp_input.o philips_rc_patch=1
Es könnte meiner Meinung nach passieren, dass "Diverse Einstellungen" demnächst sogar komplett entfällt. Das mutmaße ich mal, kann mich aber auch irren.mohousch hat geschrieben:in der rcS stehen wahlweise noch andere Optionen (new, old,...); kann man nicht unter Diverse Einstellungen/Fernbedienung noch eine Unter-Menü Auswahl für die FB bringen wo man alle 4 Optionen wählen kann.?
Wie wärs damit: Habs mal boxabhängig eingebaut, so dass die Menüpunkte deaktivert werden, wenn da keine Philips dran hängt. Auch eNX hab ich da mal behandelt, also dann nur aktiviert, wenn Sagem oder Philips da ist. Ginge natürlich auch komplett ein/auszublenden. Bei Dreams ist das sowieso ausgeblendet, aber bei dBoxen hat es evtl. irgendwie mehr Sinn nur zu deaktivieren, damit man auch sieht was da eingestellt ist. Könnte ja sein, man flasht sich sein Image auf unterschiedliche Boxtypen und hat trotzdem einen Einblick was eingestellt ist.Frank0711 hat geschrieben:Anbei ein Diff gegen das CVS von gestern Abend um unter "Treiber- und Bootoptionen" den Phillips-Fernbedienungs-Workaround aktivierbar zu machen. Geht bestimmt auch schöner mit "$Vendor" Abfrage, um den Menüpunkt nur bei Philipsboxen anzuzeigen, aber für mich reicht das erstmal so.
philips-rc-patch.diff
Code: Alles auswählen
void CNeutrinoApp::InitDriverSettings(CMenuWidget &driverSettings)
{
bool item_enabled[DRIVER_SETTING_FILES_COUNT];
int boxtype = g_Controld->getBoxType();
dprintf(DEBUG_DEBUG, "init driversettings\n");
driverSettings.addItem(GenericMenuSeparator);
driverSettings.addItem(GenericMenuBack);
driverSettings.addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_DRIVERSETTINGS_DRIVER_BOOT));
#ifndef HAVE_DREAMBOX_HARDWARE
CSPTSNotifier *sptsNotifier = new CSPTSNotifier;
driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_SPTSMODE, &g_settings.misc_spts, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, sptsNotifier));
#endif
for (int i = 0; i < DRIVER_SETTING_FILES_COUNT; i++)
{
FILE * fd = fopen(driver_setting_files[i].filename, "r");
if (fd)
{
fclose(fd);
g_settings.misc_option[i] = 1;
}
else
g_settings.misc_option[i] = 0;
if ((driver_setting_files[i].filename == "/var/etc/.philips_rc_patch") && (boxtype !=2)) // Philips only
{
item_enabled[i] = false;
}
else if ((driver_setting_files[i].filename == "/var/etc/.no_enxwatchdog") && (boxtype ==1)) // not for Nokia
{
item_enabled[i] = false;
}
else
{
item_enabled[i] = true;
}
driverSettings.addItem(new CMenuOptionChooser(driver_setting_files[i].name, &(g_settings.misc_option[i]), driver_setting_files[i].options, 2, item_enabled[i], new CTouchFileNotifier(driver_setting_files[i].filename)));
}
#ifndef HAVE_DREAMBOX_HARDWARE
driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_FB_DESTINATION, &g_settings.uboot_console, DRIVERSETTINGS_FB_DESTINATION_OPTIONS, DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT, true, ConsoleDestinationChanger));
#endif
}
Edit: ist geändertNico 77 hat geschrieben:Den Patch im Menü Philips only zu machen war nicht gut, ich habe eine Sagem die hat den Bug auch und nun?![]()
Bitte wenn dann nur die Nokia ausklammern!
Welche wären das?Nico 77 hat geschrieben:ich verstehe es sowieso nicht warum wenn der Treiber-Module noch andere Parameter unterstützt und die nicht berücksichtigt worden?
driver/fp/dbox2_fp_rc.c:dbt hat geschrieben:Welche wären das?
Deswegen sag ich ja:flasher hat geschrieben:Ja
Wird dann wohl schwer dass in einen Menüpunkt zu packen.
wenn jemand die Lust und Zeit dazu hat
Code: Alles auswählen
#define DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT 3
const CMenuOptionChooser::keyval DRIVERSETTINGS_FB_DESTINATION_OPTIONS[DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT] =
{
{ 0, LOCALE_OPTIONS_NULL },
{ 1, LOCALE_OPTIONS_SERIAL },
{ 2, LOCALE_OPTIONS_FB }
};
typedef struct driver_setting_files_philips
{
const neutrino_locale_t name;
const char * const filename;
const CMenuOptionChooser::keyval * const options;
} driver_setting_files_struct_philips;
const driver_setting_files_struct_philips driver_setting_files[DRIVER_SETTING_FILES_COUNT_1] =
{
{LOCALE_DRIVERSETTINGS_PHILIPS_RC_PATCH , "/var/etc/.rc_patch" , OPTIONS_OFF0_ON1_OPTIONS }
};
typedef struct driver_setting_files_nokia
{
const neutrino_locale_t name;
const char * const filename;
const CMenuOptionChooser::keyval * const options;
} driver_setting_files_struct_nokia;
const driver_setting_files_struct_nokia driver_setting_files_2[DRIVER_SETTING_FILES_COUNT_2] =
{
{LOCALE_DRIVERSETTINGS_NOKIA_RC_OLD , "/var/etc/.oldrc" , OPTIONS_OFF0_ON1_OPTIONS },
{LOCALE_DRIVERSETTINGS_NOKIA_RC_NEW , "/var/etc/.newrc" , OPTIONS_OFF0_ON1_OPTIONS }
};
void CNeutrinoApp::InitDriverSettings(CMenuWidget &driverSettings)
{
dprintf(DEBUG_DEBUG, "init driversettings\n");
driverSettings.addItem(GenericMenuSeparator);
driverSettings.addItem(GenericMenuBack);
driverSettings.addItem(GenericMenuSeparatorLine);
driverSettings.addItem(new CMenuForwarder(LOCALE_DRIVERSETTINGS_ENXGTX , true, NULL, new AVIA_ConfWidget, NULL, CRCInput::RC_nokey));
driverSettings.addItem(GenericMenuSeparatorLine);
for (int i = 0; i < DRIVER_SETTING_FILES_COUNT_1; i++)
{
FILE * fd = fopen(driver_setting_files[i].filename, "r");
if (fd)
{
fclose(fd);
g_settings.driver_option_1[i] = 1;
}
else
g_settings.driver_option_1[i] = 0;
if ((g_info.box_Type == CControld::TUXBOX_MAKER_PHILIPS) || (g_info.box_Type == CControld::TUXBOX_MAKER_SAGEM))
driverSettings.addItem(new CMenuOptionChooser(driver_setting_files[i].name, &(g_settings.driver_option_1[i]), driver_setting_files[i].options, 2, true, new CTouchFileNotifier(driver_setting_files[i].filename)));
}
for (int i = 0; i < DRIVER_SETTING_FILES_COUNT_2; i++)
{
FILE * fd = fopen(driver_setting_files_2[i].filename, "r");
if (fd)
{
fclose(fd);
g_settings.driver_option_2[i] = 1;
}
else
g_settings.driver_option_2[i] = 0;
if (g_info.box_Type == CControld::TUXBOX_MAKER_NOKIA)
driverSettings.addItem(new CMenuOptionChooser(driver_setting_files_2[i].name, &(g_settings.driver_option_2[i]), driver_setting_files_2[i].options, 2, true, new CTouchFileNotifier(driver_setting_files_2[i].filename)));
}
driverSettings.addItem(GenericMenuSeparatorLine);
CSPTSNotifier *sptsNotifier = new CSPTSNotifier;
driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_SPTSMODE, &g_settings.misc_spts, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, sptsNotifier));
driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_FB_DESTINATION, &g_settings.uboot_console, DRIVERSETTINGS_FB_DESTINATION_OPTIONS, DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT, true, ConsoleDestinationChanger));
}