diff --git a/data/cables.xml b/data/cables.xml
index 777088793..2a3ed0c75 100644
--- a/data/cables.xml
+++ b/data/cables.xml
@@ -1343,6 +1343,7 @@
+
diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale
index f1bb962c6..72b73dd4b 100644
--- a/data/locale/deutsch.locale
+++ b/data/locale/deutsch.locale
@@ -487,9 +487,11 @@ flashupdate.squashfs.noversion Bei Updates werden Versionsüberprüfungen derzei
flashupdate.titlereadflash Flash auslesen
flashupdate.titlewriteflash Flash schreiben
flashupdate.update_with_settings_del_skipped Ordner [%s] kann nicht gelöscht werden. Eintrag wird übersprungen.
+flashupdate.update_with_settings_error Error Flashspeicher!\n \nIm neuen Image sind nur noch %ld KB (von %ld KB) frei,\ndas ist zu wenig, um einen sicheren Betrieb zu gewährleisten.\n \nDer Vorgang wird abgebrochen!
flashupdate.update_with_settings_processed Image wird bearbeitet...
flashupdate.update_with_settings_skipped Ordner [%s] kann nicht gesichert werden. Eintrag wird übersprungen.
flashupdate.update_with_settings_successfully Settingsübernahme erfolgreich.\nDas Image kann jetzt geflasht werden.
+flashupdate.update_with_settings_warning Warnung Flashspeicher!\n \nIm neuen Image sind nur noch %ld KB (von %ld KB) frei,\ndas ist möglicherweise zu wenig, um einen sicheren Betrieb zu gewährleisten.\n \nSoll der Vorgang trotzdem fortgesetzt werden?
flashupdate.updatemode Updatemodus
flashupdate.updatemode_internet Internet
flashupdate.updatemode_manual von lokalem Update-Verzeichnis
@@ -911,7 +913,7 @@ menu.hint_osd_preset Hier können Sie zwischen Röhren-TV (CRT) oder Flachbildsc
menu.hint_parentallock_changepin Hier wird der 4 stellige PIN Code eingegeben,\nder dann ggf. abgefragt wird
menu.hint_parentallock_lockage Hier wird festgelegt, bei welcher Altersklasse\ndie PIN Abfrage kommt
menu.hint_parentallock_prompt Hier wird definiert, wann eine PIN Eingabe erfolgen soll
-menu.hint_personalize aktivieren, deaktivieren, schützen von Menüpunkten\nkonfigurieren der Farb-Tasten in den Benutzermenüs
+menu.hint_personalize Personalisieren Sie ihre Menüs, konfigurieren Sie die Farb-Tasten in den Benutzermenüs
menu.hint_pictureviewer_defdir Hier wählen Sie das Startverzeichnis für den Bildbetrachter
menu.hint_pictureviewer_scaling Hier kann die Bildauflösung eingestellt werden
menu.hint_pictureviewer_slide_time Hier kann der Slideshow-Intervall geändert werden,\nStandardmässig ist ein Intervall von 10 Sekunden eingstellt
@@ -1437,21 +1439,18 @@ personalize.visible sichtbar
pictureviewer.defdir Start-Verz.
pictureviewer.head Bildbetrachter
pictureviewer.help1 Menü-Modus
-pictureviewer.help10 Anzeige-Modus
-pictureviewer.help11 Bild neu einlesen
-pictureviewer.help12 vorheriges Bild
-pictureviewer.help13 nächstes Bild
-pictureviewer.help14 Zoom out
-pictureviewer.help15 Zoom in
-pictureviewer.help16 Scroll hoch
-pictureviewer.help17 Scroll links
-pictureviewer.help18 Scroll rechts
-pictureviewer.help19 Scroll herunter
+pictureviewer.help10 Bild neu einlesen
+pictureviewer.help11 vorheriges Bild
+pictureviewer.help12 nächstes Bild
+pictureviewer.help13 Zoom out
+pictureviewer.help14 Zoom in
+pictureviewer.help15 Scroll hoch
+pictureviewer.help16 Scroll links
+pictureviewer.help17 Scroll rechts
+pictureviewer.help18 Scroll herunter
+pictureviewer.help19 Bild unskaliert einlesen
pictureviewer.help2 Bild anzeigen
-pictureviewer.help20 Sortierung andern
-pictureviewer.help21 Bild unskaliert einlesen
-pictureviewer.help22 Modus verlassen
-pictureviewer.help3 Sortierung andern
+pictureviewer.help3 Sortierung ändern
pictureviewer.help30 Audioplayer-Modus
pictureviewer.help31 Startet die Wiedergabe
pictureviewer.help32 Pausiert die Wiedergabe
@@ -1462,8 +1461,8 @@ pictureviewer.help4 Bild unskaliert einlesen
pictureviewer.help5 Diashow-Modus
pictureviewer.help6 vorheriges Bild
pictureviewer.help7 nächstes Bild
-pictureviewer.help8 Sortierung ändern
-pictureviewer.help9 Modus verlassen
+pictureviewer.help8 Modus verlassen
+pictureviewer.help9 Anzeige-Modus
pictureviewer.resize.color_average aufwendig
pictureviewer.resize.none keine
pictureviewer.resize.simple einfach
@@ -1569,6 +1568,8 @@ satsetup.satellite Satellit
satsetup.select_sat Auswahl Satellit
satsetup.smatvremote SMATV Remote Tuning
satsetup.uncomm_input Uncommitted
+satsetup.uni_settings Unicable Einstellungen
+satsetup.unicable Unicable
satsetup.usals_repeat USALS wiederholen
satsetup.use_bat Benutze BAT
satsetup.use_fta_flag nur FTA Kanäle
@@ -1759,6 +1760,9 @@ timing.infobar_movieplayer Infobar (Filmwiedergabe)
timing.infobar_radio Infobar (Radiobetrieb)
timing.menu Menü
timing.numericzap Umschalten mit Zifferntasten
+unicable.lnb Unicable Eingang
+unicable.qrg Unicable Frequenz
+unicable.scr Unicable SCR
upnpbrowser.head UPnP Browser
upnpbrowser.noservers Kein UPnP-Server gefunden
upnpbrowser.rescan Neue Suche
diff --git a/data/locale/english.locale b/data/locale/english.locale
index 61d741f00..56a54d1f3 100644
--- a/data/locale/english.locale
+++ b/data/locale/english.locale
@@ -487,9 +487,11 @@ flashupdate.squashfs.noversion SquashFS version checks are currently only suppor
flashupdate.titlereadflash Reading Flash
flashupdate.titlewriteflash Writing Flash
flashupdate.update_with_settings_del_skipped Folder [%s] can not be deleted. Entry is skipped.
+flashupdate.update_with_settings_error Flash Error!\n \nNew Image only has %ld KB (out of %ld KB) left. Not\nenough space to complete this operation.\n \nCanceling operation!
flashupdate.update_with_settings_processed Image is being processed...
flashupdate.update_with_settings_skipped Folder [%s] can not be saved. Entry is skipped.
flashupdate.update_with_settings_successfully Setting takeover successfully.\nThe image can now be flashed.
+flashupdate.update_with_settings_warning Flash Warning!\n \nNew Image only has %ld KB (out of %ld KB) left. Probably not\nenough space to complete this operation...\n \nDo you really want to proceed?
flashupdate.updatemode Updatemode
flashupdate.updatemode_internet internet
flashupdate.updatemode_manual from local update directory
@@ -1437,20 +1439,17 @@ personalize.visible Visible
pictureviewer.defdir start dir.
pictureviewer.head Picture viewer
pictureviewer.help1 menu mode
-pictureviewer.help10 show mode
-pictureviewer.help11 reread image
-pictureviewer.help12 previous image
-pictureviewer.help13 next image
-pictureviewer.help14 Zoom out
-pictureviewer.help15 Zoom in
-pictureviewer.help16 scroll up
-pictureviewer.help17 scroll left
-pictureviewer.help18 scroll right
-pictureviewer.help19 scroll down
+pictureviewer.help10 reread image
+pictureviewer.help11 previous image
+pictureviewer.help12 next image
+pictureviewer.help13 Zoom out
+pictureviewer.help14 Zoom in
+pictureviewer.help15 scroll up
+pictureviewer.help16 scroll left
+pictureviewer.help17 scroll right
+pictureviewer.help18 scroll down
+pictureviewer.help19 reread image (no scaling)
pictureviewer.help2 display image
-pictureviewer.help20 change sort order
-pictureviewer.help21 reread image (no scaling)
-pictureviewer.help22 exit
pictureviewer.help3 change sort order
pictureviewer.help30 audioplayer mode
pictureviewer.help31 starts the playback
@@ -1462,8 +1461,8 @@ pictureviewer.help4 do not scale picture
pictureviewer.help5 diashow mode
pictureviewer.help6 previous image
pictureviewer.help7 next image
-pictureviewer.help8 change sort order
-pictureviewer.help9 exit
+pictureviewer.help8 exit
+pictureviewer.help9 show mode
pictureviewer.resize.color_average advanced
pictureviewer.resize.none none
pictureviewer.resize.simple simple
@@ -1570,6 +1569,8 @@ satsetup.satellite Satellite
satsetup.select_sat Select satellites
satsetup.smatvremote SMATV Remote Tuning
satsetup.uncomm_input Uncommited input
+satsetup.uni_settings Unicable Settings
+satsetup.unicable Unicable
satsetup.usals_repeat USALS command repeat
satsetup.use_bat Use BAT
satsetup.use_fta_flag just free Channels
@@ -1760,6 +1761,9 @@ timing.infobar_movieplayer Infobar (movie mode)
timing.infobar_radio Infobar (radio mode)
timing.menu Menu
timing.numericzap Numeric Zap
+unicable.lnb Unicable Input
+unicable.qrg Unicable Frequency
+unicable.scr Unicable SCR
upnpbrowser.head UPnP Browser
upnpbrowser.noservers No UPnP servers found
upnpbrowser.rescan Scan again
diff --git a/data/satellites.xml b/data/satellites.xml
index 739e4d754..3c9add451 100755
--- a/data/satellites.xml
+++ b/data/satellites.xml
@@ -1624,7 +1624,7 @@
-
+
diff --git a/data/settingsupdate.conf b/data/settingsupdate.conf
index 45eafcac9..5234dc041 100644
--- a/data/settingsupdate.conf
+++ b/data/settingsupdate.conf
@@ -21,7 +21,17 @@
## Die Verzeichnisse "/", "/dev", "/proc", "/sys", "/mnt", "/tmp" können nicht gesichert werden!!
#------------------------------------------------------------------------------------------------
+#---------------------------------------------------------------------------
+## vor der Sicherung aus dem neuen Image zu löschende Dateien/Verzeichnisse,
+## gekennzeichnet durch ein vorangestelltes ~
+# z.B.
+# ~/share/tuxbox/neutrino/themes/Classic.theme
+#---------------------------------------------------------------------------
+
+
+#-------------
## Sicherungen
+#-------------
/etc/hostname
/etc/hosts
/etc/network
@@ -30,6 +40,7 @@
/var/etc
/var/tuxbox/config
+
#----------------------------------------------------------------------------------------
## von der Sicherung auszuschließende Dateien, gekennzeichnet durch ein vorangestelltes -
#----------------------------------------------------------------------------------------
@@ -41,10 +52,3 @@
-/var/tuxbox/config/satellites.xml
-/var/tuxbox/config/settingsupdate.conf
-/var/tuxbox/config/tobackup.conf
-
-#----------------------------------------------------------------------------
-## nach der Sicherung aus dem neuen Image zu löschende Dateien/Verzeichnisse,
-## gekennzeichnet durch ein vorangestelltes ~
-# z.B.
-# ~/share/tuxbox/neutrino/themes/Classic.theme
-#----------------------------------------------------------------------------
diff --git a/lib/libcoolstream/control.h b/lib/libcoolstream/control.h
new file mode 100644
index 000000000..cc41c6c72
--- /dev/null
+++ b/lib/libcoolstream/control.h
@@ -0,0 +1,67 @@
+/********************************************************************
+* Description: Control driver for PWM and Scart
+* Author: CoolStream Dev. Team
+* Created at: Fri Jun 26 08:11:43 CEST 2009
+*
+* Copyright (c) 2009 CoolStream International Ltd. All rights reserved.
+*
+********************************************************************/
+
+#ifndef __CONTROL_H
+#define __CONTROL_H
+
+#ifndef __KERNEL__
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+#include
+
+#else
+#include
+#include
+#endif
+
+#include "tsrouter.h"
+
+typedef struct _scart_status {
+ bool widescreen;
+ bool function;
+ bool fastblank;
+} scart_status_t;
+
+typedef struct _pwm_status {
+ u16 pwm_pulse_first;
+ u16 pwm_pulse_second;
+ u32 pwm_clock;
+} pwm_status_t;
+
+typedef struct cs_control_data {
+ scart_status_t scart_status;
+ pwm_status_t pwm_status;
+ bool hdd_power;
+ u32 readers;
+ u32 sys_serial_high, sys_serial_low;
+ u32 sys_revision;
+} cs_control_data_t;
+
+/* ioctls */
+#define CS_CONTROL_MAGIC 0xDE
+#define IOC_CONTROL_WIDESCREEN _IOW(CS_CONTROL_MAGIC, 20, unsigned int)
+#define IOC_CONTROL_TVAV _IOW(CS_CONTROL_MAGIC, 21, unsigned int)
+#define IOC_CONTROL_RGB _IOW(CS_CONTROL_MAGIC, 22, unsigned int)
+#define IOC_CONTROL_SCART_STATUS _IOR(CS_CONTROL_MAGIC, 23, scart_status_t *)
+#define IOC_CONTROL_PWM_SPEED _IOW(CS_CONTROL_MAGIC, 24, unsigned int)
+#define IOC_CONTROL_HDDPOWER _IOW(CS_CONTROL_MAGIC, 25, unsigned int)
+
+/* ioctl for getting board serial and revision */
+#define IOC_CONTROL_BOARD_SERIAL_LOW _IOR(CS_CONTROL_MAGIC, 26, unsigned int *)
+#define IOC_CONTROL_BOARD_SERIAL_HIGH _IOR(CS_CONTROL_MAGIC, 27, unsigned int *)
+#define IOC_CONTROL_BOARD_REV _IOR(CS_CONTROL_MAGIC, 28, unsigned int *)
+
+/* ioctl for setting TS routing */
+#define IOC_CONTROL_TSROUTE_GET_HSDP_CONFIG _IOR(CS_CONTROL_MAGIC, 29, tsrouter_hsdp_config_t *)
+#define IOC_CONTROL_TSROUTE_SET_HSDP_CONFIG _IOW(CS_CONTROL_MAGIC, 30, tsrouter_tsp_config_t *)
+#define IOC_CONTROL_TSROUTE_GET_TSP_CONFIG _IOR(CS_CONTROL_MAGIC, 31, tsrouter_hsdp_config_t *)
+#define IOC_CONTROL_TSROUTE_SET_TSP_CONFIG _IOW(CS_CONTROL_MAGIC, 32, tsrouter_tsp_config_t *)
+
+#endif /* __CONTROL_H */
diff --git a/lib/libcoolstream/cs_api.h b/lib/libcoolstream/cs_api.h
index dbf585dc8..01ba53ceb 100644
--- a/lib/libcoolstream/cs_api.h
+++ b/lib/libcoolstream/cs_api.h
@@ -12,6 +12,8 @@
#include
#include
+#include
+#include
typedef void (*cs_messenger) (unsigned int msg, unsigned int data);
@@ -63,6 +65,8 @@ int cs_set_ts_ci_clock(unsigned int speed);
int cs_get_ts_ci_clock(unsigned int *speed);
int cs_set_ts_config(unsigned int port, tsrouter_hsdp_config_t *hsdp_config);
int cs_get_ts_config(unsigned int port, tsrouter_hsdp_config_t *hsdp_config);
+int cs_set_tsp_config(unsigned int port, tsrouter_tsp_config_t *tsp_config);
+int cs_get_tsp_config(unsigned int port, tsrouter_tsp_config_t *tsp_config);
// Serial nr and revision accessors
unsigned long long cs_get_serial(void);
diff --git a/lib/libcoolstream/cs_vfd.h b/lib/libcoolstream/cs_vfd.h
new file mode 100755
index 000000000..13b4b933d
--- /dev/null
+++ b/lib/libcoolstream/cs_vfd.h
@@ -0,0 +1,102 @@
+/*
+ * Driver for the Samsung HCR-13SS22 VF-Display connected to the Conexant
+ * CX2450x (Nevis) SoC via Coolstream VFD-Controller - public definititons.
+ *
+ * Copyright (C) 2008 Coolstream International Limited
+ */
+
+#ifndef __CS_VFD__
+#define __CS_VFD__
+
+typedef enum
+{
+ VFD_ICON_BAR8 = 0x00000004,
+ VFD_ICON_BAR7 = 0x00000008,
+ VFD_ICON_BAR6 = 0x00000010,
+ VFD_ICON_BAR5 = 0x00000020,
+ VFD_ICON_BAR4 = 0x00000040,
+ VFD_ICON_BAR3 = 0x00000080,
+ VFD_ICON_BAR2 = 0x00000100,
+ VFD_ICON_BAR1 = 0x00000200,
+ VFD_ICON_FRAME = 0x00000400,
+ VFD_ICON_HDD = 0x00000800,
+ VFD_ICON_MUTE = 0x00001000,
+ VFD_ICON_DOLBY = 0x00002000,
+ VFD_ICON_POWER = 0x00004000,
+ VFD_ICON_TIMESHIFT = 0x00008000,
+ VFD_ICON_SIGNAL = 0x00010000,
+ VFD_ICON_TV = 0x00020000,
+ VFD_ICON_RADIO = 0x00040000,
+ VFD_ICON_HD = 0x01000001,
+ VFD_ICON_1080P = 0x02000001,
+ VFD_ICON_1080I = 0x03000001,
+ VFD_ICON_720P = 0x04000001,
+ VFD_ICON_480P = 0x05000001,
+ VFD_ICON_480I = 0x06000001,
+ VFD_ICON_USB = 0x07000001,
+ VFD_ICON_MP3 = 0x08000001,
+ VFD_ICON_PLAY = 0x09000001,
+ VFD_ICON_COL1 = 0x09000002,
+ VFD_ICON_PAUSE = 0x0A000001,
+ VFD_ICON_CAM1 = 0x0B000001,
+ VFD_ICON_COL2 = 0x0B000002,
+ VFD_ICON_CAM2 = 0x0C000001
+} vfd_icon;
+
+typedef enum
+{
+ VFD_FLAG_NONE = 0x00,
+ VFD_FLAG_SCROLL_ON = 0x01, /* switch scrolling on */
+ VFD_FLAG_SCROLL_LTR = 0x02, /* scroll from left to rightinstead of default right to left direction (i.e. for arabic text) */
+ VFD_FLAG_SCROLL_SIO = 0x04, /* start/stop scrolling with empty screen (scroll in/out) */
+ VFD_FLAG_SCROLL_DELAY = 0x08, /* delayed scroll start */
+ VFD_FLAG_ALIGN_LEFT = 0x10, /* align the text in display from the left (default) */
+ VFD_FLAG_ALIGN_RIGHT = 0x20, /* align the text in display from the right (arabic) */
+ VFD_FLAG_UPDATE_SCROLL_POS = 0x40, /* update the current position for scrolling */
+} vfd_flag;
+
+typedef struct {
+ unsigned char brightness;
+ unsigned char flags;
+ unsigned char current_hour;
+ unsigned char current_minute;
+ unsigned char timer_minutes_hi;
+ unsigned char timer_minutes_lo;
+} standby_data_t;
+
+typedef enum {
+ VFD_LED_1_ON = 0x81,
+ VFD_LED_2_ON = 0x82,
+ VFD_LED_3_ON = 0x83,
+ VFD_LED_1_OFF = 0x01,
+ VFD_LED_2_OFF = 0x02,
+ VFD_LED_3_OFF = 0x03,
+} vfd_led_ctrl_t;
+
+typedef struct {
+ unsigned char source;
+ unsigned char time_minutes_hi;
+ unsigned char time_minutes_lo;
+} wakeup_data_t;
+
+typedef enum
+{
+ WAKEUP_SOURCE_TIMER = 0x01,
+ WAKEUP_SOURCE_BUTTON = 0x02,
+ WAKEUP_SOURCE_REMOTE = 0x04,
+ WAKEUP_SOURCE_PWLOST = 0x7F,
+ WAKEUP_SOURCE_POWER = 0xFF
+} wakeup_source;
+
+#define IOC_VFD_SET_BRIGHT _IOW(0xDE, 1, unsigned char) /* set the display brighness in 16 steps between 0 to 15 */
+#define IOC_VFD_CLEAR_ALL _IOW(0xDE, 2, unsigned int) /* clear the entire display (both text and icons) */
+#define IOC_VFD_SET_TEXT _IOW(0xDE, 3, char*) /* set a text to be displayed on the display. If arg == NULL, the text is cleared */
+#define IOC_VFD_SET_ICON _IOW(0xDE, 4, vfd_icon) /* switch the given icon on */
+#define IOC_VFD_CLEAR_ICON _IOW(0xDE, 5, vfd_icon) /* switch the given icon off */
+#define IOC_VFD_SET_OUTPUT _IOW(0xDE, 6, unsigned char) /* switch the given output on (supported by the controller, but not used in the hardware) */
+#define IOC_VFD_CLEAR_OUTPUT _IOW(0xDE, 7, unsigned char) /* switch the given output off (supported by the controller, but not used in the hardware) */
+#define IOC_VFD_STANDBY _IOW(0xDE, 8, standby_data_t *)/* switch the vfd/psu in standby (NEO and above only) */
+#define IOC_VFD_LED_CTRL _IOW(0xDE, 9, unsigned char) /* control the Frontpanles LED's (NEO and above only) */
+#define IOC_VFD_GET_WAKEUP _IOW(0xDE, 10,wakeup_data_t *) /* get wakeup data (NEO and above only) */
+
+#endif /* __CS_VFD__ */
diff --git a/lib/libcoolstream/nevis_ir.h b/lib/libcoolstream/nevis_ir.h
new file mode 100644
index 000000000..0774a150c
--- /dev/null
+++ b/lib/libcoolstream/nevis_ir.h
@@ -0,0 +1,84 @@
+/*
+ * public definitions for the CX2450x Infrared receiver driver
+ *
+ * Copyright (C) 2008-2011 Coolstream International Limited
+ *
+ */
+
+#ifndef __NEVIS_IR_H__
+#define __NEVIS_IR_H__
+
+typedef enum
+{
+ IR_PROTOCOL_UNKNOWN = 0x00000,
+ IR_PROTOCOL_RMAP = 0x00001, /* Ruwido rMAP */
+ IR_PROTOCOL_RMAP_E = 0x00002, /* Ruwido rMAP with extension for MNC Ltd sp. z o.o. */
+ IR_PROTOCOL_NRC17 = 0x00004, /* Nokia NRC17 */
+ IR_PROTOCOL_JVC = 0x00008, /* JVC */
+ IR_PROTOCOL_RCA = 0x00010, /* RCA */
+ IR_PROTOCOL_PSD = 0x00020, /* Precision Squared (not yet supported) */
+ IR_PROTOCOL_RC5 = 0x00040, /* Philips RC5 */
+ IR_PROTOCOL_RCMM = 0x00080, /* Philips RCMM */
+ IR_PROTOCOL_RECS80 = 0x00100, /* Philips RECS80 */
+ IR_PROTOCOL_NEC = 0x00200, /* NEC */
+ IR_PROTOCOL_NECE = 0x00400, /* NEC with 16 bit address capability */
+ IR_PROTOCOL_SCA = 0x00800, /* Scientific Atlanta */
+ IR_PROTOCOL_MATSUSHITA = 0x01000, /* Matsushita (Technics/Panasonics) */
+ IR_PROTOCOL_SONY = 0x02000, /* Sony SIRC 12 bit */
+ IR_PROTOCOL_SONY15 = 0x04000, /* Sony SIRC 15 bit */
+ IR_PROTOCOL_SONY20 = 0x08000, /* Sony SIRC 20 bit */
+ IR_PROTOCOL_SONY24 = 0x10000, /* Sony SIRC 24 bit */
+ IR_PROTOCOL_ALL = 0x1FFFF
+} ir_protocol_t;
+
+typedef enum
+{
+ FP_MODE_KEYS_DISABLED = 0,
+ FP_MODE_KEYS_ENABLED = 1
+} fp_mode_t;
+
+#define EVENT_KEY_UP 0
+#define EVENT_KEY_DOWN 1
+#define NEVIS_IR_DEVICE_NAME "IR_NEVIS"
+
+/*******************************************************************************/
+/* DEBUG options */
+/*******************************************************************************/
+
+#define DBG_NONE 0x00000000 /* no debug at all */
+
+#define DBG_IR_SYSTEM 0x00000001 /* IR: low level informations */
+#define DBG_IR_DECODE 0x00000002 /* IR: informations from the IR protocol decoder */
+#define DBG_OUTPUT_QUEUE 0x00000004 /* IR: show data from the outgoing queue (from driver to the client(s) ) */
+#define DBG_IR_FOPS 0x00000008 /* IR: informations about filoe operations (ioctl's) */
+
+#define DBG_VFD_SYSTEM 0x00010000 /* VFD: low level informations */
+#define DBG_VFD_FOPS 0x00080000 /* VFD: informations about filoe operations (ioctl's) */
+
+/*******************************************************************************/
+/* ioctl's */
+/*******************************************************************************/
+
+/* set the IR-protocols to listen for. */
+#define IOC_IR_SET_PRI_PROTOCOL _IOW(0xDD, 1, ir_protocol_t) /* set the primary IR-protocol */
+#define IOC_IR_SET_SEC_PROTOCOL _IOW(0xDD, 2, ir_protocol_t) /* set the secondary IR-protocol */
+
+/* some IR-protocols can handle different device addresses. */
+#define IOC_IR_SET_PRI_ADDRESS _IOW(0xDD, 3, unsigned int) /* set the primary IR-address */
+#define IOC_IR_SET_SEC_ADDRESS _IOW(0xDD, 4, unsigned int) /* set the secondary IR-address */
+
+/* defines the delay time between two pulses in milliseconds */
+#define IOC_IR_SET_F_DELAY _IOW(0xDD, 5, unsigned int) /* set the delay time before the first repetition */
+#define IOC_IR_SET_X_DELAY _IOW(0xDD, 6, unsigned int) /* set the delay time between all other repetitions */
+
+/* load key mappings to translate from raw IR to Linux Input */
+#define IOC_IR_SET_PRI_KEYMAP _IOW(0xDD, 7, unsigned short *) /* set the primary keymap [num entries],[entry 1],[entry 2],...,[entry n] (max 0xFFFF entries) */
+#define IOC_IR_SET_SEC_KEYMAP _IOW(0xDD, 8, unsigned short *) /* set the secondary keymap [num entries],[entry 1],[entry 2],...,[entry n] (max 0xFFFF entries) */
+
+/* frontpanel button options */
+#define IOC_IR_SET_FP_MODE _IOW(0xDD, 9, fp_mode_t) /* enable/disable frontpanel buttons */
+
+/* informative stuff */
+#define IOC_IR_GET_PROTOCOLS _IOR(0xDD, 10, ir_protocol_t) /* reports a bitmask of all supported ir_protocols */
+
+#endif /* __NEVIS_IR_H__ */
diff --git a/lib/libcoolstream/tsrouter.h b/lib/libcoolstream/tsrouter.h
new file mode 100644
index 000000000..672d6721d
--- /dev/null
+++ b/lib/libcoolstream/tsrouter.h
@@ -0,0 +1,32 @@
+#ifndef __TSROUTER_H
+#define __TSROUTER_H
+
+typedef struct _tsrouter_hsdp_config {
+ u8 port;
+ u32 port_ctrl;
+ u32 pkt_ctrl;
+ u32 clk_ctrl;
+ u32 mux;
+ u32 int_en;
+ /* more ? */
+} tsrouter_hsdp_config_t;
+
+typedef struct _tsrouter_tsp_config {
+ u8 port;
+ u32 port_ctrl;
+ u32 mux;
+} tsrouter_tsp_config_t;
+
+extern int cs_tsrouter_init(void);
+extern void cs_tsrouter_exit(void);
+
+extern void cs_tsx_hsdp_init_port(u32 port, u32 ctrl);
+extern void cs_tsx_tsp_init_port(u32 port, u32 hsdp_port);
+
+extern void cs_tsx_hsdp_get_port_config(tsrouter_hsdp_config_t *conf);
+extern void cs_tsx_tsp_get_port_config(tsrouter_tsp_config_t *conf);
+
+extern void cs_tsx_hsdp_set_port_config(const tsrouter_hsdp_config_t *conf);
+extern void cs_tsx_tsp_set_port_config(const tsrouter_tsp_config_t *conf);
+
+#endif /* __TSROUTER_H */
diff --git a/lib/libdvbsub/tools.h b/lib/libdvbsub/tools.h
index 24c72bcfb..caa9bbe14 100644
--- a/lib/libdvbsub/tools.h
+++ b/lib/libdvbsub/tools.h
@@ -13,7 +13,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/driver/framebuffer.cpp b/src/driver/framebuffer.cpp
index aea036ed2..b4f1e9728 100644
--- a/src/driver/framebuffer.cpp
+++ b/src/driver/framebuffer.cpp
@@ -637,7 +637,9 @@ void CFrameBuffer::paintBoxRel(const int x, const int y, const int dx, const int
int corner_bl = (type & CORNER_BOTTOM_LEFT) ? 1 : 0;
int corner_br = (type & CORNER_BOTTOM_RIGHT) ? 1 : 0;
-#ifndef USE_NEVIS_GXA
+#ifdef USE_NEVIS_GXA
+ OpenThreads::ScopedLock m_lock(mutex);
+#else
int swidth = stride / sizeof(fb_pixel_t);
fb_pixel_t *fbp = getFrameBufferPointer() + (swidth * y);
#endif
@@ -801,6 +803,7 @@ void CFrameBuffer::paintVLineRel(int x, int y, int dy, const fb_pixel_t col)
fillrect.rop = ROP_COPY;
ioctl(fd, FBIO_FILL_RECT, &fillrect);
#elif defined(USE_NEVIS_GXA)
+ OpenThreads::ScopedLock m_lock(mutex);
/* draw a single vertical line from point x/y with hight dx */
unsigned int cmd = GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(2) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(2) | GXA_CMD_NOT_ALPHA;
@@ -833,6 +836,7 @@ void CFrameBuffer::paintHLineRel(int x, int dx, int y, const fb_pixel_t col)
fillrect.rop = ROP_COPY;
ioctl(fd, FBIO_FILL_RECT, &fillrect);
#elif defined(USE_NEVIS_GXA)
+ OpenThreads::ScopedLock m_lock(mutex);
/* draw a single horizontal line from point x/y with width dx */
unsigned int cmd = GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(2) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(2) | GXA_CMD_NOT_ALPHA;
@@ -1660,6 +1664,7 @@ void CFrameBuffer::blit2FB(void *fbbuff, uint32_t width, uint32_t height, uint32
//printf("CFrameBuffer::blit2FB: data %x Kva %x\n", (int) fbbuff, (int) uKva);
if(uKva != NULL) {
+ OpenThreads::ScopedLock m_lock(mutex);
cmd = GXA_CMD_BLT | GXA_CMD_NOT_TEXT | GXA_SRC_BMP_SEL(1) | GXA_DST_BMP_SEL(2) | GXA_PARAM_COUNT(3);
_write_gxa(gxa_base, GXA_BMP1_TYPE_REG, (3 << 16) | width);
diff --git a/src/driver/framebuffer.h b/src/driver/framebuffer.h
index c9d94a792..7797374e7 100644
--- a/src/driver/framebuffer.h
+++ b/src/driver/framebuffer.h
@@ -32,6 +32,8 @@
#include
#include