commit fd567103427294763b172009337ccf14345e9ff0 Author: Markus Rechberger Date: Wed Oct 22 22:03:11 2008 +0200 adding latest xc3028 driver xc3028_module.c: wrapper for the linux dvb frontend API xc3028fw_helper.c: firmware helper in order to align the raw videoblob to the corresponding standard. xc3028_control.c: Xceive core tuning driver the driver uses the tunerchip.h callbacks in order to only attach once in the em28xx-video file for multistandard devices. FM Radio, AnalogTV standards and Digital TV standards are tested. There are 2 firmwares xc3028 and xc3028L, both are merged into one firmware blob which is available on mcentral.de Signed-off-by: Markus Rechberger diff --git a/drivers/media/video/empia/xc3028/Makefile b/drivers/media/video/empia/xc3028/Makefile new file mode 100644 index 0000000..a24ff35 --- /dev/null +++ b/drivers/media/video/empia/xc3028/Makefile @@ -0,0 +1,6 @@ +xc3028-tuner-objs := xc3028_control.o xc3028_module.o + +obj-m += xc3028-tuner.o + +EXTRA_CFLAGS += -Wall + diff --git a/drivers/media/video/empia/xc3028/tunerchip.h b/drivers/media/video/empia/xc3028/tunerchip.h new file mode 100644 index 0000000..75ba8e6 --- /dev/null +++ b/drivers/media/video/empia/xc3028/tunerchip.h @@ -0,0 +1,32 @@ +#ifndef _TUNER_CHIP_H +#define _TUNER_CHIP_H + +struct tuner_module { + void *priv; + int (*tuner_cmd)(struct tuner_module *client, unsigned int cmd, void *data); + int (*shutdown)(struct tuner_module *client); + int (*set_frequency)(struct tuner_module *client, unsigned long frequency_in_hz); + int (*get_frequency_error)(struct tuner_module *client, long *frequency_error_mhz); + int (*get_lock_status)(struct tuner_module *client, unsigned short int *lock_status); + int (*get_version)(struct tuner_module *client, unsigned char* hw_majorversion, unsigned char* hw_minorversion, unsigned char* fw_majorversion, unsigned char* fw_minorversion); + int (*full_scan)(struct tuner_module *client, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found ); + void (*release)(struct tuner_module *client); +}; + +#define tuner_chip_detach(MOD) if(MOD) { \ + MOD->release(MOD); \ + symbol_put_addr(MOD->release); \ + } + +#define tuner_chip_attach(FUNCTION, ARGS...) ({ \ + struct tuner_module *mod = NULL; \ + typeof(&FUNCTION) __a = symbol_request(FUNCTION); \ + if (__a) { \ + mod=__a(ARGS); \ + if (mod == 0) \ + symbol_put(__a); \ + } \ + mod; \ +}) + +#endif diff --git a/drivers/media/video/empia/xc3028/xc3028_channelmaps.h b/drivers/media/video/empia/xc3028/xc3028_channelmaps.h new file mode 100644 index 0000000..edcc50f --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_channelmaps.h @@ -0,0 +1,2524 @@ +// +// Automatically generated C header file for +// control of the XC3028 via the i2c interface. +// +// Filename : xc3028_channelmaps.h +// Generated : 3/3/2006 2:00:46 PM +// +// (c) 2006, Xceive Corporation +// + +#ifndef __XC3028_CHANNELMAPS_H +#define __XC3028_CHANNELMAPS_H + +#include "xc3028_control.h" + + +// ************************************************************* +// *** LIST OF AVAILABLE CHANNELMAPS +// *** CHANNELMAP is selected during call to xc3028_initialize() +// *** +// *** 1) XC3028_channel_map_usa_analog_air +// *** 2) XC3028_channel_map_usa_analog_cable +// *** 3) XC3028_channel_map_usa_digital_air +// *** 4) XC3028_channel_map_usa_digital_cable +// *** 5) XC3028_channel_map_taiwan_analog_air +// *** 6) XC3028_channel_map_taiwan_analog_cable +// *** 7) XC3028_channel_map_taiwan_digital_air +// *** 8) XC3028_channel_map_taiwan_digital_cable +// *** 9) XC3028_channel_map_japan_analog_air +// *** 10) XC3028_channel_map_japan_analog_cable +// *** 11) XC3028_channel_map_japan_digital_air +// *** 12) XC3028_channel_map_japan_digital_cable +// *** 13) XC3028_channel_map_ccir_analog_air +// *** 14) XC3028_channel_map_ccir_analog_cable +// *** 15) XC3028_channel_map_ccir_digital_air +// *** 16) XC3028_channel_map_ccir_digital_cable +// *** 17) XC3028_channel_map_france_analog_air +// *** 18) XC3028_channel_map_france_analog_cable +// *** 19) XC3028_channel_map_france_digital_air +// *** 20) XC3028_channel_map_france_digital_cable +// *** 21) XC3028_channel_map_uk_analog_air +// *** 22) XC3028_channel_map_uk_analog_cable +// *** 23) XC3028_channel_map_uk_digital_air +// *** 24) XC3028_channel_map_uk_digital_cable +// *** 25) XC3028_channel_map_china_analog_air +// *** 26) XC3028_channel_map_china_analog_cable +// *** 27) XC3028_channel_map_china_digital_air +// *** 28) XC3028_channel_map_china_digital_cable +// *** 29) XC3028_channel_map_australia_air +// *** 30) XC3028_channel_map_australia_cable +// ************************************************************* + + +XC3028_CHANNEL XC3028_channels_usa_analog_air[68] = { + {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x1} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0xF} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0xF} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x4} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0x1} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x75D0, 0x2} /*471.250000 MHz*/ , + {{' ',' ','1','5'}, 0x7750, 0x1} /*477.250000 MHz*/ , + {{' ',' ','1','6'}, 0x78D0, 0x5} /*483.250000 MHz*/ , + {{' ',' ','1','7'}, 0x7A50, 0x5} /*489.250000 MHz*/ , + {{' ',' ','1','8'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','1','9'}, 0x7D50, 0x3} /*501.250000 MHz*/ , + {{' ',' ','2','0'}, 0x7ED0, 0x2} /*507.250000 MHz*/ , + {{' ',' ','2','1'}, 0x8050, 0x3} /*513.250000 MHz*/ , + {{' ',' ','2','2'}, 0x81D0, 0xD} /*519.250000 MHz*/ , + {{' ',' ','2','3'}, 0x8350, 0x1} /*525.250000 MHz*/ , + {{' ',' ','2','4'}, 0x84D0, 0x3} /*531.250000 MHz*/ , + {{' ',' ','2','5'}, 0x8650, 0x2} /*537.250000 MHz*/ , + {{' ',' ','2','6'}, 0x87D0, 0x5} /*543.250000 MHz*/ , + {{' ',' ','2','7'}, 0x8950, 0xD} /*549.250000 MHz*/ , + {{' ',' ','2','8'}, 0x8AD0, 0xE} /*555.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8C50, 0x2} /*561.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8DD0, 0x1} /*567.250000 MHz*/ , + {{' ',' ','3','1'}, 0x8F50, 0xD} /*573.250000 MHz*/ , + {{' ',' ','3','2'}, 0x90D0, 0xD} /*579.250000 MHz*/ , + {{' ',' ','3','3'}, 0x9250, 0xE} /*585.250000 MHz*/ , + {{' ',' ','3','4'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','5'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','3','6'}, 0x96D0, 0xD} /*603.250000 MHz*/ , + {{' ',' ','3','7'}, 0x9850, 0x5} /*609.250000 MHz*/ , + {{' ',' ','3','8'}, 0x99D0, 0xF} /*615.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9B50, 0x0} /*621.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9CD0, 0x2} /*627.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9E50, 0x2} /*633.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x2} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA150, 0x3} /*645.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA2D0, 0xE} /*651.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA450, 0x0} /*657.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA5D0, 0x1} /*663.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA750, 0x2} /*669.250000 MHz*/ , + {{' ',' ','4','8'}, 0xA8D0, 0xF} /*675.250000 MHz*/ , + {{' ',' ','4','9'}, 0xAA50, 0x0} /*681.250000 MHz*/ , + {{' ',' ','5','0'}, 0xABD0, 0xF} /*687.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAD50, 0x1} /*693.250000 MHz*/ , + {{' ',' ','5','2'}, 0xAED0, 0x2} /*699.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB050, 0xF} /*705.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB350, 0x1} /*717.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB650, 0x1} /*729.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{' ',' ','5','9'}, 0xB950, 0x3} /*741.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBAD0, 0x1} /*747.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBC50, 0xF} /*753.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','6','3'}, 0xBF50, 0x4} /*765.250000 MHz*/ , + {{' ',' ','6','4'}, 0xC0D0, 0xE} /*771.250000 MHz*/ , + {{' ',' ','6','5'}, 0xC250, 0xE} /*777.250000 MHz*/ , + {{' ',' ','6','6'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','7'}, 0xC550, 0xD} /*789.250000 MHz*/ , + {{' ',' ','6','8'}, 0xC6D0, 0xF} /*795.250000 MHz*/ , + {{' ',' ','6','9'}, 0xC850, 0xF} /*801.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_usa_analog_air = { + 68, + XC3028_channels_usa_analog_air +}; + +XC3028_CHANNEL XC3028_channels_usa_analog_cable[125] = { + {{' ',' ',' ','1'}, 0x1250, 0x0} /*73.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0xF} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x3} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0xE} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0x2} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x2} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0x2} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x1E50, 0x2} /*121.250000 MHz*/ , + {{' ',' ','1','5'}, 0x1FD0, 0x5} /*127.250000 MHz*/ , + {{' ',' ','1','6'}, 0x2150, 0xE} /*133.250000 MHz*/ , + {{' ',' ','1','7'}, 0x22D0, 0x2} /*139.250000 MHz*/ , + {{' ',' ','1','8'}, 0x2450, 0x0} /*145.250000 MHz*/ , + {{' ',' ','1','9'}, 0x25D0, 0x2} /*151.250000 MHz*/ , + {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ , + {{' ',' ','2','1'}, 0x28D0, 0xF} /*163.250000 MHz*/ , + {{' ',' ','2','2'}, 0x2A50, 0x0} /*169.250000 MHz*/ , + {{' ',' ','2','3'}, 0x3650, 0x1} /*217.250000 MHz*/ , + {{' ',' ','2','4'}, 0x37D0, 0xD} /*223.250000 MHz*/ , + {{' ',' ','2','5'}, 0x3950, 0xF} /*229.250000 MHz*/ , + {{' ',' ','2','6'}, 0x3AD0, 0x2} /*235.250000 MHz*/ , + {{' ',' ','2','7'}, 0x3C50, 0x0} /*241.250000 MHz*/ , + {{' ',' ','2','8'}, 0x3DD0, 0x1} /*247.250000 MHz*/ , + {{' ',' ','2','9'}, 0x3F50, 0x3} /*253.250000 MHz*/ , + {{' ',' ','3','0'}, 0x40D0, 0xD} /*259.250000 MHz*/ , + {{' ',' ','3','1'}, 0x4250, 0xD} /*265.250000 MHz*/ , + {{' ',' ','3','2'}, 0x43D0, 0x3} /*271.250000 MHz*/ , + {{' ',' ','3','3'}, 0x4550, 0x1} /*277.250000 MHz*/ , + {{' ',' ','3','4'}, 0x46D0, 0x1} /*283.250000 MHz*/ , + {{' ',' ','3','5'}, 0x4850, 0xD} /*289.250000 MHz*/ , + {{' ',' ','3','6'}, 0x49D0, 0x1} /*295.250000 MHz*/ , + {{' ',' ','3','7'}, 0x4B50, 0x2} /*301.250000 MHz*/ , + {{' ',' ','3','8'}, 0x4CD0, 0xF} /*307.250000 MHz*/ , + {{' ',' ','3','9'}, 0x4E50, 0x3} /*313.250000 MHz*/ , + {{' ',' ','4','0'}, 0x4FD0, 0xF} /*319.250000 MHz*/ , + {{' ',' ','4','1'}, 0x5150, 0xE} /*325.250000 MHz*/ , + {{' ',' ','4','2'}, 0x52D0, 0xD} /*331.250000 MHz*/ , + {{' ',' ','4','3'}, 0x5450, 0x0} /*337.250000 MHz*/ , + {{' ',' ','4','4'}, 0x55D0, 0xF} /*343.250000 MHz*/ , + {{' ',' ','4','5'}, 0x5750, 0xE} /*349.250000 MHz*/ , + {{' ',' ','4','6'}, 0x58D0, 0xD} /*355.250000 MHz*/ , + {{' ',' ','4','7'}, 0x5A50, 0x1} /*361.250000 MHz*/ , + {{' ',' ','4','8'}, 0x5BD0, 0xE} /*367.250000 MHz*/ , + {{' ',' ','4','9'}, 0x5D50, 0xF} /*373.250000 MHz*/ , + {{' ',' ','5','0'}, 0x5ED0, 0xE} /*379.250000 MHz*/ , + {{' ',' ','5','1'}, 0x6050, 0x5} /*385.250000 MHz*/ , + {{' ',' ','5','2'}, 0x61D0, 0x1} /*391.250000 MHz*/ , + {{' ',' ','5','3'}, 0x6350, 0x2} /*397.250000 MHz*/ , + {{' ',' ','5','4'}, 0x64D0, 0xE} /*403.250000 MHz*/ , + {{' ',' ','5','5'}, 0x6650, 0x2} /*409.250000 MHz*/ , + {{' ',' ','5','6'}, 0x67D0, 0xF} /*415.250000 MHz*/ , + {{' ',' ','5','7'}, 0x6950, 0xE} /*421.250000 MHz*/ , + {{' ',' ','5','8'}, 0x6AD0, 0xE} /*427.250000 MHz*/ , + {{' ',' ','5','9'}, 0x6C50, 0x1} /*433.250000 MHz*/ , + {{' ',' ','6','0'}, 0x6DD0, 0x1} /*439.250000 MHz*/ , + {{' ',' ','6','1'}, 0x6F50, 0x1} /*445.250000 MHz*/ , + {{' ',' ','6','2'}, 0x70D0, 0x4} /*451.250000 MHz*/ , + {{' ',' ','6','3'}, 0x7250, 0xE} /*457.250000 MHz*/ , + {{' ',' ','6','4'}, 0x73D0, 0xE} /*463.250000 MHz*/ , + {{' ',' ','6','5'}, 0x7550, 0x2} /*469.250000 MHz*/ , + {{' ',' ','6','6'}, 0x76D0, 0x3} /*475.250000 MHz*/ , + {{' ',' ','6','7'}, 0x7850, 0x4} /*481.250000 MHz*/ , + {{' ',' ','6','8'}, 0x79D0, 0xF} /*487.250000 MHz*/ , + {{' ',' ','6','9'}, 0x7B50, 0x0} /*493.250000 MHz*/ , + {{' ',' ','7','0'}, 0x7CD0, 0xF} /*499.250000 MHz*/ , + {{' ',' ','7','1'}, 0x7E50, 0x4} /*505.250000 MHz*/ , + {{' ',' ','7','2'}, 0x7FD0, 0x2} /*511.250000 MHz*/ , + {{' ',' ','7','3'}, 0x8150, 0xF} /*517.250000 MHz*/ , + {{' ',' ','7','4'}, 0x82D0, 0x1} /*523.250000 MHz*/ , + {{' ',' ','7','5'}, 0x8450, 0x3} /*529.250000 MHz*/ , + {{' ',' ','7','6'}, 0x85D0, 0x3} /*535.250000 MHz*/ , + {{' ',' ','7','7'}, 0x8750, 0x3} /*541.250000 MHz*/ , + {{' ',' ','7','8'}, 0x88D0, 0xF} /*547.250000 MHz*/ , + {{' ',' ','7','9'}, 0x8A50, 0xE} /*553.250000 MHz*/ , + {{' ',' ','8','0'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ',' ','8','1'}, 0x8D50, 0x0} /*565.250000 MHz*/ , + {{' ',' ','8','2'}, 0x8ED0, 0xD} /*571.250000 MHz*/ , + {{' ',' ','8','3'}, 0x9050, 0x3} /*577.250000 MHz*/ , + {{' ',' ','8','4'}, 0x91D0, 0x5} /*583.250000 MHz*/ , + {{' ',' ','8','5'}, 0x9350, 0x0} /*589.250000 MHz*/ , + {{' ',' ','8','6'}, 0x94D0, 0x2} /*595.250000 MHz*/ , + {{' ',' ','8','7'}, 0x9650, 0xD} /*601.250000 MHz*/ , + {{' ',' ','8','8'}, 0x97D0, 0xD} /*607.250000 MHz*/ , + {{' ',' ','8','9'}, 0x9950, 0xD} /*613.250000 MHz*/ , + {{' ',' ','9','0'}, 0x9AD0, 0xF} /*619.250000 MHz*/ , + {{' ',' ','9','1'}, 0x9C50, 0x0} /*625.250000 MHz*/ , + {{' ',' ','9','2'}, 0x9DD0, 0x3} /*631.250000 MHz*/ , + {{' ',' ','9','3'}, 0x9F50, 0x3} /*637.250000 MHz*/ , + {{' ',' ','9','4'}, 0xA0D0, 0x5} /*643.250000 MHz*/ , + {{' ',' ','9','5'}, 0x16D0, 0x2} /*91.250000 MHz*/ , + {{' ',' ','9','6'}, 0x1850, 0xF} /*97.250000 MHz*/ , + {{' ',' ','9','7'}, 0x19D0, 0xE} /*103.250000 MHz*/ , + {{' ',' ','9','8'}, 0x1B51, 0x4} /*109.265625 MHz*/ , + {{' ',' ','9','9'}, 0x1CD1, 0x3} /*115.265625 MHz*/ , + {{' ','1','0','0'}, 0xA250, 0x4} /*649.250000 MHz*/ , + {{' ','1','0','1'}, 0xA3D0, 0x1} /*655.250000 MHz*/ , + {{' ','1','0','2'}, 0xA550, 0x0} /*661.250000 MHz*/ , + {{' ','1','0','3'}, 0xA6D0, 0x2} /*667.250000 MHz*/ , + {{' ','1','0','4'}, 0xA850, 0xF} /*673.250000 MHz*/ , + {{' ','1','0','5'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ','1','0','6'}, 0xAB50, 0x5} /*685.250000 MHz*/ , + {{' ','1','0','7'}, 0xACD0, 0x2} /*691.250000 MHz*/ , + {{' ','1','0','8'}, 0xAE50, 0x4} /*697.250000 MHz*/ , + {{' ','1','0','9'}, 0xAFD0, 0x1} /*703.250000 MHz*/ , + {{' ','1','1','0'}, 0xB150, 0xF} /*709.250000 MHz*/ , + {{' ','1','1','1'}, 0xB2D0, 0x5} /*715.250000 MHz*/ , + {{' ','1','1','2'}, 0xB450, 0xF} /*721.250000 MHz*/ , + {{' ','1','1','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ','1','1','4'}, 0xB750, 0xE} /*733.250000 MHz*/ , + {{' ','1','1','5'}, 0xB8D0, 0xF} /*739.250000 MHz*/ , + {{' ','1','1','6'}, 0xBA50, 0x0} /*745.250000 MHz*/ , + {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ , + {{' ','1','1','9'}, 0xBED0, 0x1} /*763.250000 MHz*/ , + {{' ','1','2','0'}, 0xC050, 0xD} /*769.250000 MHz*/ , + {{' ','1','2','1'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ','1','2','2'}, 0xC350, 0x4} /*781.250000 MHz*/ , + {{' ','1','2','3'}, 0xC4D0, 0x2} /*787.250000 MHz*/ , + {{' ','1','2','4'}, 0xC650, 0x1} /*793.250000 MHz*/ , + {{' ','1','2','5'}, 0xC7D0, 0xF} /*799.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_usa_analog_cable = { + 125, + XC3028_channels_usa_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_usa_digital_air[68] = { + {{' ',' ',' ','2'}, 0x0DD0, 0xC} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x6} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0xD} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x2} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0x5} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0x1} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0xC} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x75D0, 0x5} /*471.250000 MHz*/ , + {{' ',' ','1','5'}, 0x7750, 0x7} /*477.250000 MHz*/ , + {{' ',' ','1','6'}, 0x78D0, 0x3} /*483.250000 MHz*/ , + {{' ',' ','1','7'}, 0x7A50, 0xC} /*489.250000 MHz*/ , + {{' ',' ','1','8'}, 0x7BD0, 0xB} /*495.250000 MHz*/ , + {{' ',' ','1','9'}, 0x7D50, 0xF} /*501.250000 MHz*/ , + {{' ',' ','2','0'}, 0x7ED0, 0xE} /*507.250000 MHz*/ , + {{' ',' ','2','1'}, 0x8050, 0x2} /*513.250000 MHz*/ , + {{' ',' ','2','2'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','3'}, 0x8350, 0x5} /*525.250000 MHz*/ , + {{' ',' ','2','4'}, 0x84D0, 0x4} /*531.250000 MHz*/ , + {{' ',' ','2','5'}, 0x8650, 0x5} /*537.250000 MHz*/ , + {{' ',' ','2','6'}, 0x87D0, 0x7} /*543.250000 MHz*/ , + {{' ',' ','2','7'}, 0x8950, 0xD} /*549.250000 MHz*/ , + {{' ',' ','2','8'}, 0x8AD0, 0xD} /*555.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8C50, 0xF} /*561.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','1'}, 0x8F50, 0x1} /*573.250000 MHz*/ , + {{' ',' ','3','2'}, 0x90D0, 0xC} /*579.250000 MHz*/ , + {{' ',' ','3','3'}, 0x9250, 0x1} /*585.250000 MHz*/ , + {{' ',' ','3','4'}, 0x93D0, 0xE} /*591.250000 MHz*/ , + {{' ',' ','3','5'}, 0x9550, 0x3} /*597.250000 MHz*/ , + {{' ',' ','3','6'}, 0x96D0, 0x1} /*603.250000 MHz*/ , + {{' ',' ','3','7'}, 0x9850, 0x2} /*609.250000 MHz*/ , + {{' ',' ','3','8'}, 0x99D0, 0x1} /*615.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9B50, 0x2} /*621.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9CD0, 0xF} /*627.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9E50, 0xE} /*633.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA150, 0xC} /*645.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA2D0, 0x1} /*651.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA450, 0x5} /*657.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA5D0, 0x6} /*663.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA750, 0x5} /*669.250000 MHz*/ , + {{' ',' ','4','8'}, 0xA8D0, 0xE} /*675.250000 MHz*/ , + {{' ',' ','4','9'}, 0xAA50, 0x1} /*681.250000 MHz*/ , + {{' ',' ','5','0'}, 0xABD0, 0xE} /*687.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAD50, 0xD} /*693.250000 MHz*/ , + {{' ',' ','5','2'}, 0xAED0, 0xE} /*699.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB050, 0xC} /*705.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB1D0, 0x7} /*711.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB350, 0xC} /*717.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB4D0, 0x5} /*723.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB650, 0xE} /*729.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB7D0, 0x7} /*735.250000 MHz*/ , + {{' ',' ','5','9'}, 0xB950, 0x0} /*741.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBAD0, 0x0} /*747.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBC50, 0xF} /*753.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','6','3'}, 0xBF50, 0x4} /*765.250000 MHz*/ , + {{' ',' ','6','4'}, 0xC0D0, 0x5} /*771.250000 MHz*/ , + {{' ',' ','6','5'}, 0xC250, 0x1} /*777.250000 MHz*/ , + {{' ',' ','6','6'}, 0xC3D0, 0xC} /*783.250000 MHz*/ , + {{' ',' ','6','7'}, 0xC550, 0xD} /*789.250000 MHz*/ , + {{' ',' ','6','8'}, 0xC6D0, 0x6} /*795.250000 MHz*/ , + {{' ',' ','6','9'}, 0xC850, 0x7} /*801.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_usa_digital_air = { + 68, + XC3028_channels_usa_digital_air +}; + +XC3028_CHANNEL XC3028_channels_usa_digital_cable[125] = { + {{' ',' ',' ','1'}, 0x1250, 0x6} /*73.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DD0, 0xC} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x6} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0xD} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x2} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0x5} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0x1} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0xC} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x1E50, 0x0} /*121.250000 MHz*/ , + {{' ',' ','1','5'}, 0x1FD0, 0x6} /*127.250000 MHz*/ , + {{' ',' ','1','6'}, 0x2150, 0xE} /*133.250000 MHz*/ , + {{' ',' ','1','7'}, 0x22D0, 0x1} /*139.250000 MHz*/ , + {{' ',' ','1','8'}, 0x2450, 0xC} /*145.250000 MHz*/ , + {{' ',' ','1','9'}, 0x25D0, 0xE} /*151.250000 MHz*/ , + {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ , + {{' ',' ','2','1'}, 0x28D0, 0x7} /*163.250000 MHz*/ , + {{' ',' ','2','2'}, 0x2A50, 0x4} /*169.250000 MHz*/ , + {{' ',' ','2','3'}, 0x3650, 0x1} /*217.250000 MHz*/ , + {{' ',' ','2','4'}, 0x37D0, 0x3} /*223.250000 MHz*/ , + {{' ',' ','2','5'}, 0x3950, 0x7} /*229.250000 MHz*/ , + {{' ',' ','2','6'}, 0x3AD0, 0x4} /*235.250000 MHz*/ , + {{' ',' ','2','7'}, 0x3C50, 0xC} /*241.250000 MHz*/ , + {{' ',' ','2','8'}, 0x3DD0, 0x0} /*247.250000 MHz*/ , + {{' ',' ','2','9'}, 0x3F50, 0xC} /*253.250000 MHz*/ , + {{' ',' ','3','0'}, 0x40D0, 0x0} /*259.250000 MHz*/ , + {{' ',' ','3','1'}, 0x4250, 0x3} /*265.250000 MHz*/ , + {{' ',' ','3','2'}, 0x43D0, 0xC} /*271.250000 MHz*/ , + {{' ',' ','3','3'}, 0x4550, 0xE} /*277.250000 MHz*/ , + {{' ',' ','3','4'}, 0x46D0, 0xC} /*283.250000 MHz*/ , + {{' ',' ','3','5'}, 0x4850, 0xF} /*289.250000 MHz*/ , + {{' ',' ','3','6'}, 0x49D0, 0x6} /*295.250000 MHz*/ , + {{' ',' ','3','7'}, 0x4B50, 0x4} /*301.250000 MHz*/ , + {{' ',' ','3','8'}, 0x4CD0, 0xE} /*307.250000 MHz*/ , + {{' ',' ','3','9'}, 0x4E50, 0x0} /*313.250000 MHz*/ , + {{' ',' ','4','0'}, 0x4FD0, 0xE} /*319.250000 MHz*/ , + {{' ',' ','4','1'}, 0x5150, 0x0} /*325.250000 MHz*/ , + {{' ',' ','4','2'}, 0x52D0, 0x3} /*331.250000 MHz*/ , + {{' ',' ','4','3'}, 0x5450, 0xD} /*337.250000 MHz*/ , + {{' ',' ','4','4'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ',' ','4','5'}, 0x5750, 0xE} /*349.250000 MHz*/ , + {{' ',' ','4','6'}, 0x58D0, 0x0} /*355.250000 MHz*/ , + {{' ',' ','4','7'}, 0x5A50, 0x6} /*361.250000 MHz*/ , + {{' ',' ','4','8'}, 0x5BD0, 0xD} /*367.250000 MHz*/ , + {{' ',' ','4','9'}, 0x5D50, 0x0} /*373.250000 MHz*/ , + {{' ',' ','5','0'}, 0x5ED0, 0x1} /*379.250000 MHz*/ , + {{' ',' ','5','1'}, 0x6050, 0x3} /*385.250000 MHz*/ , + {{' ',' ','5','2'}, 0x61D0, 0x5} /*391.250000 MHz*/ , + {{' ',' ','5','3'}, 0x6350, 0xC} /*397.250000 MHz*/ , + {{' ',' ','5','4'}, 0x64D0, 0x5} /*403.250000 MHz*/ , + {{' ',' ','5','5'}, 0x6650, 0x7} /*409.250000 MHz*/ , + {{' ',' ','5','6'}, 0x67D0, 0x2} /*415.250000 MHz*/ , + {{' ',' ','5','7'}, 0x6950, 0x4} /*421.250000 MHz*/ , + {{' ',' ','5','8'}, 0x6AD0, 0x6} /*427.250000 MHz*/ , + {{' ',' ','5','9'}, 0x6C50, 0xE} /*433.250000 MHz*/ , + {{' ',' ','6','0'}, 0x6DD0, 0x6} /*439.250000 MHz*/ , + {{' ',' ','6','1'}, 0x6F50, 0xE} /*445.250000 MHz*/ , + {{' ',' ','6','2'}, 0x70D0, 0x3} /*451.250000 MHz*/ , + {{' ',' ','6','3'}, 0x7250, 0x5} /*457.250000 MHz*/ , + {{' ',' ','6','4'}, 0x73D0, 0x6} /*463.250000 MHz*/ , + {{' ',' ','6','5'}, 0x7550, 0x5} /*469.250000 MHz*/ , + {{' ',' ','6','6'}, 0x76D0, 0xE} /*475.250000 MHz*/ , + {{' ',' ','6','7'}, 0x7850, 0x2} /*481.250000 MHz*/ , + {{' ',' ','6','8'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{' ',' ','6','9'}, 0x7B50, 0xD} /*493.250000 MHz*/ , + {{' ',' ','7','0'}, 0x7CD0, 0xC} /*499.250000 MHz*/ , + {{' ',' ','7','1'}, 0x7E50, 0x6} /*505.250000 MHz*/ , + {{' ',' ','7','2'}, 0x7FD0, 0x7} /*511.250000 MHz*/ , + {{' ',' ','7','3'}, 0x8150, 0x0} /*517.250000 MHz*/ , + {{' ',' ','7','4'}, 0x82D0, 0x1} /*523.250000 MHz*/ , + {{' ',' ','7','5'}, 0x8450, 0x3} /*529.250000 MHz*/ , + {{' ',' ','7','6'}, 0x85D0, 0x5} /*535.250000 MHz*/ , + {{' ',' ','7','7'}, 0x8750, 0x5} /*541.250000 MHz*/ , + {{' ',' ','7','8'}, 0x88D0, 0x6} /*547.250000 MHz*/ , + {{' ',' ','7','9'}, 0x8A50, 0xD} /*553.250000 MHz*/ , + {{' ',' ','8','0'}, 0x8BD0, 0x5} /*559.250000 MHz*/ , + {{' ',' ','8','1'}, 0x8D50, 0xF} /*565.250000 MHz*/ , + {{' ',' ','8','2'}, 0x8ED0, 0x5} /*571.250000 MHz*/ , + {{' ',' ','8','3'}, 0x9050, 0x2} /*577.250000 MHz*/ , + {{' ',' ','8','4'}, 0x91D0, 0xC} /*583.250000 MHz*/ , + {{' ',' ','8','5'}, 0x9350, 0xE} /*589.250000 MHz*/ , + {{' ',' ','8','6'}, 0x94D0, 0x3} /*595.250000 MHz*/ , + {{' ',' ','8','7'}, 0x9650, 0x1} /*601.250000 MHz*/ , + {{' ',' ','8','8'}, 0x97D0, 0x6} /*607.250000 MHz*/ , + {{' ',' ','8','9'}, 0x9950, 0xC} /*613.250000 MHz*/ , + {{' ',' ','9','0'}, 0x9AD0, 0x4} /*619.250000 MHz*/ , + {{' ',' ','9','1'}, 0x9C50, 0x3} /*625.250000 MHz*/ , + {{' ',' ','9','2'}, 0x9DD0, 0x4} /*631.250000 MHz*/ , + {{' ',' ','9','3'}, 0x9F50, 0x1} /*637.250000 MHz*/ , + {{' ',' ','9','4'}, 0xA0D0, 0x2} /*643.250000 MHz*/ , + {{' ',' ','9','5'}, 0x16D0, 0x3} /*91.250000 MHz*/ , + {{' ',' ','9','6'}, 0x1850, 0xC} /*97.250000 MHz*/ , + {{' ',' ','9','7'}, 0x19D0, 0xD} /*103.250000 MHz*/ , + {{' ',' ','9','8'}, 0x1B51, 0x4} /*109.265625 MHz*/ , + {{' ',' ','9','9'}, 0x1CD1, 0xD} /*115.265625 MHz*/ , + {{' ','1','0','0'}, 0xA250, 0x1} /*649.250000 MHz*/ , + {{' ','1','0','1'}, 0xA3D0, 0xE} /*655.250000 MHz*/ , + {{' ','1','0','2'}, 0xA550, 0xD} /*661.250000 MHz*/ , + {{' ','1','0','3'}, 0xA6D0, 0x7} /*667.250000 MHz*/ , + {{' ','1','0','4'}, 0xA850, 0xE} /*673.250000 MHz*/ , + {{' ','1','0','5'}, 0xA9D0, 0x7} /*679.250000 MHz*/ , + {{' ','1','0','6'}, 0xAB50, 0xC} /*685.250000 MHz*/ , + {{' ','1','0','7'}, 0xACD0, 0xD} /*691.250000 MHz*/ , + {{' ','1','0','8'}, 0xAE50, 0xE} /*697.250000 MHz*/ , + {{' ','1','0','9'}, 0xAFD0, 0x1} /*703.250000 MHz*/ , + {{' ','1','1','0'}, 0xB150, 0x0} /*709.250000 MHz*/ , + {{' ','1','1','1'}, 0xB2D0, 0xC} /*715.250000 MHz*/ , + {{' ','1','1','2'}, 0xB450, 0x0} /*721.250000 MHz*/ , + {{' ','1','1','3'}, 0xB5D0, 0xE} /*727.250000 MHz*/ , + {{' ','1','1','4'}, 0xB750, 0xF} /*733.250000 MHz*/ , + {{' ','1','1','5'}, 0xB8D0, 0x0} /*739.250000 MHz*/ , + {{' ','1','1','6'}, 0xBA50, 0x1} /*745.250000 MHz*/ , + {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ , + {{' ','1','1','9'}, 0xBED0, 0x4} /*763.250000 MHz*/ , + {{' ','1','2','0'}, 0xC050, 0xC} /*769.250000 MHz*/ , + {{' ','1','2','1'}, 0xC1D0, 0x5} /*775.250000 MHz*/ , + {{' ','1','2','2'}, 0xC350, 0xC} /*781.250000 MHz*/ , + {{' ','1','2','3'}, 0xC4D0, 0x7} /*787.250000 MHz*/ , + {{' ','1','2','4'}, 0xC650, 0x0} /*793.250000 MHz*/ , + {{' ','1','2','5'}, 0xC7D0, 0x1} /*799.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_usa_digital_cable = { + 125, + XC3028_channels_usa_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_taiwan_analog_air[68] = { + {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x1} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0xF} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0xF} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x4} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0x1} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x75D0, 0x2} /*471.250000 MHz*/ , + {{' ',' ','1','5'}, 0x7750, 0x1} /*477.250000 MHz*/ , + {{' ',' ','1','6'}, 0x78D0, 0x5} /*483.250000 MHz*/ , + {{' ',' ','1','7'}, 0x7A50, 0x5} /*489.250000 MHz*/ , + {{' ',' ','1','8'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','1','9'}, 0x7D50, 0x3} /*501.250000 MHz*/ , + {{' ',' ','2','0'}, 0x7ED0, 0x2} /*507.250000 MHz*/ , + {{' ',' ','2','1'}, 0x8050, 0x3} /*513.250000 MHz*/ , + {{' ',' ','2','2'}, 0x81D0, 0xD} /*519.250000 MHz*/ , + {{' ',' ','2','3'}, 0x8350, 0x1} /*525.250000 MHz*/ , + {{' ',' ','2','4'}, 0x84D0, 0x3} /*531.250000 MHz*/ , + {{' ',' ','2','5'}, 0x8650, 0x2} /*537.250000 MHz*/ , + {{' ',' ','2','6'}, 0x87D0, 0x5} /*543.250000 MHz*/ , + {{' ',' ','2','7'}, 0x8950, 0xD} /*549.250000 MHz*/ , + {{' ',' ','2','8'}, 0x8AD0, 0xE} /*555.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8C50, 0x2} /*561.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8DD0, 0x1} /*567.250000 MHz*/ , + {{' ',' ','3','1'}, 0x8F50, 0xD} /*573.250000 MHz*/ , + {{' ',' ','3','2'}, 0x90D0, 0xD} /*579.250000 MHz*/ , + {{' ',' ','3','3'}, 0x9250, 0xE} /*585.250000 MHz*/ , + {{' ',' ','3','4'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','5'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','3','6'}, 0x96D0, 0xD} /*603.250000 MHz*/ , + {{' ',' ','3','7'}, 0x9850, 0x5} /*609.250000 MHz*/ , + {{' ',' ','3','8'}, 0x99D0, 0xF} /*615.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9B50, 0x0} /*621.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9CD0, 0x2} /*627.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9E50, 0x2} /*633.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x2} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA150, 0x3} /*645.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA2D0, 0xE} /*651.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA450, 0x0} /*657.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA5D0, 0x1} /*663.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA750, 0x2} /*669.250000 MHz*/ , + {{' ',' ','4','8'}, 0xA8D0, 0xF} /*675.250000 MHz*/ , + {{' ',' ','4','9'}, 0xAA50, 0x0} /*681.250000 MHz*/ , + {{' ',' ','5','0'}, 0xABD0, 0xF} /*687.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAD50, 0x1} /*693.250000 MHz*/ , + {{' ',' ','5','2'}, 0xAED0, 0x2} /*699.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB050, 0xF} /*705.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB350, 0x1} /*717.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB650, 0x1} /*729.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{' ',' ','5','9'}, 0xB950, 0x3} /*741.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBAD0, 0x1} /*747.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBC50, 0xF} /*753.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','6','3'}, 0xBF50, 0x4} /*765.250000 MHz*/ , + {{' ',' ','6','4'}, 0xC0D0, 0xE} /*771.250000 MHz*/ , + {{' ',' ','6','5'}, 0xC250, 0xE} /*777.250000 MHz*/ , + {{' ',' ','6','6'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','7'}, 0xC550, 0xD} /*789.250000 MHz*/ , + {{' ',' ','6','8'}, 0xC6D0, 0xF} /*795.250000 MHz*/ , + {{' ',' ','6','9'}, 0xC850, 0xF} /*801.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_analog_air = { + 68, + XC3028_channels_taiwan_analog_air +}; + +XC3028_CHANNEL XC3028_channels_taiwan_analog_cable[125] = { + {{' ',' ',' ','1'}, 0x1250, 0x0} /*73.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0xF} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x3} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0xE} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0x2} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x2} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0x2} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x1E50, 0x2} /*121.250000 MHz*/ , + {{' ',' ','1','5'}, 0x1FD0, 0x5} /*127.250000 MHz*/ , + {{' ',' ','1','6'}, 0x2150, 0xE} /*133.250000 MHz*/ , + {{' ',' ','1','7'}, 0x22D0, 0x2} /*139.250000 MHz*/ , + {{' ',' ','1','8'}, 0x2450, 0x0} /*145.250000 MHz*/ , + {{' ',' ','1','9'}, 0x25D0, 0x2} /*151.250000 MHz*/ , + {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ , + {{' ',' ','2','1'}, 0x28D0, 0xF} /*163.250000 MHz*/ , + {{' ',' ','2','2'}, 0x2A50, 0x0} /*169.250000 MHz*/ , + {{' ',' ','2','3'}, 0x3650, 0x1} /*217.250000 MHz*/ , + {{' ',' ','2','4'}, 0x37D0, 0xD} /*223.250000 MHz*/ , + {{' ',' ','2','5'}, 0x3950, 0xF} /*229.250000 MHz*/ , + {{' ',' ','2','6'}, 0x3AD0, 0x2} /*235.250000 MHz*/ , + {{' ',' ','2','7'}, 0x3C50, 0x0} /*241.250000 MHz*/ , + {{' ',' ','2','8'}, 0x3DD0, 0x1} /*247.250000 MHz*/ , + {{' ',' ','2','9'}, 0x3F50, 0x3} /*253.250000 MHz*/ , + {{' ',' ','3','0'}, 0x40D0, 0xD} /*259.250000 MHz*/ , + {{' ',' ','3','1'}, 0x4250, 0xD} /*265.250000 MHz*/ , + {{' ',' ','3','2'}, 0x43D0, 0x3} /*271.250000 MHz*/ , + {{' ',' ','3','3'}, 0x4550, 0x1} /*277.250000 MHz*/ , + {{' ',' ','3','4'}, 0x46D0, 0x1} /*283.250000 MHz*/ , + {{' ',' ','3','5'}, 0x4850, 0xD} /*289.250000 MHz*/ , + {{' ',' ','3','6'}, 0x49D0, 0x1} /*295.250000 MHz*/ , + {{' ',' ','3','7'}, 0x4B50, 0x2} /*301.250000 MHz*/ , + {{' ',' ','3','8'}, 0x4CD0, 0xF} /*307.250000 MHz*/ , + {{' ',' ','3','9'}, 0x4E50, 0x3} /*313.250000 MHz*/ , + {{' ',' ','4','0'}, 0x4FD0, 0xF} /*319.250000 MHz*/ , + {{' ',' ','4','1'}, 0x5150, 0xE} /*325.250000 MHz*/ , + {{' ',' ','4','2'}, 0x52D0, 0xD} /*331.250000 MHz*/ , + {{' ',' ','4','3'}, 0x5450, 0x0} /*337.250000 MHz*/ , + {{' ',' ','4','4'}, 0x55D0, 0xF} /*343.250000 MHz*/ , + {{' ',' ','4','5'}, 0x5750, 0xE} /*349.250000 MHz*/ , + {{' ',' ','4','6'}, 0x58D0, 0xD} /*355.250000 MHz*/ , + {{' ',' ','4','7'}, 0x5A50, 0x1} /*361.250000 MHz*/ , + {{' ',' ','4','8'}, 0x5BD0, 0xE} /*367.250000 MHz*/ , + {{' ',' ','4','9'}, 0x5D50, 0xF} /*373.250000 MHz*/ , + {{' ',' ','5','0'}, 0x5ED0, 0xE} /*379.250000 MHz*/ , + {{' ',' ','5','1'}, 0x6050, 0x5} /*385.250000 MHz*/ , + {{' ',' ','5','2'}, 0x61D0, 0x1} /*391.250000 MHz*/ , + {{' ',' ','5','3'}, 0x6350, 0x2} /*397.250000 MHz*/ , + {{' ',' ','5','4'}, 0x64D0, 0xE} /*403.250000 MHz*/ , + {{' ',' ','5','5'}, 0x6650, 0x2} /*409.250000 MHz*/ , + {{' ',' ','5','6'}, 0x67D0, 0xF} /*415.250000 MHz*/ , + {{' ',' ','5','7'}, 0x6950, 0xE} /*421.250000 MHz*/ , + {{' ',' ','5','8'}, 0x6AD0, 0xE} /*427.250000 MHz*/ , + {{' ',' ','5','9'}, 0x6C50, 0x1} /*433.250000 MHz*/ , + {{' ',' ','6','0'}, 0x6DD0, 0x1} /*439.250000 MHz*/ , + {{' ',' ','6','1'}, 0x6F50, 0x1} /*445.250000 MHz*/ , + {{' ',' ','6','2'}, 0x70D0, 0x4} /*451.250000 MHz*/ , + {{' ',' ','6','3'}, 0x7250, 0xE} /*457.250000 MHz*/ , + {{' ',' ','6','4'}, 0x73D0, 0xE} /*463.250000 MHz*/ , + {{' ',' ','6','5'}, 0x7550, 0x2} /*469.250000 MHz*/ , + {{' ',' ','6','6'}, 0x76D0, 0x3} /*475.250000 MHz*/ , + {{' ',' ','6','7'}, 0x7850, 0x4} /*481.250000 MHz*/ , + {{' ',' ','6','8'}, 0x79D0, 0xF} /*487.250000 MHz*/ , + {{' ',' ','6','9'}, 0x7B50, 0x0} /*493.250000 MHz*/ , + {{' ',' ','7','0'}, 0x7CD0, 0xF} /*499.250000 MHz*/ , + {{' ',' ','7','1'}, 0x7E50, 0x4} /*505.250000 MHz*/ , + {{' ',' ','7','2'}, 0x7FD0, 0x2} /*511.250000 MHz*/ , + {{' ',' ','7','3'}, 0x8150, 0xF} /*517.250000 MHz*/ , + {{' ',' ','7','4'}, 0x82D0, 0x1} /*523.250000 MHz*/ , + {{' ',' ','7','5'}, 0x8450, 0x3} /*529.250000 MHz*/ , + {{' ',' ','7','6'}, 0x85D0, 0x3} /*535.250000 MHz*/ , + {{' ',' ','7','7'}, 0x8750, 0x3} /*541.250000 MHz*/ , + {{' ',' ','7','8'}, 0x88D0, 0xF} /*547.250000 MHz*/ , + {{' ',' ','7','9'}, 0x8A50, 0xE} /*553.250000 MHz*/ , + {{' ',' ','8','0'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ',' ','8','1'}, 0x8D50, 0x0} /*565.250000 MHz*/ , + {{' ',' ','8','2'}, 0x8ED0, 0xD} /*571.250000 MHz*/ , + {{' ',' ','8','3'}, 0x9050, 0x3} /*577.250000 MHz*/ , + {{' ',' ','8','4'}, 0x91D0, 0x5} /*583.250000 MHz*/ , + {{' ',' ','8','5'}, 0x9350, 0x0} /*589.250000 MHz*/ , + {{' ',' ','8','6'}, 0x94D0, 0x2} /*595.250000 MHz*/ , + {{' ',' ','8','7'}, 0x9650, 0xD} /*601.250000 MHz*/ , + {{' ',' ','8','8'}, 0x97D0, 0xD} /*607.250000 MHz*/ , + {{' ',' ','8','9'}, 0x9950, 0xD} /*613.250000 MHz*/ , + {{' ',' ','9','0'}, 0x9AD0, 0xF} /*619.250000 MHz*/ , + {{' ',' ','9','1'}, 0x9C50, 0x0} /*625.250000 MHz*/ , + {{' ',' ','9','2'}, 0x9DD0, 0x3} /*631.250000 MHz*/ , + {{' ',' ','9','3'}, 0x9F50, 0x3} /*637.250000 MHz*/ , + {{' ',' ','9','4'}, 0xA0D0, 0x5} /*643.250000 MHz*/ , + {{' ',' ','9','5'}, 0x16D0, 0x2} /*91.250000 MHz*/ , + {{' ',' ','9','6'}, 0x1850, 0xF} /*97.250000 MHz*/ , + {{' ',' ','9','7'}, 0x19D0, 0xE} /*103.250000 MHz*/ , + {{' ',' ','9','8'}, 0x1B51, 0x4} /*109.265625 MHz*/ , + {{' ',' ','9','9'}, 0x1CD1, 0x3} /*115.265625 MHz*/ , + {{' ','1','0','0'}, 0xA250, 0x4} /*649.250000 MHz*/ , + {{' ','1','0','1'}, 0xA3D0, 0x1} /*655.250000 MHz*/ , + {{' ','1','0','2'}, 0xA550, 0x0} /*661.250000 MHz*/ , + {{' ','1','0','3'}, 0xA6D0, 0x2} /*667.250000 MHz*/ , + {{' ','1','0','4'}, 0xA850, 0xF} /*673.250000 MHz*/ , + {{' ','1','0','5'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ','1','0','6'}, 0xAB50, 0x5} /*685.250000 MHz*/ , + {{' ','1','0','7'}, 0xACD0, 0x2} /*691.250000 MHz*/ , + {{' ','1','0','8'}, 0xAE50, 0x4} /*697.250000 MHz*/ , + {{' ','1','0','9'}, 0xAFD0, 0x1} /*703.250000 MHz*/ , + {{' ','1','1','0'}, 0xB150, 0xF} /*709.250000 MHz*/ , + {{' ','1','1','1'}, 0xB2D0, 0x5} /*715.250000 MHz*/ , + {{' ','1','1','2'}, 0xB450, 0xF} /*721.250000 MHz*/ , + {{' ','1','1','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ','1','1','4'}, 0xB750, 0xE} /*733.250000 MHz*/ , + {{' ','1','1','5'}, 0xB8D0, 0xF} /*739.250000 MHz*/ , + {{' ','1','1','6'}, 0xBA50, 0x0} /*745.250000 MHz*/ , + {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ , + {{' ','1','1','9'}, 0xBED0, 0x1} /*763.250000 MHz*/ , + {{' ','1','2','0'}, 0xC050, 0xD} /*769.250000 MHz*/ , + {{' ','1','2','1'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ','1','2','2'}, 0xC350, 0x4} /*781.250000 MHz*/ , + {{' ','1','2','3'}, 0xC4D0, 0x2} /*787.250000 MHz*/ , + {{' ','1','2','4'}, 0xC650, 0x1} /*793.250000 MHz*/ , + {{' ','1','2','5'}, 0xC7D0, 0xF} /*799.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_analog_cable = { + 125, + XC3028_channels_taiwan_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_taiwan_digital_air[68] = { + {{' ',' ',' ','2'}, 0x0DD0, 0x0} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x0} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x0} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0x0} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0x0} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x0} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0x0} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0x0} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0x0} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{' ',' ','1','5'}, 0x7750, 0x0} /*477.250000 MHz*/ , + {{' ',' ','1','6'}, 0x78D0, 0x0} /*483.250000 MHz*/ , + {{' ',' ','1','7'}, 0x7A50, 0x0} /*489.250000 MHz*/ , + {{' ',' ','1','8'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','1','9'}, 0x7D50, 0x0} /*501.250000 MHz*/ , + {{' ',' ','2','0'}, 0x7ED0, 0x0} /*507.250000 MHz*/ , + {{' ',' ','2','1'}, 0x8050, 0x0} /*513.250000 MHz*/ , + {{' ',' ','2','2'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','3'}, 0x8350, 0x0} /*525.250000 MHz*/ , + {{' ',' ','2','4'}, 0x84D0, 0x0} /*531.250000 MHz*/ , + {{' ',' ','2','5'}, 0x8650, 0x0} /*537.250000 MHz*/ , + {{' ',' ','2','6'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','2','7'}, 0x8950, 0x0} /*549.250000 MHz*/ , + {{' ',' ','2','8'}, 0x8AD0, 0x0} /*555.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8C50, 0x0} /*561.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','1'}, 0x8F50, 0x0} /*573.250000 MHz*/ , + {{' ',' ','3','2'}, 0x90D0, 0x0} /*579.250000 MHz*/ , + {{' ',' ','3','3'}, 0x9250, 0x0} /*585.250000 MHz*/ , + {{' ',' ','3','4'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','5'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','3','6'}, 0x96D0, 0x0} /*603.250000 MHz*/ , + {{' ',' ','3','7'}, 0x9850, 0x0} /*609.250000 MHz*/ , + {{' ',' ','3','8'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9B50, 0x0} /*621.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9CD0, 0x0} /*627.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9E50, 0x0} /*633.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA150, 0x0} /*645.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA2D0, 0x0} /*651.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA450, 0x0} /*657.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA750, 0x0} /*669.250000 MHz*/ , + {{' ',' ','4','8'}, 0xA8D0, 0x0} /*675.250000 MHz*/ , + {{' ',' ','4','9'}, 0xAA50, 0x0} /*681.250000 MHz*/ , + {{' ',' ','5','0'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAD50, 0x0} /*693.250000 MHz*/ , + {{' ',' ','5','2'}, 0xAED0, 0x0} /*699.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB050, 0x0} /*705.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB350, 0x0} /*717.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB650, 0x0} /*729.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{' ',' ','5','9'}, 0xB950, 0x0} /*741.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBAD0, 0x0} /*747.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBC50, 0x0} /*753.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','6','3'}, 0xBF50, 0x0} /*765.250000 MHz*/ , + {{' ',' ','6','4'}, 0xC0D0, 0x0} /*771.250000 MHz*/ , + {{' ',' ','6','5'}, 0xC250, 0x0} /*777.250000 MHz*/ , + {{' ',' ','6','6'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','7'}, 0xC550, 0x0} /*789.250000 MHz*/ , + {{' ',' ','6','8'}, 0xC6D0, 0x0} /*795.250000 MHz*/ , + {{' ',' ','6','9'}, 0xC850, 0x0} /*801.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_digital_air = { + 68, + XC3028_channels_taiwan_digital_air +}; + +XC3028_CHANNEL XC3028_channels_taiwan_digital_cable[125] = { + {{' ',' ',' ','1'}, 0x1250, 0x0} /*73.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DD0, 0x0} /*55.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x10D0, 0x0} /*67.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1350, 0x0} /*77.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x14D0, 0x0} /*83.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2BD0, 0x0} /*175.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x2ED0, 0x0} /*187.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3050, 0x0} /*193.250000 MHz*/ , + {{' ',' ','1','1'}, 0x31D0, 0x0} /*199.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ , + {{' ',' ','1','3'}, 0x34D0, 0x0} /*211.250000 MHz*/ , + {{' ',' ','1','4'}, 0x1E50, 0x0} /*121.250000 MHz*/ , + {{' ',' ','1','5'}, 0x1FD0, 0x0} /*127.250000 MHz*/ , + {{' ',' ','1','6'}, 0x2150, 0x0} /*133.250000 MHz*/ , + {{' ',' ','1','7'}, 0x22D0, 0x0} /*139.250000 MHz*/ , + {{' ',' ','1','8'}, 0x2450, 0x0} /*145.250000 MHz*/ , + {{' ',' ','1','9'}, 0x25D0, 0x0} /*151.250000 MHz*/ , + {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ , + {{' ',' ','2','1'}, 0x28D0, 0x0} /*163.250000 MHz*/ , + {{' ',' ','2','2'}, 0x2A50, 0x0} /*169.250000 MHz*/ , + {{' ',' ','2','3'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ',' ','2','4'}, 0x37D0, 0x0} /*223.250000 MHz*/ , + {{' ',' ','2','5'}, 0x3950, 0x0} /*229.250000 MHz*/ , + {{' ',' ','2','6'}, 0x3AD0, 0x0} /*235.250000 MHz*/ , + {{' ',' ','2','7'}, 0x3C50, 0x0} /*241.250000 MHz*/ , + {{' ',' ','2','8'}, 0x3DD0, 0x0} /*247.250000 MHz*/ , + {{' ',' ','2','9'}, 0x3F50, 0x0} /*253.250000 MHz*/ , + {{' ',' ','3','0'}, 0x40D0, 0x0} /*259.250000 MHz*/ , + {{' ',' ','3','1'}, 0x4250, 0x0} /*265.250000 MHz*/ , + {{' ',' ','3','2'}, 0x43D0, 0x0} /*271.250000 MHz*/ , + {{' ',' ','3','3'}, 0x4550, 0x0} /*277.250000 MHz*/ , + {{' ',' ','3','4'}, 0x46D0, 0x0} /*283.250000 MHz*/ , + {{' ',' ','3','5'}, 0x4850, 0x0} /*289.250000 MHz*/ , + {{' ',' ','3','6'}, 0x49D0, 0x0} /*295.250000 MHz*/ , + {{' ',' ','3','7'}, 0x4B50, 0x0} /*301.250000 MHz*/ , + {{' ',' ','3','8'}, 0x4CD0, 0x0} /*307.250000 MHz*/ , + {{' ',' ','3','9'}, 0x4E50, 0x0} /*313.250000 MHz*/ , + {{' ',' ','4','0'}, 0x4FD0, 0x0} /*319.250000 MHz*/ , + {{' ',' ','4','1'}, 0x5150, 0x0} /*325.250000 MHz*/ , + {{' ',' ','4','2'}, 0x52D0, 0x0} /*331.250000 MHz*/ , + {{' ',' ','4','3'}, 0x5450, 0x0} /*337.250000 MHz*/ , + {{' ',' ','4','4'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ',' ','4','5'}, 0x5750, 0x0} /*349.250000 MHz*/ , + {{' ',' ','4','6'}, 0x58D0, 0x0} /*355.250000 MHz*/ , + {{' ',' ','4','7'}, 0x5A50, 0x0} /*361.250000 MHz*/ , + {{' ',' ','4','8'}, 0x5BD0, 0x0} /*367.250000 MHz*/ , + {{' ',' ','4','9'}, 0x5D50, 0x0} /*373.250000 MHz*/ , + {{' ',' ','5','0'}, 0x5ED0, 0x0} /*379.250000 MHz*/ , + {{' ',' ','5','1'}, 0x6050, 0x0} /*385.250000 MHz*/ , + {{' ',' ','5','2'}, 0x61D0, 0x0} /*391.250000 MHz*/ , + {{' ',' ','5','3'}, 0x6350, 0x0} /*397.250000 MHz*/ , + {{' ',' ','5','4'}, 0x64D0, 0x0} /*403.250000 MHz*/ , + {{' ',' ','5','5'}, 0x6650, 0x0} /*409.250000 MHz*/ , + {{' ',' ','5','6'}, 0x67D0, 0x0} /*415.250000 MHz*/ , + {{' ',' ','5','7'}, 0x6950, 0x0} /*421.250000 MHz*/ , + {{' ',' ','5','8'}, 0x6AD0, 0x0} /*427.250000 MHz*/ , + {{' ',' ','5','9'}, 0x6C50, 0x0} /*433.250000 MHz*/ , + {{' ',' ','6','0'}, 0x6DD0, 0x0} /*439.250000 MHz*/ , + {{' ',' ','6','1'}, 0x6F50, 0x0} /*445.250000 MHz*/ , + {{' ',' ','6','2'}, 0x70D0, 0x0} /*451.250000 MHz*/ , + {{' ',' ','6','3'}, 0x7250, 0x0} /*457.250000 MHz*/ , + {{' ',' ','6','4'}, 0x73D0, 0x0} /*463.250000 MHz*/ , + {{' ',' ','6','5'}, 0x7550, 0x0} /*469.250000 MHz*/ , + {{' ',' ','6','6'}, 0x76D0, 0x0} /*475.250000 MHz*/ , + {{' ',' ','6','7'}, 0x7850, 0x0} /*481.250000 MHz*/ , + {{' ',' ','6','8'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{' ',' ','6','9'}, 0x7B50, 0x0} /*493.250000 MHz*/ , + {{' ',' ','7','0'}, 0x7CD0, 0x0} /*499.250000 MHz*/ , + {{' ',' ','7','1'}, 0x7E50, 0x0} /*505.250000 MHz*/ , + {{' ',' ','7','2'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{' ',' ','7','3'}, 0x8150, 0x0} /*517.250000 MHz*/ , + {{' ',' ','7','4'}, 0x82D0, 0x0} /*523.250000 MHz*/ , + {{' ',' ','7','5'}, 0x8450, 0x0} /*529.250000 MHz*/ , + {{' ',' ','7','6'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{' ',' ','7','7'}, 0x8750, 0x0} /*541.250000 MHz*/ , + {{' ',' ','7','8'}, 0x88D0, 0x0} /*547.250000 MHz*/ , + {{' ',' ','7','9'}, 0x8A50, 0x0} /*553.250000 MHz*/ , + {{' ',' ','8','0'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{' ',' ','8','1'}, 0x8D50, 0x0} /*565.250000 MHz*/ , + {{' ',' ','8','2'}, 0x8ED0, 0x0} /*571.250000 MHz*/ , + {{' ',' ','8','3'}, 0x9050, 0x0} /*577.250000 MHz*/ , + {{' ',' ','8','4'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','8','5'}, 0x9350, 0x0} /*589.250000 MHz*/ , + {{' ',' ','8','6'}, 0x94D0, 0x0} /*595.250000 MHz*/ , + {{' ',' ','8','7'}, 0x9650, 0x0} /*601.250000 MHz*/ , + {{' ',' ','8','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{' ',' ','8','9'}, 0x9950, 0x0} /*613.250000 MHz*/ , + {{' ',' ','9','0'}, 0x9AD0, 0x0} /*619.250000 MHz*/ , + {{' ',' ','9','1'}, 0x9C50, 0x0} /*625.250000 MHz*/ , + {{' ',' ','9','2'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{' ',' ','9','3'}, 0x9F50, 0x0} /*637.250000 MHz*/ , + {{' ',' ','9','4'}, 0xA0D0, 0x0} /*643.250000 MHz*/ , + {{' ',' ','9','5'}, 0x16D0, 0x0} /*91.250000 MHz*/ , + {{' ',' ','9','6'}, 0x1850, 0x0} /*97.250000 MHz*/ , + {{' ',' ','9','7'}, 0x19D0, 0x0} /*103.250000 MHz*/ , + {{' ',' ','9','8'}, 0x1B51, 0x0} /*109.265625 MHz*/ , + {{' ',' ','9','9'}, 0x1CD1, 0x0} /*115.265625 MHz*/ , + {{' ','1','0','0'}, 0xA250, 0x0} /*649.250000 MHz*/ , + {{' ','1','0','1'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{' ','1','0','2'}, 0xA550, 0x0} /*661.250000 MHz*/ , + {{' ','1','0','3'}, 0xA6D0, 0x0} /*667.250000 MHz*/ , + {{' ','1','0','4'}, 0xA850, 0x0} /*673.250000 MHz*/ , + {{' ','1','0','5'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ','1','0','6'}, 0xAB50, 0x0} /*685.250000 MHz*/ , + {{' ','1','0','7'}, 0xACD0, 0x0} /*691.250000 MHz*/ , + {{' ','1','0','8'}, 0xAE50, 0x0} /*697.250000 MHz*/ , + {{' ','1','0','9'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{' ','1','1','0'}, 0xB150, 0x0} /*709.250000 MHz*/ , + {{' ','1','1','1'}, 0xB2D0, 0x0} /*715.250000 MHz*/ , + {{' ','1','1','2'}, 0xB450, 0x0} /*721.250000 MHz*/ , + {{' ','1','1','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ','1','1','4'}, 0xB750, 0x0} /*733.250000 MHz*/ , + {{' ','1','1','5'}, 0xB8D0, 0x0} /*739.250000 MHz*/ , + {{' ','1','1','6'}, 0xBA50, 0x0} /*745.250000 MHz*/ , + {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ , + {{' ','1','1','9'}, 0xBED0, 0x0} /*763.250000 MHz*/ , + {{' ','1','2','0'}, 0xC050, 0x0} /*769.250000 MHz*/ , + {{' ','1','2','1'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ','1','2','2'}, 0xC350, 0x0} /*781.250000 MHz*/ , + {{' ','1','2','3'}, 0xC4D0, 0x0} /*787.250000 MHz*/ , + {{' ','1','2','4'}, 0xC650, 0x0} /*793.250000 MHz*/ , + {{' ','1','2','5'}, 0xC7D0, 0x0} /*799.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_digital_cable = { + 125, + XC3028_channels_taiwan_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_japan_analog_air[62] = { + {{' ',' ',' ','1'}, 0x16D0, 0x2} /*91.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C50, 0xF} /*177.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2DD0, 0x3} /*183.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2F50, 0xB} /*189.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x3050, 0xE} /*193.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3350, 0xD} /*205.250000 MHz*/ , + {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ',' ','1','3'}, 0x75D0, 0xB} /*471.250000 MHz*/ , + {{' ',' ','1','4'}, 0x7750, 0x3} /*477.250000 MHz*/ , + {{' ',' ','1','5'}, 0x78D0, 0xA} /*483.250000 MHz*/ , + {{' ',' ','1','6'}, 0x7A50, 0xC} /*489.250000 MHz*/ , + {{' ',' ','1','7'}, 0x7BD0, 0xE} /*495.250000 MHz*/ , + {{' ',' ','1','8'}, 0x7D50, 0xB} /*501.250000 MHz*/ , + {{' ',' ','1','9'}, 0x7ED0, 0x1} /*507.250000 MHz*/ , + {{' ',' ','2','0'}, 0x8050, 0xE} /*513.250000 MHz*/ , + {{' ',' ','2','1'}, 0x81D0, 0xF} /*519.250000 MHz*/ , + {{' ',' ','2','2'}, 0x8350, 0xF} /*525.250000 MHz*/ , + {{' ',' ','2','3'}, 0x84D0, 0xC} /*531.250000 MHz*/ , + {{' ',' ','2','4'}, 0x8650, 0xC} /*537.250000 MHz*/ , + {{' ',' ','2','5'}, 0x87D0, 0x2} /*543.250000 MHz*/ , + {{' ',' ','2','6'}, 0x8950, 0xF} /*549.250000 MHz*/ , + {{' ',' ','2','7'}, 0x8AD0, 0x0} /*555.250000 MHz*/ , + {{' ',' ','2','8'}, 0x8C50, 0x0} /*561.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8DD0, 0x1} /*567.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8F50, 0xD} /*573.250000 MHz*/ , + {{' ',' ','3','1'}, 0x90D0, 0xD} /*579.250000 MHz*/ , + {{' ',' ','3','2'}, 0x9250, 0xE} /*585.250000 MHz*/ , + {{' ',' ','3','3'}, 0x93D0, 0xF} /*591.250000 MHz*/ , + {{' ',' ','3','4'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','3','5'}, 0x96D0, 0x1} /*603.250000 MHz*/ , + {{' ',' ','3','6'}, 0x9850, 0xB} /*609.250000 MHz*/ , + {{' ',' ','3','7'}, 0x99D0, 0xC} /*615.250000 MHz*/ , + {{' ',' ','3','8'}, 0x9B50, 0xF} /*621.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9CD0, 0xF} /*627.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9E50, 0x1} /*633.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9FD0, 0xE} /*639.250000 MHz*/ , + {{' ',' ','4','2'}, 0xA150, 0xA} /*645.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA2D0, 0x4} /*651.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA450, 0x0} /*657.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA750, 0xF} /*669.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA8D0, 0xC} /*675.250000 MHz*/ , + {{' ',' ','4','8'}, 0xAA50, 0x0} /*681.250000 MHz*/ , + {{' ',' ','4','9'}, 0xABD0, 0x1} /*687.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAD50, 0x0} /*693.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAED0, 0x1} /*699.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB050, 0xC} /*705.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB1D0, 0xE} /*711.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB350, 0xE} /*717.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB4D0, 0xD} /*723.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB650, 0xE} /*729.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB7D0, 0xF} /*735.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB950, 0xF} /*741.250000 MHz*/ , + {{' ',' ','5','9'}, 0xBAD0, 0xF} /*747.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBC50, 0xF} /*753.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBDD0, 0x1} /*759.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBF50, 0x1} /*765.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_japan_analog_air = { + 62, + XC3028_channels_japan_analog_air +}; + +XC3028_CHANNEL XC3028_channels_japan_analog_cable[62] = { + {{' ',' ',' ','1'}, 0x16D0, 0x2} /*91.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ , + {{' ',' ','M','1'}, 0x1B50, 0x0} /*109.250000 MHz*/ , + {{' ',' ','M','2'}, 0x1CD0, 0x1} /*115.250000 MHz*/ , + {{' ',' ','M','3'}, 0x1E50, 0x2} /*121.250000 MHz*/ , + {{' ',' ','M','4'}, 0x1FD0, 0xB} /*127.250000 MHz*/ , + {{' ',' ','M','5'}, 0x2150, 0xC} /*133.250000 MHz*/ , + {{' ',' ','M','6'}, 0x22D0, 0xA} /*139.250000 MHz*/ , + {{' ',' ','M','7'}, 0x2450, 0xB} /*145.250000 MHz*/ , + {{' ',' ','M','8'}, 0x25D0, 0x0} /*151.250000 MHz*/ , + {{' ',' ','M','9'}, 0x2750, 0xB} /*157.250000 MHz*/ , + {{' ','M','1','0'}, 0x2950, 0x1} /*165.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C50, 0xF} /*177.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2DD0, 0x3} /*183.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2F50, 0xB} /*189.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x3050, 0xE} /*193.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3350, 0xD} /*205.250000 MHz*/ , + {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ , + {{' ',' ','S','1'}, 0x37D0, 0xD} /*223.250000 MHz*/ , + {{' ',' ','S','2'}, 0x3950, 0x0} /*229.250000 MHz*/ , + {{' ',' ','S','3'}, 0x3AD0, 0x0} /*235.250000 MHz*/ , + {{' ',' ','S','4'}, 0x3C50, 0x0} /*241.250000 MHz*/ , + {{' ',' ','S','5'}, 0x3DD0, 0xF} /*247.250000 MHz*/ , + {{' ',' ','S','6'}, 0x3F50, 0x2} /*253.250000 MHz*/ , + {{' ',' ','S','7'}, 0x40D0, 0x5} /*259.250000 MHz*/ , + {{' ',' ','S','8'}, 0x4250, 0x3} /*265.250000 MHz*/ , + {{' ',' ','S','9'}, 0x43D0, 0xC} /*271.250000 MHz*/ , + {{' ','S','1','0'}, 0x4550, 0xE} /*277.250000 MHz*/ , + {{' ','S','1','1'}, 0x46D0, 0x1} /*283.250000 MHz*/ , + {{' ','S','1','2'}, 0x4850, 0xF} /*289.250000 MHz*/ , + {{' ','S','1','3'}, 0x49D0, 0xF} /*295.250000 MHz*/ , + {{' ','S','1','4'}, 0x4B50, 0xC} /*301.250000 MHz*/ , + {{' ','S','1','5'}, 0x4CD0, 0xE} /*307.250000 MHz*/ , + {{' ','S','1','6'}, 0x4E50, 0xC} /*313.250000 MHz*/ , + {{' ','S','1','7'}, 0x4FD0, 0xE} /*319.250000 MHz*/ , + {{' ','S','1','8'}, 0x5150, 0xE} /*325.250000 MHz*/ , + {{' ','S','1','9'}, 0x52D0, 0x1} /*331.250000 MHz*/ , + {{' ','S','2','0'}, 0x5450, 0x5} /*337.250000 MHz*/ , + {{' ','S','2','1'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ','S','2','2'}, 0x5750, 0x4} /*349.250000 MHz*/ , + {{' ','S','2','3'}, 0x58D0, 0xB} /*355.250000 MHz*/ , + {{' ','S','2','4'}, 0x5A50, 0xC} /*361.250000 MHz*/ , + {{' ','S','2','5'}, 0x5BD0, 0xD} /*367.250000 MHz*/ , + {{' ','S','2','6'}, 0x5D50, 0xB} /*373.250000 MHz*/ , + {{' ','S','2','7'}, 0x5ED0, 0xB} /*379.250000 MHz*/ , + {{' ','S','2','8'}, 0x6050, 0xB} /*385.250000 MHz*/ , + {{' ','S','2','9'}, 0x61D0, 0xD} /*391.250000 MHz*/ , + {{' ','S','3','0'}, 0x6350, 0x1} /*397.250000 MHz*/ , + {{' ','S','3','1'}, 0x64D0, 0x3} /*403.250000 MHz*/ , + {{' ','S','3','2'}, 0x6650, 0xB} /*409.250000 MHz*/ , + {{' ','S','3','3'}, 0x67D0, 0x2} /*415.250000 MHz*/ , + {{' ','S','3','4'}, 0x6950, 0xB} /*421.250000 MHz*/ , + {{' ','S','3','5'}, 0x6AD0, 0xE} /*427.250000 MHz*/ , + {{' ','S','3','6'}, 0x6C50, 0x0} /*433.250000 MHz*/ , + {{' ','S','3','7'}, 0x6DD0, 0xB} /*439.250000 MHz*/ , + {{' ','S','3','8'}, 0x6F50, 0xE} /*445.250000 MHz*/ , + {{' ','S','3','9'}, 0x70D0, 0x3} /*451.250000 MHz*/ , + {{' ','S','4','0'}, 0x7250, 0xC} /*457.250000 MHz*/ , + {{' ','S','4','1'}, 0x73D0, 0xE} /*463.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_japan_analog_cable = { + 62, + XC3028_channels_japan_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_japan_digital_air[62] = { + {{' ',' ',' ','1'}, 0x16D0, 0x0} /*91.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C50, 0x0} /*177.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2DD0, 0x0} /*183.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x3050, 0x0} /*193.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3350, 0x0} /*205.250000 MHz*/ , + {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ',' ','1','3'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{' ',' ','1','4'}, 0x7750, 0x0} /*477.250000 MHz*/ , + {{' ',' ','1','5'}, 0x78D0, 0x0} /*483.250000 MHz*/ , + {{' ',' ','1','6'}, 0x7A50, 0x0} /*489.250000 MHz*/ , + {{' ',' ','1','7'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','1','8'}, 0x7D50, 0x0} /*501.250000 MHz*/ , + {{' ',' ','1','9'}, 0x7ED0, 0x0} /*507.250000 MHz*/ , + {{' ',' ','2','0'}, 0x8050, 0x0} /*513.250000 MHz*/ , + {{' ',' ','2','1'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','2'}, 0x8350, 0x0} /*525.250000 MHz*/ , + {{' ',' ','2','3'}, 0x84D0, 0x0} /*531.250000 MHz*/ , + {{' ',' ','2','4'}, 0x8650, 0x0} /*537.250000 MHz*/ , + {{' ',' ','2','5'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','2','6'}, 0x8950, 0x0} /*549.250000 MHz*/ , + {{' ',' ','2','7'}, 0x8AD0, 0x0} /*555.250000 MHz*/ , + {{' ',' ','2','8'}, 0x8C50, 0x0} /*561.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8F50, 0x0} /*573.250000 MHz*/ , + {{' ',' ','3','1'}, 0x90D0, 0x0} /*579.250000 MHz*/ , + {{' ',' ','3','2'}, 0x9250, 0x0} /*585.250000 MHz*/ , + {{' ',' ','3','3'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','4'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','3','5'}, 0x96D0, 0x0} /*603.250000 MHz*/ , + {{' ',' ','3','6'}, 0x9850, 0x0} /*609.250000 MHz*/ , + {{' ',' ','3','7'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{' ',' ','3','8'}, 0x9B50, 0x0} /*621.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9CD0, 0x0} /*627.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9E50, 0x0} /*633.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','2'}, 0xA150, 0x0} /*645.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA2D0, 0x0} /*651.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA450, 0x0} /*657.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA750, 0x0} /*669.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA8D0, 0x0} /*675.250000 MHz*/ , + {{' ',' ','4','8'}, 0xAA50, 0x0} /*681.250000 MHz*/ , + {{' ',' ','4','9'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAD50, 0x0} /*693.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAED0, 0x0} /*699.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB050, 0x0} /*705.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB350, 0x0} /*717.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB4D0, 0x0} /*723.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB650, 0x0} /*729.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB950, 0x0} /*741.250000 MHz*/ , + {{' ',' ','5','9'}, 0xBAD0, 0x0} /*747.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBC50, 0x0} /*753.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBF50, 0x0} /*765.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_japan_digital_air = { + 62, + XC3028_channels_japan_digital_air +}; + +XC3028_CHANNEL XC3028_channels_japan_digital_cable[62] = { + {{' ',' ',' ','1'}, 0x16D0, 0x0} /*91.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ , + {{' ',' ','M','1'}, 0x1B50, 0x0} /*109.250000 MHz*/ , + {{' ',' ','M','2'}, 0x1CD0, 0x0} /*115.250000 MHz*/ , + {{' ',' ','M','3'}, 0x1E50, 0x0} /*121.250000 MHz*/ , + {{' ',' ','M','4'}, 0x1FD0, 0x0} /*127.250000 MHz*/ , + {{' ',' ','M','5'}, 0x2150, 0x0} /*133.250000 MHz*/ , + {{' ',' ','M','6'}, 0x22D0, 0x0} /*139.250000 MHz*/ , + {{' ',' ','M','7'}, 0x2450, 0x0} /*145.250000 MHz*/ , + {{' ',' ','M','8'}, 0x25D0, 0x0} /*151.250000 MHz*/ , + {{' ',' ','M','9'}, 0x2750, 0x0} /*157.250000 MHz*/ , + {{' ','M','1','0'}, 0x2950, 0x0} /*165.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C50, 0x0} /*177.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2DD0, 0x0} /*183.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x3050, 0x0} /*193.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3350, 0x0} /*205.250000 MHz*/ , + {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ , + {{' ',' ','S','1'}, 0x37D0, 0x0} /*223.250000 MHz*/ , + {{' ',' ','S','2'}, 0x3950, 0x0} /*229.250000 MHz*/ , + {{' ',' ','S','3'}, 0x3AD0, 0x0} /*235.250000 MHz*/ , + {{' ',' ','S','4'}, 0x3C50, 0x0} /*241.250000 MHz*/ , + {{' ',' ','S','5'}, 0x3DD0, 0x0} /*247.250000 MHz*/ , + {{' ',' ','S','6'}, 0x3F50, 0x0} /*253.250000 MHz*/ , + {{' ',' ','S','7'}, 0x40D0, 0x0} /*259.250000 MHz*/ , + {{' ',' ','S','8'}, 0x4250, 0x0} /*265.250000 MHz*/ , + {{' ',' ','S','9'}, 0x43D0, 0x0} /*271.250000 MHz*/ , + {{' ','S','1','0'}, 0x4550, 0x0} /*277.250000 MHz*/ , + {{' ','S','1','1'}, 0x46D0, 0x0} /*283.250000 MHz*/ , + {{' ','S','1','2'}, 0x4850, 0x0} /*289.250000 MHz*/ , + {{' ','S','1','3'}, 0x49D0, 0x0} /*295.250000 MHz*/ , + {{' ','S','1','4'}, 0x4B50, 0x0} /*301.250000 MHz*/ , + {{' ','S','1','5'}, 0x4CD0, 0x0} /*307.250000 MHz*/ , + {{' ','S','1','6'}, 0x4E50, 0x0} /*313.250000 MHz*/ , + {{' ','S','1','7'}, 0x4FD0, 0x0} /*319.250000 MHz*/ , + {{' ','S','1','8'}, 0x5150, 0x0} /*325.250000 MHz*/ , + {{' ','S','1','9'}, 0x52D0, 0x0} /*331.250000 MHz*/ , + {{' ','S','2','0'}, 0x5450, 0x0} /*337.250000 MHz*/ , + {{' ','S','2','1'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ','S','2','2'}, 0x5750, 0x0} /*349.250000 MHz*/ , + {{' ','S','2','3'}, 0x58D0, 0x0} /*355.250000 MHz*/ , + {{' ','S','2','4'}, 0x5A50, 0x0} /*361.250000 MHz*/ , + {{' ','S','2','5'}, 0x5BD0, 0x0} /*367.250000 MHz*/ , + {{' ','S','2','6'}, 0x5D50, 0x0} /*373.250000 MHz*/ , + {{' ','S','2','7'}, 0x5ED0, 0x0} /*379.250000 MHz*/ , + {{' ','S','2','8'}, 0x6050, 0x0} /*385.250000 MHz*/ , + {{' ','S','2','9'}, 0x61D0, 0x0} /*391.250000 MHz*/ , + {{' ','S','3','0'}, 0x6350, 0x0} /*397.250000 MHz*/ , + {{' ','S','3','1'}, 0x64D0, 0x0} /*403.250000 MHz*/ , + {{' ','S','3','2'}, 0x6650, 0x0} /*409.250000 MHz*/ , + {{' ','S','3','3'}, 0x67D0, 0x0} /*415.250000 MHz*/ , + {{' ','S','3','4'}, 0x6950, 0x0} /*421.250000 MHz*/ , + {{' ','S','3','5'}, 0x6AD0, 0x0} /*427.250000 MHz*/ , + {{' ','S','3','6'}, 0x6C50, 0x0} /*433.250000 MHz*/ , + {{' ','S','3','7'}, 0x6DD0, 0x0} /*439.250000 MHz*/ , + {{' ','S','3','8'}, 0x6F50, 0x0} /*445.250000 MHz*/ , + {{' ','S','3','9'}, 0x70D0, 0x0} /*451.250000 MHz*/ , + {{' ','S','4','0'}, 0x7250, 0x0} /*457.250000 MHz*/ , + {{' ','S','4','1'}, 0x73D0, 0x0} /*463.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_japan_digital_cable = { + 62, + XC3028_channels_japan_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_ccir_analog_air[60] = { + {{' ',' ',' ','2'}, 0x0C10, 0xA} /*48.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0DD0, 0x5} /*55.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x0F90, 0xA} /*62.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x2BD0, 0xC} /*175.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2D90, 0x1} /*182.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2F50, 0x5} /*189.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x3110, 0x1} /*196.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x32D0, 0x4} /*203.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ , + {{' ',' ','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3810, 0x5} /*224.250000 MHz*/ , + {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x2} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_ccir_analog_air = { + 60, + XC3028_channels_ccir_analog_air +}; + +XC3028_CHANNEL XC3028_channels_ccir_analog_cable[57] = { + {{' ',' ','E','2'}, 0x0C10, 0xA} /*48.250000 MHz*/ , + {{' ',' ','E','3'}, 0x0DD0, 0x5} /*55.250000 MHz*/ , + {{' ',' ','E','4'}, 0x0F90, 0xA} /*62.250000 MHz*/ , + {{' ',' ',' ','X'}, 0x1150, 0xC} /*69.250000 MHz*/ , + {{' ',' ',' ','Y'}, 0x1310, 0x5} /*76.250000 MHz*/ , + {{' ',' ',' ','Z'}, 0x14D0, 0x2} /*83.250000 MHz*/ , + {{' ','Z','+','1'}, 0x1690, 0x3} /*90.250000 MHz*/ , + {{' ','Z','+','2'}, 0x1850, 0xF} /*97.250000 MHz*/ , + {{' ',' ','S','1'}, 0x1A50, 0x1} /*105.250000 MHz*/ , + {{' ',' ','S','2'}, 0x1C10, 0xB} /*112.250000 MHz*/ , + {{' ',' ','S','3'}, 0x1DD0, 0x2} /*119.250000 MHz*/ , + {{' ',' ','S','4'}, 0x1F90, 0xA} /*126.250000 MHz*/ , + {{' ',' ','S','5'}, 0x2150, 0x4} /*133.250000 MHz*/ , + {{' ',' ','S','6'}, 0x2310, 0x0} /*140.250000 MHz*/ , + {{' ',' ','S','7'}, 0x24D0, 0xE} /*147.250000 MHz*/ , + {{' ',' ','S','8'}, 0x2690, 0x2} /*154.250000 MHz*/ , + {{' ',' ','S','9'}, 0x2850, 0xF} /*161.250000 MHz*/ , + {{' ','S','1','0'}, 0x2A10, 0x2} /*168.250000 MHz*/ , + {{' ',' ','E','5'}, 0x2BD0, 0xC} /*175.250000 MHz*/ , + {{' ',' ','E','6'}, 0x2D90, 0x1} /*182.250000 MHz*/ , + {{' ',' ','E','7'}, 0x2F50, 0x5} /*189.250000 MHz*/ , + {{' ',' ','E','8'}, 0x3110, 0x1} /*196.250000 MHz*/ , + {{' ',' ','E','9'}, 0x32D0, 0x4} /*203.250000 MHz*/ , + {{' ','E','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ , + {{' ','E','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ','E','1','2'}, 0x3810, 0x5} /*224.250000 MHz*/ , + {{' ','S','1','1'}, 0x39D0, 0x1} /*231.250000 MHz*/ , + {{' ','S','1','2'}, 0x3B90, 0x5} /*238.250000 MHz*/ , + {{' ','S','1','3'}, 0x3D50, 0xF} /*245.250000 MHz*/ , + {{' ','S','1','4'}, 0x3F10, 0xD} /*252.250000 MHz*/ , + {{' ','S','1','5'}, 0x40D0, 0xF} /*259.250000 MHz*/ , + {{' ','S','1','6'}, 0x4290, 0x4} /*266.250000 MHz*/ , + {{' ','S','1','7'}, 0x4450, 0x0} /*273.250000 MHz*/ , + {{' ','S','1','8'}, 0x4610, 0x0} /*280.250000 MHz*/ , + {{' ','S','1','9'}, 0x47D0, 0xF} /*287.250000 MHz*/ , + {{' ','S','2','0'}, 0x4990, 0x1} /*294.250000 MHz*/ , + {{' ','S','2','1'}, 0x4B50, 0x0} /*301.250000 MHz*/ , + {{' ','S','2','2'}, 0x4DD0, 0x1} /*311.250000 MHz*/ , + {{' ','S','2','3'}, 0x4FD0, 0xF} /*319.250000 MHz*/ , + {{' ','S','2','4'}, 0x51D0, 0x0} /*327.250000 MHz*/ , + {{' ','S','2','5'}, 0x53D0, 0xF} /*335.250000 MHz*/ , + {{' ','S','2','6'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ','S','2','7'}, 0x57D0, 0x3} /*351.250000 MHz*/ , + {{' ','S','2','8'}, 0x59D0, 0x0} /*359.250000 MHz*/ , + {{' ','S','2','9'}, 0x5BD0, 0x0} /*367.250000 MHz*/ , + {{' ','S','3','0'}, 0x5DD0, 0x0} /*375.250000 MHz*/ , + {{' ','S','3','1'}, 0x5FD0, 0x2} /*383.250000 MHz*/ , + {{' ','S','3','2'}, 0x61D0, 0x0} /*391.250000 MHz*/ , + {{' ','S','3','3'}, 0x63D0, 0x0} /*399.250000 MHz*/ , + {{' ','S','3','4'}, 0x65D0, 0x0} /*407.250000 MHz*/ , + {{' ','S','3','5'}, 0x67D0, 0xE} /*415.250000 MHz*/ , + {{' ','S','3','6'}, 0x69D0, 0xC} /*423.250000 MHz*/ , + {{' ','S','3','7'}, 0x6BD0, 0x3} /*431.250000 MHz*/ , + {{' ','S','3','8'}, 0x6DD0, 0x1} /*439.250000 MHz*/ , + {{' ','S','3','9'}, 0x6FD0, 0x3} /*447.250000 MHz*/ , + {{' ','S','4','0'}, 0x71D0, 0x5} /*455.250000 MHz*/ , + {{' ','S','4','1'}, 0x73D0, 0xE} /*463.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_ccir_analog_cable = { + 57, + XC3028_channels_ccir_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_ccir_digital_air[60] = { + {{' ',' ',' ','2'}, 0x0C10, 0x0} /*48.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x0DD0, 0x0} /*55.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x0F90, 0x0} /*62.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x2BD0, 0x0} /*175.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2D90, 0x0} /*182.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x3110, 0x0} /*196.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x32D0, 0x0} /*203.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ , + {{' ',' ','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ',' ','1','2'}, 0x3810, 0x0} /*224.250000 MHz*/ , + {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_ccir_digital_air = { + 60, + XC3028_channels_ccir_digital_air +}; + +XC3028_CHANNEL XC3028_channels_ccir_digital_cable[57] = { + {{' ',' ','E','2'}, 0x0C10, 0x0} /*48.250000 MHz*/ , + {{' ',' ','E','3'}, 0x0DD0, 0x0} /*55.250000 MHz*/ , + {{' ',' ','E','4'}, 0x0F90, 0x0} /*62.250000 MHz*/ , + {{' ',' ',' ','X'}, 0x1150, 0x0} /*69.250000 MHz*/ , + {{' ',' ',' ','Y'}, 0x1310, 0x0} /*76.250000 MHz*/ , + {{' ',' ',' ','Z'}, 0x14D0, 0x0} /*83.250000 MHz*/ , + {{' ','Z','+','1'}, 0x1690, 0x0} /*90.250000 MHz*/ , + {{' ','Z','+','2'}, 0x1850, 0x0} /*97.250000 MHz*/ , + {{' ',' ','S','1'}, 0x1A50, 0x0} /*105.250000 MHz*/ , + {{' ',' ','S','2'}, 0x1C10, 0x0} /*112.250000 MHz*/ , + {{' ',' ','S','3'}, 0x1DD0, 0x0} /*119.250000 MHz*/ , + {{' ',' ','S','4'}, 0x1F90, 0x0} /*126.250000 MHz*/ , + {{' ',' ','S','5'}, 0x2150, 0x0} /*133.250000 MHz*/ , + {{' ',' ','S','6'}, 0x2310, 0x0} /*140.250000 MHz*/ , + {{' ',' ','S','7'}, 0x24D0, 0x0} /*147.250000 MHz*/ , + {{' ',' ','S','8'}, 0x2690, 0x0} /*154.250000 MHz*/ , + {{' ',' ','S','9'}, 0x2850, 0x0} /*161.250000 MHz*/ , + {{' ','S','1','0'}, 0x2A10, 0x0} /*168.250000 MHz*/ , + {{' ',' ','E','5'}, 0x2BD0, 0x0} /*175.250000 MHz*/ , + {{' ',' ','E','6'}, 0x2D90, 0x0} /*182.250000 MHz*/ , + {{' ',' ','E','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ , + {{' ',' ','E','8'}, 0x3110, 0x0} /*196.250000 MHz*/ , + {{' ',' ','E','9'}, 0x32D0, 0x0} /*203.250000 MHz*/ , + {{' ','E','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ , + {{' ','E','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ , + {{' ','E','1','2'}, 0x3810, 0x0} /*224.250000 MHz*/ , + {{' ','S','1','1'}, 0x39D0, 0x0} /*231.250000 MHz*/ , + {{' ','S','1','2'}, 0x3B90, 0x0} /*238.250000 MHz*/ , + {{' ','S','1','3'}, 0x3D50, 0x0} /*245.250000 MHz*/ , + {{' ','S','1','4'}, 0x3F10, 0x0} /*252.250000 MHz*/ , + {{' ','S','1','5'}, 0x40D0, 0x0} /*259.250000 MHz*/ , + {{' ','S','1','6'}, 0x4290, 0x0} /*266.250000 MHz*/ , + {{' ','S','1','7'}, 0x4450, 0x0} /*273.250000 MHz*/ , + {{' ','S','1','8'}, 0x4610, 0x0} /*280.250000 MHz*/ , + {{' ','S','1','9'}, 0x47D0, 0x0} /*287.250000 MHz*/ , + {{' ','S','2','0'}, 0x4990, 0x0} /*294.250000 MHz*/ , + {{' ','S','2','1'}, 0x4B50, 0x0} /*301.250000 MHz*/ , + {{' ','S','2','2'}, 0x4DD0, 0x0} /*311.250000 MHz*/ , + {{' ','S','2','3'}, 0x4FD0, 0x0} /*319.250000 MHz*/ , + {{' ','S','2','4'}, 0x51D0, 0x0} /*327.250000 MHz*/ , + {{' ','S','2','5'}, 0x53D0, 0x0} /*335.250000 MHz*/ , + {{' ','S','2','6'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ','S','2','7'}, 0x57D0, 0x0} /*351.250000 MHz*/ , + {{' ','S','2','8'}, 0x59D0, 0x0} /*359.250000 MHz*/ , + {{' ','S','2','9'}, 0x5BD0, 0x0} /*367.250000 MHz*/ , + {{' ','S','3','0'}, 0x5DD0, 0x0} /*375.250000 MHz*/ , + {{' ','S','3','1'}, 0x5FD0, 0x0} /*383.250000 MHz*/ , + {{' ','S','3','2'}, 0x61D0, 0x0} /*391.250000 MHz*/ , + {{' ','S','3','3'}, 0x63D0, 0x0} /*399.250000 MHz*/ , + {{' ','S','3','4'}, 0x65D0, 0x0} /*407.250000 MHz*/ , + {{' ','S','3','5'}, 0x67D0, 0x0} /*415.250000 MHz*/ , + {{' ','S','3','6'}, 0x69D0, 0x0} /*423.250000 MHz*/ , + {{' ','S','3','7'}, 0x6BD0, 0x0} /*431.250000 MHz*/ , + {{' ','S','3','8'}, 0x6DD0, 0x0} /*439.250000 MHz*/ , + {{' ','S','3','9'}, 0x6FD0, 0x0} /*447.250000 MHz*/ , + {{' ','S','4','0'}, 0x71D0, 0x0} /*455.250000 MHz*/ , + {{' ','S','4','1'}, 0x73D0, 0x0} /*463.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_ccir_digital_cable = { + 57, + XC3028_channels_ccir_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_france_analog_air[59] = { + {{' ',' ',' ','1'}, 0x0BF0, 0xD} /*47.750000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DF0, 0x6} /*55.750000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F20, 0x7} /*60.500000 MHz*/ , + {{' ',' ',' ','4'}, 0x0FF0, 0xB} /*63.750000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C00, 0xD} /*176.000000 MHz*/ , + {{' ',' ',' ','6'}, 0x2E00, 0x3} /*184.000000 MHz*/ , + {{' ',' ',' ','7'}, 0x3000, 0xD} /*192.000000 MHz*/ , + {{' ',' ',' ','8'}, 0x3200, 0x1} /*200.000000 MHz*/ , + {{' ',' ',' ','9'}, 0x3400, 0xD} /*208.000000 MHz*/ , + {{' ',' ','1','0'}, 0x3600, 0xA} /*216.000000 MHz*/ , + {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x7} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_france_analog_air = { + 59, + XC3028_channels_france_analog_air +}; + +XC3028_CHANNEL XC3028_channels_france_analog_cable[89] = { + {{' ',' ',' ','1'}, 0x0BF0, 0xD} /*47.750000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DF0, 0x7} /*55.750000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F20, 0x7} /*60.500000 MHz*/ , + {{' ',' ',' ','4'}, 0x0FF0, 0xB} /*63.750000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C00, 0xD} /*176.000000 MHz*/ , + {{' ',' ',' ','6'}, 0x2E00, 0x3} /*184.000000 MHz*/ , + {{' ',' ',' ','7'}, 0x3000, 0xD} /*192.000000 MHz*/ , + {{' ',' ',' ','8'}, 0x3200, 0x1} /*200.000000 MHz*/ , + {{' ',' ',' ','9'}, 0x3400, 0xD} /*208.000000 MHz*/ , + {{' ',' ','1','0'}, 0x3600, 0xA} /*216.000000 MHz*/ , + {{' ','S','C','1'}, 0x1E00, 0x7} /*120.000000 MHz*/ , + {{' ','S','C','2'}, 0x2000, 0xA} /*128.000000 MHz*/ , + {{' ','S','C','3'}, 0x2200, 0xF} /*136.000000 MHz*/ , + {{' ','S','C','4'}, 0x2400, 0x0} /*144.000000 MHz*/ , + {{' ','S','C','5'}, 0x2600, 0x0} /*152.000000 MHz*/ , + {{' ','S','C','6'}, 0x2800, 0xD} /*160.000000 MHz*/ , + {{' ','S','C','7'}, 0x2A00, 0x3} /*168.000000 MHz*/ , + {{' ','S','C','8'}, 0x3800, 0x5} /*224.000000 MHz*/ , + {{' ','S','C','9'}, 0x3A00, 0x2} /*232.000000 MHz*/ , + {{'S','C','1','0'}, 0x3C00, 0xC} /*240.000000 MHz*/ , + {{'S','C','1','1'}, 0x3E00, 0xA} /*248.000000 MHz*/ , + {{'S','C','1','2'}, 0x4000, 0x4} /*256.000000 MHz*/ , + {{'S','C','1','3'}, 0x4200, 0x2} /*264.000000 MHz*/ , + {{'S','C','1','4'}, 0x4400, 0x5} /*272.000000 MHz*/ , + {{'S','C','1','5'}, 0x4600, 0xB} /*280.000000 MHz*/ , + {{'S','C','1','6'}, 0x4800, 0xF} /*288.000000 MHz*/ , + {{'S','C','1','7'}, 0x4BD0, 0x3} /*303.250000 MHz*/ , + {{'S','C','1','8'}, 0x4ED0, 0x2} /*315.250000 MHz*/ , + {{'S','C','1','9'}, 0x51D0, 0x0} /*327.250000 MHz*/ , + {{'S','C','2','0'}, 0x54D0, 0x0} /*339.250000 MHz*/ , + {{'S','C','2','1'}, 0x57D0, 0xF} /*351.250000 MHz*/ , + {{'S','C','2','2'}, 0x5AD0, 0x0} /*363.250000 MHz*/ , + {{'S','C','2','3'}, 0x5DD0, 0x0} /*375.250000 MHz*/ , + {{'S','C','2','4'}, 0x60D0, 0x0} /*387.250000 MHz*/ , + {{'S','C','2','5'}, 0x63D0, 0x0} /*399.250000 MHz*/ , + {{'S','C','2','6'}, 0x66D0, 0xD} /*411.250000 MHz*/ , + {{'S','C','2','7'}, 0x69D0, 0xB} /*423.250000 MHz*/ , + {{'S','C','2','8'}, 0x6CD0, 0xC} /*435.250000 MHz*/ , + {{'S','C','2','9'}, 0x6FD0, 0x7} /*447.250000 MHz*/ , + {{'S','C','3','0'}, 0x72D0, 0x2} /*459.250000 MHz*/ , + {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x7} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_france_analog_cable = { + 89, + XC3028_channels_france_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_france_digital_air[59] = { + {{' ',' ',' ','1'}, 0x0BF0, 0x0} /*47.750000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DF0, 0x0} /*55.750000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F20, 0x0} /*60.500000 MHz*/ , + {{' ',' ',' ','4'}, 0x0FF0, 0x0} /*63.750000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C00, 0x0} /*176.000000 MHz*/ , + {{' ',' ',' ','6'}, 0x2E00, 0x0} /*184.000000 MHz*/ , + {{' ',' ',' ','7'}, 0x3000, 0x0} /*192.000000 MHz*/ , + {{' ',' ',' ','8'}, 0x3200, 0x0} /*200.000000 MHz*/ , + {{' ',' ',' ','9'}, 0x3400, 0x0} /*208.000000 MHz*/ , + {{' ',' ','1','0'}, 0x3600, 0x0} /*216.000000 MHz*/ , + {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_france_digital_air = { + 59, + XC3028_channels_france_digital_air +}; + +XC3028_CHANNEL XC3028_channels_france_digital_cable[89] = { + {{' ',' ',' ','1'}, 0x0BF0, 0x0} /*47.750000 MHz*/ , + {{' ',' ',' ','2'}, 0x0DF0, 0x0} /*55.750000 MHz*/ , + {{' ',' ',' ','3'}, 0x0F20, 0x0} /*60.500000 MHz*/ , + {{' ',' ',' ','4'}, 0x0FF0, 0x0} /*63.750000 MHz*/ , + {{' ',' ',' ','5'}, 0x2C00, 0x0} /*176.000000 MHz*/ , + {{' ',' ',' ','6'}, 0x2E00, 0x0} /*184.000000 MHz*/ , + {{' ',' ',' ','7'}, 0x3000, 0x0} /*192.000000 MHz*/ , + {{' ',' ',' ','8'}, 0x3200, 0x0} /*200.000000 MHz*/ , + {{' ',' ',' ','9'}, 0x3400, 0x0} /*208.000000 MHz*/ , + {{' ',' ','1','0'}, 0x3600, 0x0} /*216.000000 MHz*/ , + {{' ','S','C','1'}, 0x1E00, 0x0} /*120.000000 MHz*/ , + {{' ','S','C','2'}, 0x2000, 0x0} /*128.000000 MHz*/ , + {{' ','S','C','3'}, 0x2200, 0x0} /*136.000000 MHz*/ , + {{' ','S','C','4'}, 0x2400, 0x0} /*144.000000 MHz*/ , + {{' ','S','C','5'}, 0x2600, 0x0} /*152.000000 MHz*/ , + {{' ','S','C','6'}, 0x2800, 0x0} /*160.000000 MHz*/ , + {{' ','S','C','7'}, 0x2A00, 0x0} /*168.000000 MHz*/ , + {{' ','S','C','8'}, 0x3800, 0x0} /*224.000000 MHz*/ , + {{' ','S','C','9'}, 0x3A00, 0x0} /*232.000000 MHz*/ , + {{'S','C','1','0'}, 0x3C00, 0x0} /*240.000000 MHz*/ , + {{'S','C','1','1'}, 0x3E00, 0x0} /*248.000000 MHz*/ , + {{'S','C','1','2'}, 0x4000, 0x0} /*256.000000 MHz*/ , + {{'S','C','1','3'}, 0x4200, 0x0} /*264.000000 MHz*/ , + {{'S','C','1','4'}, 0x4400, 0x0} /*272.000000 MHz*/ , + {{'S','C','1','5'}, 0x4600, 0x0} /*280.000000 MHz*/ , + {{'S','C','1','6'}, 0x4800, 0x0} /*288.000000 MHz*/ , + {{'S','C','1','7'}, 0x4BD0, 0x0} /*303.250000 MHz*/ , + {{'S','C','1','8'}, 0x4ED0, 0x0} /*315.250000 MHz*/ , + {{'S','C','1','9'}, 0x51D0, 0x0} /*327.250000 MHz*/ , + {{'S','C','2','0'}, 0x54D0, 0x0} /*339.250000 MHz*/ , + {{'S','C','2','1'}, 0x57D0, 0x0} /*351.250000 MHz*/ , + {{'S','C','2','2'}, 0x5AD0, 0x0} /*363.250000 MHz*/ , + {{'S','C','2','3'}, 0x5DD0, 0x0} /*375.250000 MHz*/ , + {{'S','C','2','4'}, 0x60D0, 0x0} /*387.250000 MHz*/ , + {{'S','C','2','5'}, 0x63D0, 0x0} /*399.250000 MHz*/ , + {{'S','C','2','6'}, 0x66D0, 0x0} /*411.250000 MHz*/ , + {{'S','C','2','7'}, 0x69D0, 0x0} /*423.250000 MHz*/ , + {{'S','C','2','8'}, 0x6CD0, 0x0} /*435.250000 MHz*/ , + {{'S','C','2','9'}, 0x6FD0, 0x0} /*447.250000 MHz*/ , + {{'S','C','3','0'}, 0x72D0, 0x0} /*459.250000 MHz*/ , + {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_france_digital_cable = { + 89, + XC3028_channels_france_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_uk_analog_air[49] = { + {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x7} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_uk_analog_air = { + 49, + XC3028_channels_uk_analog_air +}; + +XC3028_CHANNEL XC3028_channels_uk_analog_cable[81] = { + {{' ',' ',' ','1'}, 0x0E00, 0x7} /*56.000000 MHz*/ , + {{' ',' ',' ','2'}, 0x1000, 0xB} /*64.000000 MHz*/ , + {{' ',' ',' ','3'}, 0x1E00, 0x3} /*120.000000 MHz*/ , + {{' ',' ',' ','4'}, 0x2000, 0xA} /*128.000000 MHz*/ , + {{' ',' ',' ','5'}, 0x2200, 0xF} /*136.000000 MHz*/ , + {{' ',' ',' ','6'}, 0x2400, 0x0} /*144.000000 MHz*/ , + {{' ',' ',' ','7'}, 0x2600, 0x0} /*152.000000 MHz*/ , + {{' ',' ',' ','8'}, 0x2800, 0xD} /*160.000000 MHz*/ , + {{' ',' ',' ','9'}, 0x2A00, 0xB} /*168.000000 MHz*/ , + {{' ',' ','1','0'}, 0x2C00, 0xD} /*176.000000 MHz*/ , + {{' ',' ','1','1'}, 0x2E00, 0x3} /*184.000000 MHz*/ , + {{' ',' ','1','2'}, 0x3000, 0xD} /*192.000000 MHz*/ , + {{' ',' ','1','3'}, 0x3200, 0x1} /*200.000000 MHz*/ , + {{' ',' ','1','4'}, 0x3400, 0xD} /*208.000000 MHz*/ , + {{' ',' ','1','5'}, 0x3600, 0xA} /*216.000000 MHz*/ , + {{' ',' ','1','6'}, 0x3800, 0x5} /*224.000000 MHz*/ , + {{' ',' ','1','7'}, 0x3A00, 0x2} /*232.000000 MHz*/ , + {{' ',' ','1','8'}, 0x3C00, 0xC} /*240.000000 MHz*/ , + {{' ',' ','1','9'}, 0x3E00, 0xA} /*248.000000 MHz*/ , + {{' ',' ','2','0'}, 0x4000, 0x4} /*256.000000 MHz*/ , + {{' ',' ','2','1'}, 0x4200, 0x2} /*264.000000 MHz*/ , + {{' ',' ','2','2'}, 0x4400, 0x5} /*272.000000 MHz*/ , + {{' ',' ','2','3'}, 0x4600, 0xB} /*280.000000 MHz*/ , + {{' ',' ','2','4'}, 0x4800, 0xF} /*288.000000 MHz*/ , + {{' ',' ','2','5'}, 0x4A00, 0x1} /*296.000000 MHz*/ , + {{' ',' ','2','6'}, 0x4C00, 0xE} /*304.000000 MHz*/ , + {{' ',' ','2','7'}, 0x4E00, 0x1} /*312.000000 MHz*/ , + {{' ',' ','2','8'}, 0x5000, 0xF} /*320.000000 MHz*/ , + {{' ',' ','2','9'}, 0x5200, 0x0} /*328.000000 MHz*/ , + {{' ',' ','3','0'}, 0x5400, 0xE} /*336.000000 MHz*/ , + {{' ',' ','3','1'}, 0x5600, 0x1} /*344.000000 MHz*/ , + {{' ',' ','3','2'}, 0x5800, 0xE} /*352.000000 MHz*/ , + {{' ',' ','3','3'}, 0x5A00, 0xF} /*360.000000 MHz*/ , + {{' ',' ','3','4'}, 0x5C00, 0xF} /*368.000000 MHz*/ , + {{' ',' ','3','5'}, 0x5E00, 0x1} /*376.000000 MHz*/ , + {{' ',' ','3','6'}, 0x6000, 0x0} /*384.000000 MHz*/ , + {{' ',' ','3','7'}, 0x6200, 0x1} /*392.000000 MHz*/ , + {{' ',' ','3','8'}, 0x6400, 0x0} /*400.000000 MHz*/ , + {{' ',' ','3','9'}, 0x6600, 0x1} /*408.000000 MHz*/ , + {{' ',' ','4','0'}, 0x6800, 0xE} /*416.000000 MHz*/ , + {{' ',' ','4','1'}, 0x6A00, 0x6} /*424.000000 MHz*/ , + {{' ',' ','4','2'}, 0x6C00, 0x0} /*432.000000 MHz*/ , + {{' ',' ','4','3'}, 0x6E00, 0x6} /*440.000000 MHz*/ , + {{' ',' ','4','4'}, 0x7000, 0xE} /*448.000000 MHz*/ , + {{' ',' ','4','5'}, 0x7200, 0x2} /*456.000000 MHz*/ , + {{' ',' ','4','6'}, 0x7400, 0xA} /*464.000000 MHz*/ , + {{' ',' ','4','7'}, 0x7600, 0x5} /*472.000000 MHz*/ , + {{' ',' ','4','8'}, 0x7800, 0xB} /*480.000000 MHz*/ , + {{' ',' ','4','9'}, 0x7A00, 0xD} /*488.000000 MHz*/ , + {{' ',' ','5','0'}, 0x7C00, 0xF} /*496.000000 MHz*/ , + {{' ',' ','5','1'}, 0x7E00, 0x1} /*504.000000 MHz*/ , + {{' ',' ','5','2'}, 0x8000, 0x3} /*512.000000 MHz*/ , + {{' ',' ','5','3'}, 0x8200, 0x5} /*520.000000 MHz*/ , + {{' ',' ','5','4'}, 0x8400, 0xC} /*528.000000 MHz*/ , + {{' ',' ','5','5'}, 0x8600, 0x1} /*536.000000 MHz*/ , + {{' ',' ','5','6'}, 0x8800, 0x0} /*544.000000 MHz*/ , + {{' ',' ','5','7'}, 0x8A00, 0x5} /*552.000000 MHz*/ , + {{' ',' ','5','8'}, 0x8C00, 0xF} /*560.000000 MHz*/ , + {{' ',' ','5','9'}, 0x8E00, 0xE} /*568.000000 MHz*/ , + {{' ',' ','6','0'}, 0x9000, 0x2} /*576.000000 MHz*/ , + {{' ',' ','6','1'}, 0x9200, 0xE} /*584.000000 MHz*/ , + {{' ',' ','6','2'}, 0x9400, 0xF} /*592.000000 MHz*/ , + {{' ',' ','6','3'}, 0x9600, 0xE} /*600.000000 MHz*/ , + {{' ',' ','6','4'}, 0x9800, 0xC} /*608.000000 MHz*/ , + {{' ',' ','6','5'}, 0x9A00, 0x1} /*616.000000 MHz*/ , + {{' ',' ','6','6'}, 0x9C00, 0x2} /*624.000000 MHz*/ , + {{' ',' ','6','7'}, 0x9E00, 0xD} /*632.000000 MHz*/ , + {{' ',' ','6','8'}, 0xA000, 0x2} /*640.000000 MHz*/ , + {{' ',' ','6','9'}, 0xA200, 0x1} /*648.000000 MHz*/ , + {{' ',' ','7','0'}, 0xA400, 0x2} /*656.000000 MHz*/ , + {{' ',' ','7','1'}, 0xA600, 0xE} /*664.000000 MHz*/ , + {{' ',' ','7','2'}, 0xA800, 0xF} /*672.000000 MHz*/ , + {{' ',' ','7','3'}, 0xAA00, 0x1} /*680.000000 MHz*/ , + {{' ',' ','7','4'}, 0xAC00, 0x0} /*688.000000 MHz*/ , + {{' ',' ','7','5'}, 0xAE00, 0xE} /*696.000000 MHz*/ , + {{' ',' ','7','6'}, 0xB000, 0x2} /*704.000000 MHz*/ , + {{' ',' ','7','7'}, 0xB200, 0xE} /*712.000000 MHz*/ , + {{' ',' ','7','8'}, 0xB400, 0xC} /*720.000000 MHz*/ , + {{' ',' ','7','9'}, 0xB600, 0xE} /*728.000000 MHz*/ , + {{' ',' ','8','0'}, 0xB800, 0x2} /*736.000000 MHz*/ , + {{' ',' ','8','1'}, 0xBA00, 0x3} /*744.000000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_uk_analog_cable = { + 81, + XC3028_channels_uk_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_uk_digital_air[49] = { + {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ , + {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ , + {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ , + {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ , + {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ , + {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ , + {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ , + {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ , + {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ , + {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ , + {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ , + {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ , + {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ , + {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_uk_digital_air = { + 49, + XC3028_channels_uk_digital_air +}; + +XC3028_CHANNEL XC3028_channels_uk_digital_cable[81] = { + {{' ',' ',' ','1'}, 0x0E00, 0x0} /*56.000000 MHz*/ , + {{' ',' ',' ','2'}, 0x1000, 0x0} /*64.000000 MHz*/ , + {{' ',' ',' ','3'}, 0x1E00, 0x0} /*120.000000 MHz*/ , + {{' ',' ',' ','4'}, 0x2000, 0x0} /*128.000000 MHz*/ , + {{' ',' ',' ','5'}, 0x2200, 0x0} /*136.000000 MHz*/ , + {{' ',' ',' ','6'}, 0x2400, 0x0} /*144.000000 MHz*/ , + {{' ',' ',' ','7'}, 0x2600, 0x0} /*152.000000 MHz*/ , + {{' ',' ',' ','8'}, 0x2800, 0x0} /*160.000000 MHz*/ , + {{' ',' ',' ','9'}, 0x2A00, 0x0} /*168.000000 MHz*/ , + {{' ',' ','1','0'}, 0x2C00, 0x0} /*176.000000 MHz*/ , + {{' ',' ','1','1'}, 0x2E00, 0x0} /*184.000000 MHz*/ , + {{' ',' ','1','2'}, 0x3000, 0x0} /*192.000000 MHz*/ , + {{' ',' ','1','3'}, 0x3200, 0x0} /*200.000000 MHz*/ , + {{' ',' ','1','4'}, 0x3400, 0x0} /*208.000000 MHz*/ , + {{' ',' ','1','5'}, 0x3600, 0x0} /*216.000000 MHz*/ , + {{' ',' ','1','6'}, 0x3800, 0x0} /*224.000000 MHz*/ , + {{' ',' ','1','7'}, 0x3A00, 0x0} /*232.000000 MHz*/ , + {{' ',' ','1','8'}, 0x3C00, 0x0} /*240.000000 MHz*/ , + {{' ',' ','1','9'}, 0x3E00, 0x0} /*248.000000 MHz*/ , + {{' ',' ','2','0'}, 0x4000, 0x0} /*256.000000 MHz*/ , + {{' ',' ','2','1'}, 0x4200, 0x0} /*264.000000 MHz*/ , + {{' ',' ','2','2'}, 0x4400, 0x0} /*272.000000 MHz*/ , + {{' ',' ','2','3'}, 0x4600, 0x0} /*280.000000 MHz*/ , + {{' ',' ','2','4'}, 0x4800, 0x0} /*288.000000 MHz*/ , + {{' ',' ','2','5'}, 0x4A00, 0x0} /*296.000000 MHz*/ , + {{' ',' ','2','6'}, 0x4C00, 0x0} /*304.000000 MHz*/ , + {{' ',' ','2','7'}, 0x4E00, 0x0} /*312.000000 MHz*/ , + {{' ',' ','2','8'}, 0x5000, 0x0} /*320.000000 MHz*/ , + {{' ',' ','2','9'}, 0x5200, 0x0} /*328.000000 MHz*/ , + {{' ',' ','3','0'}, 0x5400, 0x0} /*336.000000 MHz*/ , + {{' ',' ','3','1'}, 0x5600, 0x0} /*344.000000 MHz*/ , + {{' ',' ','3','2'}, 0x5800, 0x0} /*352.000000 MHz*/ , + {{' ',' ','3','3'}, 0x5A00, 0x0} /*360.000000 MHz*/ , + {{' ',' ','3','4'}, 0x5C00, 0x0} /*368.000000 MHz*/ , + {{' ',' ','3','5'}, 0x5E00, 0x0} /*376.000000 MHz*/ , + {{' ',' ','3','6'}, 0x6000, 0x0} /*384.000000 MHz*/ , + {{' ',' ','3','7'}, 0x6200, 0x0} /*392.000000 MHz*/ , + {{' ',' ','3','8'}, 0x6400, 0x0} /*400.000000 MHz*/ , + {{' ',' ','3','9'}, 0x6600, 0x0} /*408.000000 MHz*/ , + {{' ',' ','4','0'}, 0x6800, 0x0} /*416.000000 MHz*/ , + {{' ',' ','4','1'}, 0x6A00, 0x0} /*424.000000 MHz*/ , + {{' ',' ','4','2'}, 0x6C00, 0x0} /*432.000000 MHz*/ , + {{' ',' ','4','3'}, 0x6E00, 0x0} /*440.000000 MHz*/ , + {{' ',' ','4','4'}, 0x7000, 0x0} /*448.000000 MHz*/ , + {{' ',' ','4','5'}, 0x7200, 0x0} /*456.000000 MHz*/ , + {{' ',' ','4','6'}, 0x7400, 0x0} /*464.000000 MHz*/ , + {{' ',' ','4','7'}, 0x7600, 0x0} /*472.000000 MHz*/ , + {{' ',' ','4','8'}, 0x7800, 0x0} /*480.000000 MHz*/ , + {{' ',' ','4','9'}, 0x7A00, 0x0} /*488.000000 MHz*/ , + {{' ',' ','5','0'}, 0x7C00, 0x0} /*496.000000 MHz*/ , + {{' ',' ','5','1'}, 0x7E00, 0x0} /*504.000000 MHz*/ , + {{' ',' ','5','2'}, 0x8000, 0x0} /*512.000000 MHz*/ , + {{' ',' ','5','3'}, 0x8200, 0x0} /*520.000000 MHz*/ , + {{' ',' ','5','4'}, 0x8400, 0x0} /*528.000000 MHz*/ , + {{' ',' ','5','5'}, 0x8600, 0x0} /*536.000000 MHz*/ , + {{' ',' ','5','6'}, 0x8800, 0x0} /*544.000000 MHz*/ , + {{' ',' ','5','7'}, 0x8A00, 0x0} /*552.000000 MHz*/ , + {{' ',' ','5','8'}, 0x8C00, 0x0} /*560.000000 MHz*/ , + {{' ',' ','5','9'}, 0x8E00, 0x0} /*568.000000 MHz*/ , + {{' ',' ','6','0'}, 0x9000, 0x0} /*576.000000 MHz*/ , + {{' ',' ','6','1'}, 0x9200, 0x0} /*584.000000 MHz*/ , + {{' ',' ','6','2'}, 0x9400, 0x0} /*592.000000 MHz*/ , + {{' ',' ','6','3'}, 0x9600, 0x0} /*600.000000 MHz*/ , + {{' ',' ','6','4'}, 0x9800, 0x0} /*608.000000 MHz*/ , + {{' ',' ','6','5'}, 0x9A00, 0x0} /*616.000000 MHz*/ , + {{' ',' ','6','6'}, 0x9C00, 0x0} /*624.000000 MHz*/ , + {{' ',' ','6','7'}, 0x9E00, 0x0} /*632.000000 MHz*/ , + {{' ',' ','6','8'}, 0xA000, 0x0} /*640.000000 MHz*/ , + {{' ',' ','6','9'}, 0xA200, 0x0} /*648.000000 MHz*/ , + {{' ',' ','7','0'}, 0xA400, 0x0} /*656.000000 MHz*/ , + {{' ',' ','7','1'}, 0xA600, 0x0} /*664.000000 MHz*/ , + {{' ',' ','7','2'}, 0xA800, 0x0} /*672.000000 MHz*/ , + {{' ',' ','7','3'}, 0xAA00, 0x0} /*680.000000 MHz*/ , + {{' ',' ','7','4'}, 0xAC00, 0x0} /*688.000000 MHz*/ , + {{' ',' ','7','5'}, 0xAE00, 0x0} /*696.000000 MHz*/ , + {{' ',' ','7','6'}, 0xB000, 0x0} /*704.000000 MHz*/ , + {{' ',' ','7','7'}, 0xB200, 0x0} /*712.000000 MHz*/ , + {{' ',' ','7','8'}, 0xB400, 0x0} /*720.000000 MHz*/ , + {{' ',' ','7','9'}, 0xB600, 0x0} /*728.000000 MHz*/ , + {{' ',' ','8','0'}, 0xB800, 0x0} /*736.000000 MHz*/ , + {{' ',' ','8','1'}, 0xBA00, 0x0} /*744.000000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_uk_digital_cable = { + 81, + XC3028_channels_uk_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_china_analog_air[57] = { + {{' ','D','S','1'}, 0x0C70, 0xB} /*49.750000 MHz*/ , + {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ , + {{' ','D','S','3'}, 0x1070, 0x1} /*65.750000 MHz*/ , + {{' ','D','S','4'}, 0x1350, 0xA} /*77.250000 MHz*/ , + {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ , + {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ , + {{' ','D','S','7'}, 0x2C10, 0x7} /*176.250000 MHz*/ , + {{' ','D','S','8'}, 0x2E10, 0x3} /*184.250000 MHz*/ , + {{' ','D','S','9'}, 0x3010, 0xE} /*192.250000 MHz*/ , + {{'D','S','1','0'}, 0x3210, 0x3} /*200.250000 MHz*/ , + {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ , + {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ , + {{'D','S','1','3'}, 0x75D0, 0x1} /*471.250000 MHz*/ , + {{'D','S','1','4'}, 0x77D0, 0x3} /*479.250000 MHz*/ , + {{'D','S','1','5'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{'D','S','1','6'}, 0x7BD0, 0xF} /*495.250000 MHz*/ , + {{'D','S','1','7'}, 0x7DD0, 0xC} /*503.250000 MHz*/ , + {{'D','S','1','8'}, 0x7FD0, 0xE} /*511.250000 MHz*/ , + {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{'D','S','2','0'}, 0x83D0, 0x2} /*527.250000 MHz*/ , + {{'D','S','2','1'}, 0x85D0, 0x4} /*535.250000 MHz*/ , + {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{'D','S','2','4'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{'D','S','2','5'}, 0x97D0, 0xC} /*607.250000 MHz*/ , + {{'D','S','2','6'}, 0x99D0, 0xD} /*615.250000 MHz*/ , + {{'D','S','2','7'}, 0x9BD0, 0xF} /*623.250000 MHz*/ , + {{'D','S','2','8'}, 0x9DD0, 0xE} /*631.250000 MHz*/ , + {{'D','S','2','9'}, 0x9FD0, 0x6} /*639.250000 MHz*/ , + {{'D','S','3','0'}, 0xA1D0, 0xB} /*647.250000 MHz*/ , + {{'D','S','3','1'}, 0xA3D0, 0xF} /*655.250000 MHz*/ , + {{'D','S','3','2'}, 0xA5D0, 0xD} /*663.250000 MHz*/ , + {{'D','S','3','3'}, 0xA7D0, 0xF} /*671.250000 MHz*/ , + {{'D','S','3','4'}, 0xA9D0, 0xD} /*679.250000 MHz*/ , + {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{'D','S','3','6'}, 0xADD0, 0xE} /*695.250000 MHz*/ , + {{'D','S','3','7'}, 0xAFD0, 0x2} /*703.250000 MHz*/ , + {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{'D','S','3','9'}, 0xB3D0, 0x5} /*719.250000 MHz*/ , + {{'D','S','4','0'}, 0xB5D0, 0x1} /*727.250000 MHz*/ , + {{'D','S','4','1'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{'D','S','4','2'}, 0xB9D0, 0x3} /*743.250000 MHz*/ , + {{'D','S','4','3'}, 0xBBD0, 0x2} /*751.250000 MHz*/ , + {{'D','S','4','4'}, 0xBDD0, 0xE} /*759.250000 MHz*/ , + {{'D','S','4','5'}, 0xBFD0, 0xF} /*767.250000 MHz*/ , + {{'D','S','4','6'}, 0xC1D0, 0x3} /*775.250000 MHz*/ , + {{'D','S','4','7'}, 0xC3D0, 0xD} /*783.250000 MHz*/ , + {{'D','S','4','8'}, 0xC5D0, 0xE} /*791.250000 MHz*/ , + {{'D','S','4','9'}, 0xC7D0, 0xF} /*799.250000 MHz*/ , + {{'D','S','5','0'}, 0xC9D0, 0xC} /*807.250000 MHz*/ , + {{'D','S','5','1'}, 0xCBD0, 0x4} /*815.250000 MHz*/ , + {{'D','S','5','2'}, 0xCDD0, 0xE} /*823.250000 MHz*/ , + {{'D','S','5','3'}, 0xCFD0, 0x2} /*831.250000 MHz*/ , + {{'D','S','5','4'}, 0xD1D0, 0x5} /*839.250000 MHz*/ , + {{'D','S','5','5'}, 0xD3D0, 0x7} /*847.250000 MHz*/ , + {{'D','S','5','6'}, 0xD5D0, 0x1} /*855.250000 MHz*/ , + {{'D','S','5','7'}, 0xD7D0, 0x2} /*863.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_china_analog_air = { + 57, + XC3028_channels_china_analog_air +}; + +XC3028_CHANNEL XC3028_channels_china_analog_cable[99] = { + {{' ','D','S','1'}, 0x0C70, 0xB} /*49.750000 MHz*/ , + {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ , + {{' ','D','S','3'}, 0x1070, 0x1} /*65.750000 MHz*/ , + {{' ','D','S','4'}, 0x1350, 0xA} /*77.250000 MHz*/ , + {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ , + {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ , + {{' ','D','S','7'}, 0x2C10, 0x7} /*176.250000 MHz*/ , + {{' ','D','S','8'}, 0x2E10, 0x3} /*184.250000 MHz*/ , + {{' ','D','S','9'}, 0x3010, 0xE} /*192.250000 MHz*/ , + {{'D','S','1','0'}, 0x3210, 0x3} /*200.250000 MHz*/ , + {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ , + {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ , + {{' ',' ','Z','1'}, 0x1C10, 0x7} /*112.250000 MHz*/ , + {{' ',' ','Z','2'}, 0x1E10, 0x4} /*120.250000 MHz*/ , + {{' ',' ','Z','3'}, 0x2010, 0xA} /*128.250000 MHz*/ , + {{' ',' ','Z','4'}, 0x2210, 0x1} /*136.250000 MHz*/ , + {{' ',' ','Z','5'}, 0x2410, 0xB} /*144.250000 MHz*/ , + {{' ',' ','Z','6'}, 0x2610, 0x3} /*152.250000 MHz*/ , + {{' ',' ','Z','7'}, 0x2810, 0xE} /*160.250000 MHz*/ , + {{' ',' ','Z','8'}, 0x3810, 0x5} /*224.250000 MHz*/ , + {{' ',' ','Z','9'}, 0x3A10, 0x3} /*232.250000 MHz*/ , + {{' ','Z','1','0'}, 0x3C10, 0xE} /*240.250000 MHz*/ , + {{' ','Z','1','1'}, 0x3E10, 0x1} /*248.250000 MHz*/ , + {{' ','Z','1','2'}, 0x4010, 0x4} /*256.250000 MHz*/ , + {{' ','Z','1','3'}, 0x4210, 0x2} /*264.250000 MHz*/ , + {{' ','Z','1','4'}, 0x4410, 0x7} /*272.250000 MHz*/ , + {{' ','Z','1','5'}, 0x4610, 0x2} /*280.250000 MHz*/ , + {{' ','Z','1','6'}, 0x4810, 0xF} /*288.250000 MHz*/ , + {{' ','Z','1','7'}, 0x4A10, 0x3} /*296.250000 MHz*/ , + {{' ','Z','1','8'}, 0x4C10, 0xE} /*304.250000 MHz*/ , + {{' ','Z','1','9'}, 0x4E10, 0xC} /*312.250000 MHz*/ , + {{' ','Z','2','0'}, 0x5010, 0xF} /*320.250000 MHz*/ , + {{' ','Z','2','1'}, 0x5210, 0x2} /*328.250000 MHz*/ , + {{' ','Z','2','2'}, 0x5410, 0x6} /*336.250000 MHz*/ , + {{' ','Z','2','3'}, 0x5610, 0x0} /*344.250000 MHz*/ , + {{' ','Z','2','4'}, 0x5810, 0xD} /*352.250000 MHz*/ , + {{' ','Z','2','5'}, 0x5A10, 0x0} /*360.250000 MHz*/ , + {{' ','Z','2','6'}, 0x5C10, 0x0} /*368.250000 MHz*/ , + {{' ','Z','2','7'}, 0x5E10, 0x0} /*376.250000 MHz*/ , + {{' ','Z','2','8'}, 0x6010, 0x0} /*384.250000 MHz*/ , + {{' ','Z','2','9'}, 0x6210, 0x0} /*392.250000 MHz*/ , + {{' ','Z','3','0'}, 0x6410, 0xF} /*400.250000 MHz*/ , + {{' ','Z','3','1'}, 0x6610, 0x6} /*408.250000 MHz*/ , + {{' ','Z','3','2'}, 0x6810, 0xE} /*416.250000 MHz*/ , + {{' ','Z','3','3'}, 0x6A10, 0xC} /*424.250000 MHz*/ , + {{' ','Z','3','4'}, 0x6C10, 0x3} /*432.250000 MHz*/ , + {{' ','Z','3','5'}, 0x6E10, 0x7} /*440.250000 MHz*/ , + {{' ','Z','3','6'}, 0x7010, 0xA} /*448.250000 MHz*/ , + {{' ','Z','3','7'}, 0x7210, 0x2} /*456.250000 MHz*/ , + {{'D','S','1','3'}, 0x75D0, 0x1} /*471.250000 MHz*/ , + {{'D','S','1','4'}, 0x77D0, 0x3} /*479.250000 MHz*/ , + {{'D','S','1','5'}, 0x79D0, 0xC} /*487.250000 MHz*/ , + {{'D','S','1','6'}, 0x7BD0, 0xF} /*495.250000 MHz*/ , + {{'D','S','1','7'}, 0x7DD0, 0xC} /*503.250000 MHz*/ , + {{'D','S','1','8'}, 0x7FD0, 0xE} /*511.250000 MHz*/ , + {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{'D','S','2','0'}, 0x83D0, 0x2} /*527.250000 MHz*/ , + {{'D','S','2','1'}, 0x85D0, 0x4} /*535.250000 MHz*/ , + {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{'D','S','2','4'}, 0x8BD0, 0xF} /*559.250000 MHz*/ , + {{' ','Z','3','8'}, 0x8DD0, 0xA} /*567.250000 MHz*/ , + {{' ','Z','3','9'}, 0x8FD0, 0xE} /*575.250000 MHz*/ , + {{' ','Z','4','0'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ','Z','4','1'}, 0x93D0, 0xF} /*591.250000 MHz*/ , + {{' ','Z','4','2'}, 0x95D0, 0x1} /*599.250000 MHz*/ , + {{'D','S','2','5'}, 0x97D0, 0xC} /*607.250000 MHz*/ , + {{'D','S','2','6'}, 0x99D0, 0xD} /*615.250000 MHz*/ , + {{'D','S','2','7'}, 0x9BD0, 0xF} /*623.250000 MHz*/ , + {{'D','S','2','8'}, 0x9DD0, 0xE} /*631.250000 MHz*/ , + {{'D','S','2','9'}, 0x9FD0, 0x6} /*639.250000 MHz*/ , + {{'D','S','3','0'}, 0xA1D0, 0xB} /*647.250000 MHz*/ , + {{'D','S','3','1'}, 0xA3D0, 0xF} /*655.250000 MHz*/ , + {{'D','S','3','2'}, 0xA5D0, 0xD} /*663.250000 MHz*/ , + {{'D','S','3','3'}, 0xA7D0, 0xF} /*671.250000 MHz*/ , + {{'D','S','3','4'}, 0xA9D0, 0xD} /*679.250000 MHz*/ , + {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{'D','S','3','6'}, 0xADD0, 0xE} /*695.250000 MHz*/ , + {{'D','S','3','7'}, 0xAFD0, 0x2} /*703.250000 MHz*/ , + {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{'D','S','3','9'}, 0xB3D0, 0x5} /*719.250000 MHz*/ , + {{'D','S','4','0'}, 0xB5D0, 0x1} /*727.250000 MHz*/ , + {{'D','S','4','1'}, 0xB7D0, 0x2} /*735.250000 MHz*/ , + {{'D','S','4','2'}, 0xB9D0, 0x3} /*743.250000 MHz*/ , + {{'D','S','4','3'}, 0xBBD0, 0x2} /*751.250000 MHz*/ , + {{'D','S','4','4'}, 0xBDD0, 0xE} /*759.250000 MHz*/ , + {{'D','S','4','5'}, 0xBFD0, 0xF} /*767.250000 MHz*/ , + {{'D','S','4','6'}, 0xC1D0, 0x3} /*775.250000 MHz*/ , + {{'D','S','4','7'}, 0xC3D0, 0xD} /*783.250000 MHz*/ , + {{'D','S','4','8'}, 0xC5D0, 0xE} /*791.250000 MHz*/ , + {{'D','S','4','9'}, 0xC7D0, 0xF} /*799.250000 MHz*/ , + {{'D','S','5','0'}, 0xC9D0, 0xC} /*807.250000 MHz*/ , + {{'D','S','5','1'}, 0xCBD0, 0x4} /*815.250000 MHz*/ , + {{'D','S','5','2'}, 0xCDD0, 0xE} /*823.250000 MHz*/ , + {{'D','S','5','3'}, 0xCFD0, 0x2} /*831.250000 MHz*/ , + {{'D','S','5','4'}, 0xD1D0, 0x5} /*839.250000 MHz*/ , + {{'D','S','5','5'}, 0xD3D0, 0x7} /*847.250000 MHz*/ , + {{'D','S','5','6'}, 0xD5D0, 0x1} /*855.250000 MHz*/ , + {{'D','S','5','7'}, 0xD7D0, 0x2} /*863.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_china_analog_cable = { + 99, + XC3028_channels_china_analog_cable +}; + +XC3028_CHANNEL XC3028_channels_china_digital_air[57] = { + {{' ','D','S','1'}, 0x0C70, 0x0} /*49.750000 MHz*/ , + {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ , + {{' ','D','S','3'}, 0x1070, 0x0} /*65.750000 MHz*/ , + {{' ','D','S','4'}, 0x1350, 0x0} /*77.250000 MHz*/ , + {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ , + {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ , + {{' ','D','S','7'}, 0x2C10, 0x0} /*176.250000 MHz*/ , + {{' ','D','S','8'}, 0x2E10, 0x0} /*184.250000 MHz*/ , + {{' ','D','S','9'}, 0x3010, 0x0} /*192.250000 MHz*/ , + {{'D','S','1','0'}, 0x3210, 0x0} /*200.250000 MHz*/ , + {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ , + {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ , + {{'D','S','1','3'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{'D','S','1','4'}, 0x77D0, 0x0} /*479.250000 MHz*/ , + {{'D','S','1','5'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{'D','S','1','6'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{'D','S','1','7'}, 0x7DD0, 0x0} /*503.250000 MHz*/ , + {{'D','S','1','8'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{'D','S','2','0'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{'D','S','2','1'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{'D','S','2','4'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{'D','S','2','5'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{'D','S','2','6'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{'D','S','2','7'}, 0x9BD0, 0x0} /*623.250000 MHz*/ , + {{'D','S','2','8'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{'D','S','2','9'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{'D','S','3','0'}, 0xA1D0, 0x0} /*647.250000 MHz*/ , + {{'D','S','3','1'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{'D','S','3','2'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{'D','S','3','3'}, 0xA7D0, 0x0} /*671.250000 MHz*/ , + {{'D','S','3','4'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{'D','S','3','6'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{'D','S','3','7'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{'D','S','3','9'}, 0xB3D0, 0x0} /*719.250000 MHz*/ , + {{'D','S','4','0'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{'D','S','4','1'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{'D','S','4','2'}, 0xB9D0, 0x0} /*743.250000 MHz*/ , + {{'D','S','4','3'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{'D','S','4','4'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{'D','S','4','5'}, 0xBFD0, 0x0} /*767.250000 MHz*/ , + {{'D','S','4','6'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{'D','S','4','7'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{'D','S','4','8'}, 0xC5D0, 0x0} /*791.250000 MHz*/ , + {{'D','S','4','9'}, 0xC7D0, 0x0} /*799.250000 MHz*/ , + {{'D','S','5','0'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{'D','S','5','1'}, 0xCBD0, 0x0} /*815.250000 MHz*/ , + {{'D','S','5','2'}, 0xCDD0, 0x0} /*823.250000 MHz*/ , + {{'D','S','5','3'}, 0xCFD0, 0x0} /*831.250000 MHz*/ , + {{'D','S','5','4'}, 0xD1D0, 0x0} /*839.250000 MHz*/ , + {{'D','S','5','5'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{'D','S','5','6'}, 0xD5D0, 0x0} /*855.250000 MHz*/ , + {{'D','S','5','7'}, 0xD7D0, 0x0} /*863.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_china_digital_air = { + 57, + XC3028_channels_china_digital_air +}; + +XC3028_CHANNEL XC3028_channels_china_digital_cable[99] = { + {{' ','D','S','1'}, 0x0C70, 0x0} /*49.750000 MHz*/ , + {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ , + {{' ','D','S','3'}, 0x1070, 0x0} /*65.750000 MHz*/ , + {{' ','D','S','4'}, 0x1350, 0x0} /*77.250000 MHz*/ , + {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ , + {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ , + {{' ','D','S','7'}, 0x2C10, 0x0} /*176.250000 MHz*/ , + {{' ','D','S','8'}, 0x2E10, 0x0} /*184.250000 MHz*/ , + {{' ','D','S','9'}, 0x3010, 0x0} /*192.250000 MHz*/ , + {{'D','S','1','0'}, 0x3210, 0x0} /*200.250000 MHz*/ , + {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ , + {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ , + {{' ',' ','Z','1'}, 0x1C10, 0x0} /*112.250000 MHz*/ , + {{' ',' ','Z','2'}, 0x1E10, 0x0} /*120.250000 MHz*/ , + {{' ',' ','Z','3'}, 0x2010, 0x0} /*128.250000 MHz*/ , + {{' ',' ','Z','4'}, 0x2210, 0x0} /*136.250000 MHz*/ , + {{' ',' ','Z','5'}, 0x2410, 0x0} /*144.250000 MHz*/ , + {{' ',' ','Z','6'}, 0x2610, 0x0} /*152.250000 MHz*/ , + {{' ',' ','Z','7'}, 0x2810, 0x0} /*160.250000 MHz*/ , + {{' ',' ','Z','8'}, 0x3810, 0x0} /*224.250000 MHz*/ , + {{' ',' ','Z','9'}, 0x3A10, 0x0} /*232.250000 MHz*/ , + {{' ','Z','1','0'}, 0x3C10, 0x0} /*240.250000 MHz*/ , + {{' ','Z','1','1'}, 0x3E10, 0x0} /*248.250000 MHz*/ , + {{' ','Z','1','2'}, 0x4010, 0x0} /*256.250000 MHz*/ , + {{' ','Z','1','3'}, 0x4210, 0x0} /*264.250000 MHz*/ , + {{' ','Z','1','4'}, 0x4410, 0x0} /*272.250000 MHz*/ , + {{' ','Z','1','5'}, 0x4610, 0x0} /*280.250000 MHz*/ , + {{' ','Z','1','6'}, 0x4810, 0x0} /*288.250000 MHz*/ , + {{' ','Z','1','7'}, 0x4A10, 0x0} /*296.250000 MHz*/ , + {{' ','Z','1','8'}, 0x4C10, 0x0} /*304.250000 MHz*/ , + {{' ','Z','1','9'}, 0x4E10, 0x0} /*312.250000 MHz*/ , + {{' ','Z','2','0'}, 0x5010, 0x0} /*320.250000 MHz*/ , + {{' ','Z','2','1'}, 0x5210, 0x0} /*328.250000 MHz*/ , + {{' ','Z','2','2'}, 0x5410, 0x0} /*336.250000 MHz*/ , + {{' ','Z','2','3'}, 0x5610, 0x0} /*344.250000 MHz*/ , + {{' ','Z','2','4'}, 0x5810, 0x0} /*352.250000 MHz*/ , + {{' ','Z','2','5'}, 0x5A10, 0x0} /*360.250000 MHz*/ , + {{' ','Z','2','6'}, 0x5C10, 0x0} /*368.250000 MHz*/ , + {{' ','Z','2','7'}, 0x5E10, 0x0} /*376.250000 MHz*/ , + {{' ','Z','2','8'}, 0x6010, 0x0} /*384.250000 MHz*/ , + {{' ','Z','2','9'}, 0x6210, 0x0} /*392.250000 MHz*/ , + {{' ','Z','3','0'}, 0x6410, 0x0} /*400.250000 MHz*/ , + {{' ','Z','3','1'}, 0x6610, 0x0} /*408.250000 MHz*/ , + {{' ','Z','3','2'}, 0x6810, 0x0} /*416.250000 MHz*/ , + {{' ','Z','3','3'}, 0x6A10, 0x0} /*424.250000 MHz*/ , + {{' ','Z','3','4'}, 0x6C10, 0x0} /*432.250000 MHz*/ , + {{' ','Z','3','5'}, 0x6E10, 0x0} /*440.250000 MHz*/ , + {{' ','Z','3','6'}, 0x7010, 0x0} /*448.250000 MHz*/ , + {{' ','Z','3','7'}, 0x7210, 0x0} /*456.250000 MHz*/ , + {{'D','S','1','3'}, 0x75D0, 0x0} /*471.250000 MHz*/ , + {{'D','S','1','4'}, 0x77D0, 0x0} /*479.250000 MHz*/ , + {{'D','S','1','5'}, 0x79D0, 0x0} /*487.250000 MHz*/ , + {{'D','S','1','6'}, 0x7BD0, 0x0} /*495.250000 MHz*/ , + {{'D','S','1','7'}, 0x7DD0, 0x0} /*503.250000 MHz*/ , + {{'D','S','1','8'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ , + {{'D','S','2','0'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{'D','S','2','1'}, 0x85D0, 0x0} /*535.250000 MHz*/ , + {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ , + {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ , + {{'D','S','2','4'}, 0x8BD0, 0x0} /*559.250000 MHz*/ , + {{' ','Z','3','8'}, 0x8DD0, 0x0} /*567.250000 MHz*/ , + {{' ','Z','3','9'}, 0x8FD0, 0x0} /*575.250000 MHz*/ , + {{' ','Z','4','0'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ','Z','4','1'}, 0x93D0, 0x0} /*591.250000 MHz*/ , + {{' ','Z','4','2'}, 0x95D0, 0x0} /*599.250000 MHz*/ , + {{'D','S','2','5'}, 0x97D0, 0x0} /*607.250000 MHz*/ , + {{'D','S','2','6'}, 0x99D0, 0x0} /*615.250000 MHz*/ , + {{'D','S','2','7'}, 0x9BD0, 0x0} /*623.250000 MHz*/ , + {{'D','S','2','8'}, 0x9DD0, 0x0} /*631.250000 MHz*/ , + {{'D','S','2','9'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{'D','S','3','0'}, 0xA1D0, 0x0} /*647.250000 MHz*/ , + {{'D','S','3','1'}, 0xA3D0, 0x0} /*655.250000 MHz*/ , + {{'D','S','3','2'}, 0xA5D0, 0x0} /*663.250000 MHz*/ , + {{'D','S','3','3'}, 0xA7D0, 0x0} /*671.250000 MHz*/ , + {{'D','S','3','4'}, 0xA9D0, 0x0} /*679.250000 MHz*/ , + {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ , + {{'D','S','3','6'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{'D','S','3','7'}, 0xAFD0, 0x0} /*703.250000 MHz*/ , + {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ , + {{'D','S','3','9'}, 0xB3D0, 0x0} /*719.250000 MHz*/ , + {{'D','S','4','0'}, 0xB5D0, 0x0} /*727.250000 MHz*/ , + {{'D','S','4','1'}, 0xB7D0, 0x0} /*735.250000 MHz*/ , + {{'D','S','4','2'}, 0xB9D0, 0x0} /*743.250000 MHz*/ , + {{'D','S','4','3'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{'D','S','4','4'}, 0xBDD0, 0x0} /*759.250000 MHz*/ , + {{'D','S','4','5'}, 0xBFD0, 0x0} /*767.250000 MHz*/ , + {{'D','S','4','6'}, 0xC1D0, 0x0} /*775.250000 MHz*/ , + {{'D','S','4','7'}, 0xC3D0, 0x0} /*783.250000 MHz*/ , + {{'D','S','4','8'}, 0xC5D0, 0x0} /*791.250000 MHz*/ , + {{'D','S','4','9'}, 0xC7D0, 0x0} /*799.250000 MHz*/ , + {{'D','S','5','0'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{'D','S','5','1'}, 0xCBD0, 0x0} /*815.250000 MHz*/ , + {{'D','S','5','2'}, 0xCDD0, 0x0} /*823.250000 MHz*/ , + {{'D','S','5','3'}, 0xCFD0, 0x0} /*831.250000 MHz*/ , + {{'D','S','5','4'}, 0xD1D0, 0x0} /*839.250000 MHz*/ , + {{'D','S','5','5'}, 0xD3D0, 0x0} /*847.250000 MHz*/ , + {{'D','S','5','6'}, 0xD5D0, 0x0} /*855.250000 MHz*/ , + {{'D','S','5','7'}, 0xD7D0, 0x0} /*863.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_china_digital_cable = { + 99, + XC3028_channels_china_digital_cable +}; + +XC3028_CHANNEL XC3028_channels_australia_air[56] = { + {{' ',' ',' ','0'}, 0x0B90, 0x0} /*46.250000 MHz*/ , + {{' ',' ',' ','1'}, 0x0E50, 0x0} /*57.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x1010, 0x0} /*64.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x1590, 0x0} /*86.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x17D0, 0x0} /*95.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x1990, 0x0} /*102.250000 MHz*/ , + {{' ',' ','5','A'}, 0x2290, 0x0} /*138.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x2BD0, 0x0} /*175.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x2D90, 0x0} /*182.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x2F50, 0x0} /*189.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x3110, 0x0} /*196.250000 MHz*/ , + {{' ',' ','1','0'}, 0x3450, 0x0} /*209.250000 MHz*/ , + {{' ',' ','1','1'}, 0x3610, 0x0} /*216.250000 MHz*/ , + {{' ',' ','1','2'}, 0x37D0, 0x0} /*223.250000 MHz*/ , + {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{' ',' ','2','9'}, 0x8590, 0x0} /*534.250000 MHz*/ , + {{' ',' ','3','0'}, 0x8750, 0x0} /*541.250000 MHz*/ , + {{' ',' ','3','1'}, 0x8910, 0x0} /*548.250000 MHz*/ , + {{' ',' ','3','2'}, 0x8AD0, 0x0} /*555.250000 MHz*/ , + {{' ',' ','3','3'}, 0x8C90, 0x0} /*562.250000 MHz*/ , + {{' ',' ','3','4'}, 0x8E50, 0x0} /*569.250000 MHz*/ , + {{' ',' ','3','5'}, 0x9010, 0x0} /*576.250000 MHz*/ , + {{' ',' ','3','6'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','3','7'}, 0x9390, 0x0} /*590.250000 MHz*/ , + {{' ',' ','3','8'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','3','9'}, 0x9710, 0x0} /*604.250000 MHz*/ , + {{' ',' ','4','0'}, 0x98D0, 0x0} /*611.250000 MHz*/ , + {{' ',' ','4','1'}, 0x9A90, 0x0} /*618.250000 MHz*/ , + {{' ',' ','4','2'}, 0x9C50, 0x0} /*625.250000 MHz*/ , + {{' ',' ','4','3'}, 0x9E10, 0x0} /*632.250000 MHz*/ , + {{' ',' ','4','4'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','4','5'}, 0xA190, 0x0} /*646.250000 MHz*/ , + {{' ',' ','4','6'}, 0xA350, 0x0} /*653.250000 MHz*/ , + {{' ',' ','4','7'}, 0xA510, 0x0} /*660.250000 MHz*/ , + {{' ',' ','4','8'}, 0xA6D0, 0x0} /*667.250000 MHz*/ , + {{' ',' ','4','9'}, 0xA890, 0x0} /*674.250000 MHz*/ , + {{' ',' ','5','0'}, 0xAA50, 0x0} /*681.250000 MHz*/ , + {{' ',' ','5','1'}, 0xAC10, 0x0} /*688.250000 MHz*/ , + {{' ',' ','5','2'}, 0xADD0, 0x0} /*695.250000 MHz*/ , + {{' ',' ','5','3'}, 0xAF90, 0x0} /*702.250000 MHz*/ , + {{' ',' ','5','4'}, 0xB150, 0x0} /*709.250000 MHz*/ , + {{' ',' ','5','5'}, 0xB310, 0x0} /*716.250000 MHz*/ , + {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ , + {{' ',' ','5','7'}, 0xB690, 0x0} /*730.250000 MHz*/ , + {{' ',' ','5','8'}, 0xB850, 0x0} /*737.250000 MHz*/ , + {{' ',' ','5','9'}, 0xBA10, 0x0} /*744.250000 MHz*/ , + {{' ',' ','6','0'}, 0xBBD0, 0x0} /*751.250000 MHz*/ , + {{' ',' ','6','1'}, 0xBD90, 0x0} /*758.250000 MHz*/ , + {{' ',' ','6','2'}, 0xBF50, 0x0} /*765.250000 MHz*/ , + {{' ',' ','6','3'}, 0xC110, 0x0} /*772.250000 MHz*/ , + {{' ',' ','6','4'}, 0xC2D0, 0x0} /*779.250000 MHz*/ , + {{' ',' ','6','5'}, 0xC490, 0x0} /*786.250000 MHz*/ , + {{' ',' ','6','6'}, 0xC650, 0x0} /*793.250000 MHz*/ , + {{' ',' ','6','7'}, 0xC810, 0x0} /*800.250000 MHz*/ , + {{' ',' ','6','8'}, 0xC9D0, 0x0} /*807.250000 MHz*/ , + {{' ',' ','6','9'}, 0xCB90, 0x0} /*814.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_australia_air = { + 56, + XC3028_channels_australia_air +}; + +XC3028_CHANNEL XC3028_channels_australia_cable[80] = { + {{' ',' ','1','1'}, 0x1590, 0x0} /*86.250000 MHz*/ , + {{' ',' ','1','2'}, 0x17D0, 0x0} /*95.250000 MHz*/ , + {{' ',' ','1','3'}, 0x1990, 0x0} /*102.250000 MHz*/ , + {{' ',' ','1','4'}, 0x1B90, 0x0} /*110.250000 MHz*/ , + {{' ',' ','1','5'}, 0x1D50, 0x0} /*117.250000 MHz*/ , + {{' ',' ','1','6'}, 0x1F10, 0x0} /*124.250000 MHz*/ , + {{' ',' ','1','7'}, 0x20D0, 0x0} /*131.250000 MHz*/ , + {{' ',' ','1','8'}, 0x2290, 0x0} /*138.250000 MHz*/ , + {{' ',' ','1','9'}, 0x24D0, 0x0} /*147.250000 MHz*/ , + {{' ',' ','2','0'}, 0x2690, 0x0} /*154.250000 MHz*/ , + {{' ',' ','2','1'}, 0x2850, 0x0} /*161.250000 MHz*/ , + {{' ',' ','2','2'}, 0x2A10, 0x0} /*168.250000 MHz*/ , + {{' ',' ','2','3'}, 0x2BD0, 0x0} /*175.250000 MHz*/ , + {{' ',' ','2','4'}, 0x2D90, 0x0} /*182.250000 MHz*/ , + {{' ',' ','2','5'}, 0x2F50, 0x0} /*189.250000 MHz*/ , + {{' ',' ','2','6'}, 0x3110, 0x0} /*196.250000 MHz*/ , + {{' ',' ','2','7'}, 0x3450, 0x0} /*209.250000 MHz*/ , + {{' ',' ','2','8'}, 0x3610, 0x0} /*216.250000 MHz*/ , + {{' ',' ','2','9'}, 0x3810, 0x0} /*224.250000 MHz*/ , + {{' ',' ','3','0'}, 0x39D0, 0x0} /*231.250000 MHz*/ , + {{' ',' ','3','1'}, 0x3B90, 0x0} /*238.250000 MHz*/ , + {{' ',' ','3','2'}, 0x3D50, 0x0} /*245.250000 MHz*/ , + {{' ',' ',' ','1'}, 0x3F10, 0x0} /*252.250000 MHz*/ , + {{' ',' ',' ','2'}, 0x40D0, 0x0} /*259.250000 MHz*/ , + {{' ',' ',' ','3'}, 0x4290, 0x0} /*266.250000 MHz*/ , + {{' ',' ',' ','4'}, 0x4410, 0x0} /*272.250000 MHz*/ , + {{' ',' ',' ','5'}, 0x4610, 0x0} /*280.250000 MHz*/ , + {{' ',' ',' ','6'}, 0x47D0, 0x0} /*287.250000 MHz*/ , + {{' ',' ',' ','7'}, 0x4990, 0x0} /*294.250000 MHz*/ , + {{' ',' ',' ','8'}, 0x4B50, 0x0} /*301.250000 MHz*/ , + {{' ',' ',' ','9'}, 0x4D10, 0x0} /*308.250000 MHz*/ , + {{' ',' ','1','0'}, 0x4ED0, 0x0} /*315.250000 MHz*/ , + {{' ',' ','3','3'}, 0x5090, 0x0} /*322.250000 MHz*/ , + {{' ',' ','3','4'}, 0x5250, 0x0} /*329.250000 MHz*/ , + {{' ',' ','3','5'}, 0x5410, 0x0} /*336.250000 MHz*/ , + {{' ',' ','3','6'}, 0x55D0, 0x0} /*343.250000 MHz*/ , + {{' ',' ','3','7'}, 0x5790, 0x0} /*350.250000 MHz*/ , + {{' ',' ','3','8'}, 0x5950, 0x0} /*357.250000 MHz*/ , + {{' ',' ','3','9'}, 0x5B10, 0x0} /*364.250000 MHz*/ , + {{' ',' ','4','0'}, 0x5CD0, 0x0} /*371.250000 MHz*/ , + {{' ',' ','4','1'}, 0x5E90, 0x0} /*378.250000 MHz*/ , + {{' ',' ','4','2'}, 0x6050, 0x0} /*385.250000 MHz*/ , + {{' ',' ','4','3'}, 0x6250, 0x0} /*393.250000 MHz*/ , + {{' ',' ','4','4'}, 0x63D0, 0x0} /*399.250000 MHz*/ , + {{' ',' ','4','5'}, 0x6590, 0x0} /*406.250000 MHz*/ , + {{' ',' ','4','6'}, 0x6750, 0x0} /*413.250000 MHz*/ , + {{' ',' ','4','7'}, 0x6910, 0x0} /*420.250000 MHz*/ , + {{' ',' ','4','8'}, 0x6AD0, 0x0} /*427.250000 MHz*/ , + {{' ',' ','4','9'}, 0x6C90, 0x0} /*434.250000 MHz*/ , + {{' ',' ','5','0'}, 0x6E50, 0x0} /*441.250000 MHz*/ , + {{' ',' ','5','1'}, 0x7010, 0x0} /*448.250000 MHz*/ , + {{' ',' ','5','2'}, 0x71D0, 0x0} /*455.250000 MHz*/ , + {{' ',' ','5','3'}, 0x7390, 0x0} /*462.250000 MHz*/ , + {{' ',' ','5','4'}, 0x7550, 0x0} /*469.250000 MHz*/ , + {{' ',' ','5','5'}, 0x7710, 0x0} /*476.250000 MHz*/ , + {{' ',' ','5','6'}, 0x78D0, 0x0} /*483.250000 MHz*/ , + {{' ',' ','5','7'}, 0x7A90, 0x0} /*490.250000 MHz*/ , + {{' ',' ','5','8'}, 0x7C50, 0x0} /*497.250000 MHz*/ , + {{' ',' ','5','9'}, 0x7E10, 0x0} /*504.250000 MHz*/ , + {{' ',' ','6','0'}, 0x7FD0, 0x0} /*511.250000 MHz*/ , + {{' ',' ','6','1'}, 0x8190, 0x0} /*518.250000 MHz*/ , + {{' ',' ','6','2'}, 0x83D0, 0x0} /*527.250000 MHz*/ , + {{' ',' ','6','3'}, 0x8590, 0x0} /*534.250000 MHz*/ , + {{' ',' ','6','4'}, 0x8750, 0x0} /*541.250000 MHz*/ , + {{' ',' ','6','5'}, 0x8910, 0x0} /*548.250000 MHz*/ , + {{' ',' ','6','6'}, 0x8AD0, 0x0} /*555.250000 MHz*/ , + {{' ',' ','6','7'}, 0x8C90, 0x0} /*562.250000 MHz*/ , + {{' ',' ','6','8'}, 0x8E50, 0x0} /*569.250000 MHz*/ , + {{' ',' ','6','9'}, 0x9010, 0x0} /*576.250000 MHz*/ , + {{' ',' ','7','0'}, 0x91D0, 0x0} /*583.250000 MHz*/ , + {{' ',' ','7','1'}, 0x9390, 0x0} /*590.250000 MHz*/ , + {{' ',' ','7','2'}, 0x9550, 0x0} /*597.250000 MHz*/ , + {{' ',' ','7','3'}, 0x9710, 0x0} /*604.250000 MHz*/ , + {{' ',' ','7','4'}, 0x98D0, 0x0} /*611.250000 MHz*/ , + {{' ',' ','7','5'}, 0x9A90, 0x0} /*618.250000 MHz*/ , + {{' ',' ','7','6'}, 0x9C50, 0x0} /*625.250000 MHz*/ , + {{' ',' ','7','7'}, 0x9E10, 0x0} /*632.250000 MHz*/ , + {{' ',' ','7','8'}, 0x9FD0, 0x0} /*639.250000 MHz*/ , + {{' ',' ','7','9'}, 0xA190, 0x0} /*646.250000 MHz*/ , + {{' ',' ','8','0'}, 0xA350, 0x0} /*653.250000 MHz*/ +}; +XC3028_CHANNEL_MAP XC3028_channel_map_australia_cable = { + 80, + XC3028_channels_australia_cable +}; + + +#endif + diff --git a/drivers/media/video/empia/xc3028/xc3028_control.c b/drivers/media/video/empia/xc3028/xc3028_control.c new file mode 100644 index 0000000..f46aded --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_control.c @@ -0,0 +1,622 @@ +// +// Automatically generated C source file for +// control of the XC3028 via the i2c interface. +// +// Filename : xc3028_control.c +// Generated : 3/3/2006 2:00:53 PM +// +// (c) 2006, Xceive Corporation +// (C) 2008, Markus Rechberger +// +// +// Disclaimer: +// +// Xceive assumes no responsibility for any consequences arising from the use +// of this computer code, nor from any infringement of patents or the rights of +// third parties that may result from its use. No license is granted by +// implication or otherwise under any patent or other rights of Xceive. The +// customer is responsible for assuring that proper design and operating +// safeguards are observed to minimize inherent and procedural hazards. Xceive +// assumes no responsibility for applications assistance or customer product +// design. +// The present computer code is not authorized for use in medical, life-support +// equipment, or any other application involving a potential risk of severe +// property or environmental damage, personal injury, or death without prior +// express written approval of Xceive. Any such use is understood to be +// entirely at the user's risk. +// +// History: +// +// 8/4/2005 rpp : Changes for firmware v2.2 +// Changed 32-bit i2c register writes to have subaddress msb = 1: +// 1) Power-down (0x0008_0000 => 0x8008_0000) +// 2) S-Code sequence (0x2000_0000 => 0xA000_0000) +// 3) Set RF Channel (0x0002_0000 => 0x8002_0000) +// +// + + + +#include +#include +#include +#include +#include "xc3028_control.h" + +#define XCEIVE_XC3028_SUBADDR_FREQ_ERROR 0x0001 +#define XCEIVE_XC3028_SUBADDR_LOCK 0x0002 +#define XCEIVE_XC3028_SUBADDR_VERSION 0x0004 +#define XCEIVE_XC3028_SUBADDR_PRODUCT_ID 0x0008 +#define XCEIVE_XC3028_SUBADDR_HSYNC_FREQ 0x0010 +#define XCEIVE_XC3028_SUBADDR_FRAME_LINES 0x0020 +#define XCEIVE_XC3028_SUBADDR_QUALITY 0x0040 +#define XCEIVE_XC3028_SUBADDR_ADC_ENVELOPE 0x0100 + + +/* *************************************************************** */ +/* GLOBAL VARIABLES */ +/* *************************************************************** */ + + + + +/* *************************************************************** */ +/* *************************************************************** */ +/* */ +/* FOLLOWING FUNCTIONS TO BE IMPLEMENTED BY CUSTOMER */ +/* */ +/* *************************************************************** */ +/* *************************************************************** */ + + +int xc3028_send_i2c_data(struct tuner_module *module, unsigned char *bytes_to_send, int nb_bytes_to_send) +{ + struct xc3028_priv *priv = module->priv; + struct i2c_msg msg = { + .addr = priv->i2c_address, + .flags = 0, + .buf = bytes_to_send, + .len = nb_bytes_to_send + }; + + if (i2c_transfer(priv->adap, &msg, 1) != 1) { + printk(KERN_WARNING "xc3028 I2C read failed\n"); + return -EREMOTEIO; + } + + return 0; +} + +int xc3028_read_i2c_data(struct tuner_module *module, unsigned char *bytes_received, int nb_bytes_to_receive) +{ + struct xc3028_priv *priv = module->priv; + struct i2c_msg msg = { + .addr = priv->i2c_address, + .flags = I2C_M_RD, + .buf = bytes_received, + .len = nb_bytes_to_receive + }; + + if (i2c_transfer(priv->adap, &msg, 1) != 1) { + printk(KERN_WARNING "xc3028 I2C read failed\n"); + return -EREMOTEIO; + } + return 0; +} + +int xc3028_wait(int wait_ms) +{ + udelay(wait_ms*1000); + return 0; +} + + +/* *************************************************************** */ +/* *************************************************************** */ +/* */ +/* CODE PROVIDED BY XCEIVE */ +/* */ +/* *************************************************************** */ +/* *************************************************************** */ + + + +int xc3028_load_i2c_sequence(struct tuner_module *module, XC3028_I2C_SEQUENCE i2c_sequence) +{ + + int i,nbytes_to_send,pos,result = XC3028_RESULT_SUCCESS; + unsigned int length, index; + unsigned char buf[XC3028_MAX_I2C_WRITE_LENGTH]; + struct xc3028_priv *priv=module->priv; + + index=4; + + while (((*i2c_sequence.sequence)[index]!=0xFF) || ((*i2c_sequence.sequence)[index+1]!=0xFF)) { + + length = (*i2c_sequence.sequence)[index]*256 + (*i2c_sequence.sequence)[index+1]; + + if (length==0x0000) { + //this is in fact a RESET command + if (priv->callback) + result = priv->callback(priv->dev, XC3028_CHIP_RESET, NULL); + index+=2; + if (result!=XC3028_RESULT_SUCCESS) + return result; + } else if (length & 0x8000) { + //this is in fact a WAIT command + result = xc3028_wait(length & 0x7FFF); + index+=2; + if (result!=XC3028_RESULT_SUCCESS) + return result; + } else { + //send i2c data whilst ensuring individual transactions do + //not exceed XC3028_MAX_I2C_WRITE_LENGTH bytes + index+=2; + buf[0] = (*i2c_sequence.sequence)[index]; + pos = 1; + while (pos < length) { + + if ( (length-pos) > XC3028_MAX_I2C_WRITE_LENGTH-1) { + nbytes_to_send = XC3028_MAX_I2C_WRITE_LENGTH; + } else { + nbytes_to_send = (length-pos+1); + } + + for (i=1;i>8) & 0xFF; + buf[1]=subaddr & 0xFF; + result = xc3028_send_i2c_data(module, buf, 2); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + result = xc3028_read_i2c_data(module, buf, 2); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + (*data) = buf[0]; + (*data) = ((*data) << 8) + buf[1]; + + return XC3028_RESULT_SUCCESS; +} + + + +int xc3028_initialize(struct tuner_module *module, XC3028_TV_MODE* new_tv_mode_ptr, XC3028_CHANNEL_MAP* new_channel_map_ptr) +{ + + int result = XC3028_RESULT_SUCCESS; + struct xc3028_priv *priv = module->priv; + int base_firmware_changed; + int std_firmware_changed; + + // if base firmware has changed, then do hardware reset and reload base + // firmware file + + if (new_tv_mode_ptr == NULL || new_channel_map_ptr == NULL) { + printk("NULL PTR\n"); + return -EINVAL; + } + + base_firmware_changed = (new_tv_mode_ptr->base_firmware_ptr != priv->XC3028_current_tv_mode.base_firmware_ptr); + std_firmware_changed = (new_tv_mode_ptr->std_firmware_ptr != priv->XC3028_current_tv_mode.std_firmware_ptr); + + + if (base_firmware_changed) { + if(priv->callback) + result = priv->callback(priv->dev, XC3028_CHIP_RESET, NULL); + + if (result!=XC3028_RESULT_SUCCESS) { + return result; + } + + result = xc3028_load_i2c_sequence(module, *(new_tv_mode_ptr->base_firmware_ptr)); + if (result!=XC3028_RESULT_SUCCESS) { + return result; + } + } + + // if base firmware has changed -or- standard-specific firmware has + // changed then reload standard-specific firmware file + if (base_firmware_changed || std_firmware_changed) { + result = xc3028_load_i2c_sequence(module, *(new_tv_mode_ptr->std_firmware_ptr)); + if (result!=XC3028_RESULT_SUCCESS) { + return result; + } + } + + priv->XC3028_current_tv_mode = *new_tv_mode_ptr; + priv->XC3028_current_channel_map_ptr = new_channel_map_ptr; + + // if base firmware has changed -or- standard-specific firmware has + // changed then re-write RF channel + + if (base_firmware_changed || std_firmware_changed) { + //do not return error if channel is incorrect... + xc3028_set_channel(module, priv->XC3028_current_channel); + } + + return XC3028_RESULT_SUCCESS; +} + +int xc3028_shutdown(struct tuner_module *module) +{ + //unsigned char buf[4] = {0x00, 0x08, 0x00, 0x00}; + unsigned char buf[4] = {0x80, 0x08, 0x00, 0x00}; //modified for firmware v2.2 + struct xc3028_priv *priv = module->priv; + + xc3028_send_i2c_data(module, buf, 4); //no ack check + + //reset current firmware pointers to force firmware reload + //during subsequent call to xc3028_initialize() + priv->XC3028_current_tv_mode.base_firmware_ptr=0; + priv->XC3028_current_tv_mode.std_firmware_ptr=0; + + return 0; +} + +int xc3028_set_frequency(struct tuner_module *module, unsigned long frequency_in_hz) +{ + unsigned int frequency_code; + XC3028_CHANNEL new_channel; + struct xc3028_priv *priv = module->priv; + + if (priv->XC3028_current_channel_map_ptr == 0) { + printk("no channelmap specified\n"); + return XC3028_RESULT_NO_CHANNELMAP_SPECIFIED; + } + + if ((frequency_in_hz>1023000000) || (frequency_in_hz<1000000)) { + printk("out of range\n"); + return XC3028_RESULT_OUT_OF_RANGE; + } + + frequency_code = (unsigned int)frequency_in_hz/15625; + + new_channel.frequency = frequency_code; + new_channel.dcode = 0xFF; + + return xc3028_set_channel(module, new_channel); +} + + +int xc3028_send_scode(struct tuner_module *module, unsigned char dcode) +{ + unsigned char buf[4]; + int result; + struct xc3028_priv *priv = module->priv; + + //buf[0] = 0x20; + buf[0] = 0xA0; // modified for firmware v2.2 + buf[1] = 0x00; + buf[2] = 0x00; + buf[3] = 0x00; + + if (priv->XC3028_current_tv_mode.scode_table_ptr==0) { + return XC3028_RESULT_SUCCESS; + } + + result = xc3028_send_i2c_data(module, buf, 4); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + result = xc3028_send_i2c_data(module, (*(priv->XC3028_current_tv_mode.scode_table_ptr))[dcode], 12); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + buf[0] = 0x00; + buf[1] = 0x8C; + + result = xc3028_send_i2c_data(module, buf, 2); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + return XC3028_RESULT_SUCCESS; +} + +int xc3028_set_channel(struct tuner_module *module, XC3028_CHANNEL new_channel) +{ + int i,result; + unsigned int frequency; + unsigned char dcode; + unsigned char buf[4]; + struct xc3028_priv *priv = module->priv; + + priv->XC3028_current_channel = new_channel; + + frequency = new_channel.frequency; + if (frequency==0) { + if (priv->XC3028_current_channel_map_ptr == 0) { + return XC3028_RESULT_NO_CHANNELMAP_SPECIFIED; + } + + //lookup frequency from table using identifier + for (i=0;iXC3028_current_channel_map_ptr->nb_channels;i++) { + if ( (priv->XC3028_current_channel_map_ptr->channels[i].identifier[0] == new_channel.identifier[0]) && + (priv->XC3028_current_channel_map_ptr->channels[i].identifier[1] == new_channel.identifier[1]) && + (priv->XC3028_current_channel_map_ptr->channels[i].identifier[2] == new_channel.identifier[2]) && + (priv->XC3028_current_channel_map_ptr->channels[i].identifier[3] == new_channel.identifier[3]) ) { + frequency = priv->XC3028_current_channel_map_ptr->channels[i].frequency; + } + } + } + + if (frequency==0) + return XC3028_RESULT_INVALID_CHANNEL_IDENTIFIER; + + /* if supplied dcode is 0xFF, then lookup dcode using current channel map */ + dcode = new_channel.dcode; + if (dcode==0xFF) { + if (priv->XC3028_current_channel_map_ptr == 0) { + return XC3028_RESULT_NO_CHANNELMAP_SPECIFIED; + } + + dcode=0; //default value if no close channel found + for (i=0;i<(priv->XC3028_current_channel_map_ptr->nb_channels);i++) { + if ( (frequency > priv->XC3028_current_channel_map_ptr->channels[i].frequency - 64) && + (frequency < priv->XC3028_current_channel_map_ptr->channels[i].frequency + 64) ) { + dcode = priv->XC3028_current_channel_map_ptr->channels[i].dcode; + } + } + } + + result = xc3028_send_scode(module, dcode); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + //buf[0] = 0x00; + buf[0] = 0x80; // modified for firmware v2.2 + buf[1] = 0x02; + buf[2] = 0x00; + buf[3] = 0x00; + + result = xc3028_send_i2c_data(module, buf, 4); + if (result!=XC3028_RESULT_SUCCESS) + return result; + + buf[0] = 0x00; + buf[1] = dcode & 0x0F; + buf[2] = (frequency>>8) % 256; + buf[3] = (frequency) % 256; + + return xc3028_send_i2c_data(module, buf, 4); +} + +// Obtain current frequency error of XC3028. +// Refer to datasheet for values. +int xc3028_get_frequency_error(struct tuner_module *module, long *frequency_error_mhz) +{ + unsigned short int data; + short int signed_data; + int result; + + result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_FREQ_ERROR, &data); + if (result) + return result; + + signed_data = (short int)data; + (*frequency_error_mhz) = signed_data * 15625; + + return 0; +} + +// Obtain current lock status of XC3028. +// Refer to datasheet for values. +int xc3028_get_lock_status(struct tuner_module *module, unsigned short int *lock_status) +{ + return xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_LOCK, lock_status); +} + +// Obtain Version codes from XC3028. +// Refer to datasheet for values. +int xc3028_get_version(struct tuner_module *module, + unsigned char* hw_majorversion, + unsigned char* hw_minorversion, + unsigned char* fw_majorversion, + unsigned char* fw_minorversion) +{ + unsigned short int data; + int result; + + result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_VERSION, &data); + if (result) + return result; + + (*hw_majorversion) = (data>>12) & 0x0F; + (*hw_minorversion) = (data>>8) & 0x0F; + (*fw_majorversion) = (data>>4) & 0x0F; + (*fw_minorversion) = (data) & 0x0F; + + return 0; + } + + // Obtain Product ID from XC3028. + // Refer to datasheet for values. + int xc3028_get_product_id(struct tuner_module *module, + unsigned short int *product_id) { + return xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_PRODUCT_ID, product_id); + } + + // Obtain current horizontal video frequency as measured by XC3028. + // Refer to datasheet for values. + int xc3028_get_hsync_freq(struct tuner_module *module, long *hsync_freq_khz) + { + unsigned short int data; + int result; + + result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_HSYNC_FREQ, &data); + if (result) + return result; + + (*hsync_freq_khz) = (data&0x0fff)*763/100; + + return 0; + } + + // Obtain current number of lines per frame as measured by XC3028. + // Refer to datasheet for values. + int xc3028_get_frame_lines(struct tuner_module *module, unsigned short int *frame_lines) + { + unsigned short int data; + int result; + + result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_FRAME_LINES, &data); + if (result) + return result; + + (*frame_lines) = (data & 0x03ff); + + return 0; + } + + // Obtain current video signal quality as measured by XC3028. + // Refer to datasheet for values. + int xc3028_get_quality(struct tuner_module *module, unsigned short int *quality) + { + return xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_QUALITY, quality); + } + +// Scan via 2.5MHz increments from freq_min to freq_max and update table +// with frequencies of channels found. For all channels that lock, we do +// additional check on carrier stability and quality level +int xc3028_full_scan(struct tuner_module *module, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found ) + { + int num_channels = 0; + XC3028_CHANNEL curr_channel; + unsigned short int lock_status; + long freq_error, min_freq_error, max_freq_error; + unsigned short int quality, max_quality; + int res; + + curr_channel.frequency = freq_min; + curr_channel.dcode = 0xFF; + + while ((num_channelsfreq_error) ? max_freq_error : freq_error; + min_freq_error = (min_freq_errorquality) ? max_quality : quality; + + xc3028_wait(6); + + res=xc3028_get_frequency_error(module, &freq_error); + if (res!=XC3028_RESULT_SUCCESS) return res; + max_freq_error = (max_freq_error>freq_error) ? max_freq_error : freq_error; + min_freq_error = (min_freq_errorquality) ? max_quality : quality; + + + //We got lock, but now we check that carrier is stable and that quality is sufficient + if (((max_freq_error-min_freq_error)<60000) && (max_quality>0)) { + //add new channel + freq_list[num_channels]=curr_channel.frequency + (int)freq_error / 15625; + + if (num_channels>0) { + //checking for duplicate in table + if ((freq_list[num_channels-1]freq_list[num_channels]-4) ) { + //previous channel is same: cancel new entry + num_channels--; + } + } + + num_channels++; + + // update channel frequency for next scan step + curr_channel.frequency += 384; // 384*15.625khz = 6 MHz + } else { + // update channel frequency for next scan step + curr_channel.frequency += 160; // 160*15.625khz = 2.5 MHz + } + } + } + + (*nb_freq_found) = num_channels; + + return XC3028_RESULT_SUCCESS; + } + + +int xc3028_tuner_cmd(struct tuner_module *module, unsigned int cmd, void *data) +{ + switch(cmd) { + case XC3028_INIT_TUNER: + { + struct xc3028_init_cmd *init_cmd = data; + xc3028_initialize(module, init_cmd->new_tv_mode_ptr, init_cmd->new_channel_map_ptr); + break; + } + case XC3028_SET_CHANNEL: + { + XC3028_CHANNEL new_channel=*((XC3028_CHANNEL*)data); + xc3028_set_channel(module, new_channel); + break; + } + default: + return -EINVAL; + } + return 0; +} diff --git a/drivers/media/video/empia/xc3028/xc3028_control.h b/drivers/media/video/empia/xc3028/xc3028_control.h new file mode 100644 index 0000000..407ae2e --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_control.h @@ -0,0 +1,207 @@ +// +// Automatically generated C header file for +// control of the XC3028 via the i2c interface. +// +// Filename : xc3028_control.h +// Generated : 3/3/2006 2:00:53 PM +// +// (c) 2006, Xceive Corporation +// +// +// Disclaimer: +// +// Xceive assumes no responsibility for any consequences arising from the use +// of this computer code, nor from any infringement of patents or the rights of +// third parties that may result from its use. No license is granted by +// implication or otherwise under any patent or other rights of Xceive. The +// customer is responsible for assuring that proper design and operating +// safeguards are observed to minimize inherent and procedural hazards. Xceive +// assumes no responsibility for applications assistance or customer product +// design. +// The present computer code is not authorized for use in medical, life-support +// equipment, or any other application involving a potential risk of severe +// property or environmental damage, personal injury, or death without prior +// express written approval of Xceive. Any such use is understood to be +// entirely at the user's risk. +// +// + +#ifndef __XC3028_CONTROL_H +#define __XC3028_CONTROL_H + +/* *********************************************************************** */ +/* Defines */ +/* *********************************************************************** */ + +#include "tunerchip.h" + +#define XC3028_MAX_I2C_WRITE_LENGTH 64 + +#define XC3028_RESULT_SUCCESS 0 +#define XC3028_RESULT_RESET_FAILURE 1 +#define XC3028_RESULT_I2C_WRITE_FAILURE 2 +#define XC3028_RESULT_I2C_READ_FAILURE 3 +#define XC3028_RESULT_WAIT_FAILURE 4 +#define XC3028_RESULT_OUT_OF_RANGE 5 +#define XC3028_RESULT_INVALID_CHANNEL_IDENTIFIER 6 +#define XC3028_RESULT_NO_CHANNELMAP_SPECIFIED 7 + +/* *********************************************************************** */ +/* Type Declarations */ +/* *********************************************************************** */ + +/* + This represents an I2C firmware file encoded as a string of unsigned char. + Format is as follows: + + char[0 ]=len0_MSB -> len = len_MSB * 256 + len_LSB + char[1 ]=len0_LSB -> length of first write transaction + char[2 ]=data0 -> first byte to be sent + char[3 ]=data1 + char[4 ]=data2 + char[ ]=... + char[M ]=dataN -> last byte to be sent + char[M+1]=len1_MSB -> len = len_MSB * 256 + len_LSB + char[M+2]=len1_LSB -> length of second write transaction + char[M+3]=data0 + char[M+4]=data1 + ... + etc. + + The [len] value should be interpreted as follows: + + len= len_MSB _ len_LSB + len=1111_1111_1111_1111 : End of I2C_SEQUENCE + len=0000_0000_0000_0000 : Reset command: Do hardware reset + len=0NNN_NNNN_NNNN_NNNN : Normal transaction: number of bytes = {1:32767) + len=1WWW_WWWW_WWWW_WWWW : Wait command: wait for {1:32767} ms + + For the RESET and WAIT commands, the two following bytes will contain + immediately the length of the following transaction. + +*/ + + + +typedef struct { + unsigned char **sequence; +} XC3028_I2C_SEQUENCE; + +typedef unsigned char XC3028_SCODE_TABLE[16][12]; + +typedef struct { + char identifier[4]; + unsigned int frequency; + unsigned char dcode; +} XC3028_CHANNEL; + +typedef struct { + int nb_channels; + XC3028_CHANNEL *channels; +} XC3028_CHANNEL_MAP; + +typedef struct { + XC3028_I2C_SEQUENCE *base_firmware_ptr; + XC3028_I2C_SEQUENCE *std_firmware_ptr; + XC3028_SCODE_TABLE *scode_table_ptr; +} XC3028_TV_MODE; + +struct tuner_module; + +/* *********************************************************************** */ +/* Dummy functions to be implemented by customer */ +/* *********************************************************************** */ + +// Sends data bytes to xc3028 via I2C starting with +// bytes_to_send[0] and ending with bytes_to_send[nb_bytes_to_send-1] +// Returns one of the XCEIVE_XC3028_RESULT result codes listed above +int i2c_send_to_xc3028(struct tuner_module *client, unsigned char *bytes_to_send, int nb_bytes_to_send); +// Reads data bytes from xc3028 via I2C starting with +// bytes_received[0] and ending with bytes_received[nb_bytes_to_receive-1] +// Returns one of the XCEIVE_XC3028_RESULT result codes listed above +int i2c_receive_from_xc3028(struct tuner_module *client, unsigned char *bytes_received, int nb_bytes_to_receive); +// Does hardware reset +// Returns one of the XCEIVE_XC3028_RESULT result codes listed above +int reset_xc3028(struct tuner_module *client); +// Waits for wait_ms milliseconds +// Returns one of the XCEIVE_XC3028_RESULT result codes listed above +int wait_xc3028(int wait_ms); + +/* *********************************************************************** */ +/* Functions implemented in xc3028_init.c file */ +/* All return one of the XCEIVE_XC3028_RESULT result codes as listed above */ +/* *********************************************************************** */ + +// Initialize device according to supplied tv mode. +// Supplied channel map will be used for future calls to xc3028_set_channel. +int xc3028_initialize(struct tuner_module *client, XC3028_TV_MODE* new_tv_mode_ptr, XC3028_CHANNEL_MAP* new_channel_map_ptr); + +// Switch to new RF channel. +// Set channel.frequency=0 to enable lookup of frequency+dcode using channel.identifier +// Set channel.dcode to 0xFF to enable dcode lookup from channel map, otherwise +// provided value is used instead. +int xc3028_set_channel(struct tuner_module *client, XC3028_CHANNEL new_channel); + +// Power-down device. +// To restart, call xc3028_initialize(). +int xc3028_shutdown(struct tuner_module *client); + +// Get current frequency error. +int xc3028_get_frequency_error(struct tuner_module *client, long *frequency_error_mhz); + +// Get lock status. +int xc3028_get_lock_status(struct tuner_module *client, unsigned short int *lock_status); + +// Get device version information. +int xc3028_get_version( struct tuner_module *client, + unsigned char* hw_majorversion,unsigned char* hw_minorversion, + unsigned char* fw_majorversion, unsigned char* fw_minorversion); + +// Get device product ID. +int xc3028_get_product_id(struct tuner_module *client, unsigned short int *product_id); + +// Get horizontal sync frequency. +int xc3028_get_hsync_freq(struct tuner_module *client, long *hsync_freq_khz); + +// Get number of lines per frame. +int xc3028_get_frame_lines(struct tuner_module *client, unsigned short int *frame_lines); + +// Get quality estimate. +int xc3028_get_quality(struct tuner_module *client, unsigned short int *quality); + +// Do full scan for channels +int xc3028_full_scan(struct tuner_module *client, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found); + +int xc3028_set_frequency(struct tuner_module *module, unsigned long frequency_in_hz); + +int xc3028_tuner_cmd(struct tuner_module *module, unsigned int cmd, void *data); + +struct xc3028_priv { + struct i2c_adapter *adap; + int i2c_address; + XC3028_TV_MODE XC3028_current_tv_mode; + XC3028_CHANNEL_MAP *XC3028_current_channel_map_ptr; + XC3028_CHANNEL XC3028_current_channel; + int (*callback)(void *dev, unsigned int cmd, void *data); + void *dev; +}; + + +#define XC3028_INIT_TUNER 1 +#define XC3028_SET_CHANNEL 2 +#define XC3028_CHIP_RESET 3 +#define XC3028_SET_FIRMWARE 4 + +struct xc3028_init_cmd { + XC3028_TV_MODE* new_tv_mode_ptr; + XC3028_CHANNEL_MAP* new_channel_map_ptr; +}; + +struct xc3028_channel { + XC3028_CHANNEL new_channel; +}; + + +#endif + + diff --git a/drivers/media/video/empia/xc3028/xc3028_firmwares.h b/drivers/media/video/empia/xc3028/xc3028_firmwares.h new file mode 100644 index 0000000..3aebd60 --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_firmwares.h @@ -0,0 +1,691 @@ +// +// Automatically generated C header file for +// control of the XC3028 via the i2c interface. +// +// Filename : xc3028_firmwares.h +// Generated : 3/3/2006 2:00:50 PM +// Firmware version : 2.7 +// +// (c) 2006, Xceive Corporation +// + +#ifndef __XC3028_FIRMWARES_H +#define __XC3028_FIRMWARES_H + +#include "xc3028_scodes.h" +#include "xc3028_control.h" + + +// ************************************************************* +// *** LIST OF AVAILABLE TV_MODES +// *** TV_MODE is selected during call to xc3028_initialize() +// *** +// *** 1) XC3028_tv_mode_m_n_ntsc_pal_btsc_if +// *** 2) XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd +// *** 3) XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd +// *** 4) XC3028_tv_mode_m_n_ntsc_pal_a2_if +// *** 5) XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd +// *** 6) XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd +// *** 7) XC3028_tv_mode_m_n_ntsc_pal_mts +// *** 8) XC3028_tv_mode_m_n_ntsc_pal_mts_lcd +// *** 9) XC3028_tv_mode_m_n_ntsc_pal_mts_lcd_nogd +// *** 10) XC3028_tv_mode_m_n_ntsc_pal_a2_mono +// *** 11) XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd +// *** 12) XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd +// *** 13) XC3028_tv_mode_m_n_ntsc_pal_eiaj +// *** 14) XC3028_tv_mode_i_pal_nicam +// *** 15) XC3028_tv_mode_b_g_pal_a2_a +// *** 16) XC3028_tv_mode_b_g_pal_nicam_a +// *** 17) XC3028_tv_mode_b_g_pal_a2_b +// *** 18) XC3028_tv_mode_b_g_pal_nicam_b +// *** 19) XC3028_tv_mode_l_secam_nicam +// *** 20) XC3028_tv_mode_l_secam_nicam_am_only +// *** 21) XC3028_tv_mode_lp_secam_nicam +// *** 22) XC3028_tv_mode_d_k_pal_a2 +// *** 23) XC3028_tv_mode_d_k_pal_nicam +// *** 24) XC3028_tv_mode_d_k_secam_a2_dk1 +// *** 25) XC3028_tv_mode_d_k_secam_a2_l_dk3 +// *** 26) XC3028_tv_mode_fm_radio_input2 +// *** 27) XC3028_tv_mode_fm_radio_input1 +// *** 28) XC3028_tv_mode_dtv6_atsc_lg_6_0mhz +// *** 29) XC3028_tv_mode_dtv6_atsc_ati_6_38mhz +// *** 30) XC3028_tv_mode_dtv6_atsc_oren_5_38mhz +// *** 31) XC3028_tv_mode_dtv6_atsc_oren_3_6mhz +// *** 32) XC3028_tv_mode_dtv6_atsc_toyota_3_88mhz +// *** 33) XC3028_tv_mode_dtv6_atsc_toyota_7_94mhz +// *** 34) XC3028_tv_mode_dtv6_qam_6_0mhz +// *** 35) XC3028_tv_mode_dtv8_dibcom_5_2mhz +// *** 36) XC3028_tv_mode_dtv78_dibcom_5_2mhz +// *** 37) XC3028_tv_mode_dtv7_dibcom_5_2mhz +// *** 38) XC3028_tv_mode_dtv6_zarlink_qam_4_56mhz +// *** 39) XC3028_tv_mode_dtv8_zarlink_4_56mhz +// *** 40) XC3028_tv_mode_dtv78_zarlink_4_56mhz +// *** 41) XC3028_tv_mode_dtv7_zarlink_4_56mhz +// *** 42) XC3028_tv_mode_dtv8_china_temporary +// *** 43) XC3028_tv_mode_i_pal_nicam_mono +// *** 44) XC3028_tv_mode_b_g_pal_a2_a_mono +// *** 45) XC3028_tv_mode_b_g_pal_nicam_a_mono +// *** 46) XC3028_tv_mode_b_g_pal_a2_b_mono +// *** 47) XC3028_tv_mode_b_g_pal_nicam_b_mono +// *** 48) XC3028_tv_mode_d_k_pal_a2_mono +// *** 49) XC3028_tv_mode_d_k_pal_nicam_mono +// *** 50) XC3028_tv_mode_d_k_secam_a2_dk1_mono +// *** 51) XC3028_tv_mode_d_k_secam_a2_l_dk3_mono +// *** +// ************************************************************* + +// ************************************************************ +// *** BASE FIRMWARE FILES +// *** These declarations are not used directly by user +// ************************************************************ + +unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE +}; + +unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE +}; + +unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_fm_init = { + &XC3028_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE +}; + +unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init = { + &XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE +}; + +unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_init = { + &XC3028_base_firmware_i2c_files_base_firmwares_init_SEQUENCE +}; + +unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_mts_init = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE +}; + + +// ************************************************************ +// *** STANDARD-SPECIFIC FIRMWARE FILES +// *** These declarations are not used directly by user +// ************************************************************ + +unsigned char *XC3028_std_firmware_bg_pal_a2_a_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_a = { + &XC3028_std_firmware_bg_pal_a2_a_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_a2_a_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_a_mts = { + &XC3028_std_firmware_bg_pal_a2_a_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_a2_b_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_b = { + &XC3028_std_firmware_bg_pal_a2_b_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_a2_b_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_b_mts = { + &XC3028_std_firmware_bg_pal_a2_b_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_nicam_a_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_a = { + &XC3028_std_firmware_bg_pal_nicam_a_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_nicam_a_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_a_mts = { + &XC3028_std_firmware_bg_pal_nicam_a_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_nicam_b_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_b = { + &XC3028_std_firmware_bg_pal_nicam_b_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_bg_pal_nicam_b_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_b_mts = { + &XC3028_std_firmware_bg_pal_nicam_b_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_pal_a2_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_a2 = { + &XC3028_std_firmware_dk_pal_a2_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_pal_a2_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_a2_mts = { + &XC3028_std_firmware_dk_pal_a2_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_pal_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_nicam = { + &XC3028_std_firmware_dk_pal_nicam_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_pal_nicam_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_nicam_mts = { + &XC3028_std_firmware_dk_pal_nicam_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_secam_a2_dk1_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_dk1 = { + &XC3028_std_firmware_dk_secam_a2_dk1_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_dk1_mts = { + &XC3028_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_secam_a2_l_dk3_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_l_dk3 = { + &XC3028_std_firmware_dk_secam_a2_l_dk3_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_l_dk3_mts = { + &XC3028_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv6_atsc_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv6_atsc_2633 = { + &XC3028_std_firmware_dtv6_atsc_2633_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv6_qam_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv6_qam_2620 = { + &XC3028_std_firmware_dtv6_qam_2620_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv6_qam_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv6_qam_2633 = { + &XC3028_std_firmware_dtv6_qam_2633_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv7_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv7_2620 = { + &XC3028_std_firmware_dtv7_2620_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv7_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv7_2633 = { + &XC3028_std_firmware_dtv7_2633_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv78_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv78_2620 = { + &XC3028_std_firmware_dtv78_2620_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv78_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv78_2633 = { + &XC3028_std_firmware_dtv78_2633_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv8_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv8_2620 = { + &XC3028_std_firmware_dtv8_2620_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_dtv8_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv8_2633 = { + &XC3028_std_firmware_dtv8_2633_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_fm_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_fm = { + &XC3028_std_firmware_fm_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_i_pal_nicam_SEQUENCE; + + +XC3028_I2C_SEQUENCE XC3028_std_firmware_i_pal_nicam = { + &XC3028_std_firmware_i_pal_nicam_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_i_pal_nicam_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_i_pal_nicam_mts = { + &XC3028_std_firmware_i_pal_nicam_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_l_secam_am_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_l_secam_am = { + &XC3028_std_firmware_l_secam_am_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_l_secam_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_l_secam_nicam = { + &XC3028_std_firmware_l_secam_nicam_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_lp_secam_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_lp_secam_nicam = { + &XC3028_std_firmware_lp_secam_nicam_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_a2_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2 = { + &XC3028_std_firmware_mn_ntscpal_a2_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2_lcd = { + &XC3028_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd = { + &XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_a2_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2_mts = { + &XC3028_std_firmware_mn_ntscpal_a2_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_btsc_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_btsc = { + &XC3028_std_firmware_mn_ntscpal_btsc_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_btsc_lcd = { + &XC3028_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd = { + &XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_eiaj_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_eiaj = { + &XC3028_std_firmware_mn_ntscpal_eiaj_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_mts = { + &XC3028_std_firmware_mn_ntscpal_mts_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_mts_lcd = { + &XC3028_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE +}; + +unsigned char *XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd = { + &XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE +}; + + +// ************************************************************ +// *** TV_MODES +// *** These are used when calling xc3028_initialize() +// ************************************************************ + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_btsc_if = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_mn_ntscpal_btsc, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_mn_ntscpal_btsc_lcd, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_if = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_mn_ntscpal_a2, + &XC3028_scode_table_4600000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_mn_ntscpal_a2_lcd, + &XC3028_scode_table_4600000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd, + &XC3028_scode_table_4600000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_mts = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_mts, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_mts_lcd = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_mts_lcd, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_mts_lcd_nogd = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_a2_mts, + &XC3028_scode_table_4320000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_mts_lcd, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_eiaj = { + &XC3028_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028_std_firmware_mn_ntscpal_eiaj, + &XC3028_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_i_pal_nicam = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_i_pal_nicam, + &XC3028_scode_table_6240000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_a = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_bg_pal_a2_a, + &XC3028_scode_table_5640000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_a = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_bg_pal_nicam_a, + &XC3028_scode_table_5740000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_b = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_bg_pal_a2_b, + &XC3028_scode_table_5640000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_b = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_bg_pal_nicam_b, + &XC3028_scode_table_5740000 +}; + +XC3028_TV_MODE XC3028_tv_mode_l_secam_nicam = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_l_secam_nicam, + &XC3028_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028_tv_mode_l_secam_nicam_am_only = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_l_secam_am, + &XC3028_scode_table_6500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_lp_secam_nicam = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_lp_secam_nicam, + &XC3028_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_pal_a2 = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dk_pal_a2, + &XC3028_scode_table_6600000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_pal_nicam = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dk_pal_nicam, + &XC3028_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_dk1 = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dk_secam_a2_dk1, + &XC3028_scode_table_6340000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_l_dk3 = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dk_secam_a2_l_dk3, + &XC3028_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028_tv_mode_fm_radio_input2 = { + &XC3028_base_firmware_i2c_files_base_firmwares_fm_init, + &XC3028_std_firmware_fm, + 0 +}; + +XC3028_TV_MODE XC3028_tv_mode_fm_radio_input1 = { + &XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init, + &XC3028_std_firmware_fm, + 0 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_lg_6_0mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_atsc_2633, + &XC3028_scode_table_6200000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_ati_6_38mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_atsc_2633, + &XC3028_scode_table_6580000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_oren_5_38mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_atsc_2633, + &XC3028_scode_table_5580000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_oren_3_6mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_atsc_2633, + &XC3028_scode_table_3800000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_toyota_3_88mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_atsc_2633, + &XC3028_scode_table_4080000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_toyota_7_94mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_atsc_2633, + &XC3028_scode_table_8140000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_qam_6_0mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_qam_2633, + &XC3028_scode_table_6200000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv8_dibcom_5_2mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv8_2633, + &XC3028_scode_table_5400000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv78_dibcom_5_2mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv78_2633, + &XC3028_scode_table_5400000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv7_dibcom_5_2mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv7_2633, + &XC3028_scode_table_5900000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv6_zarlink_qam_4_56mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_init, + &XC3028_std_firmware_dtv6_qam_2620, + &XC3028_scode_table_4760000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv8_zarlink_4_56mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv8_2620, + &XC3028_scode_table_4760000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv78_zarlink_4_56mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv78_2620, + &XC3028_scode_table_4760000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv7_zarlink_4_56mhz = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv7_2620, + &XC3028_scode_table_5260000 +}; + +XC3028_TV_MODE XC3028_tv_mode_dtv8_china_temporary = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028_std_firmware_dtv8_2633, + &XC3028_scode_table_5400000 +}; + +XC3028_TV_MODE XC3028_tv_mode_i_pal_nicam_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_i_pal_nicam_mts, + &XC3028_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_a_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_bg_pal_a2_a_mts, + &XC3028_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_a_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_bg_pal_nicam_a_mts, + &XC3028_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_b_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_bg_pal_a2_b_mts, + &XC3028_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_b_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_bg_pal_nicam_b_mts, + &XC3028_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_pal_a2_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_dk_pal_a2_mts, + &XC3028_scode_table_6680000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_pal_nicam_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_dk_pal_nicam_mts, + &XC3028_scode_table_6500000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_dk1_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_dk_secam_a2_dk1_mts, + &XC3028_scode_table_6320000 +}; + +XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_l_dk3_mono = { + &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028_std_firmware_dk_secam_a2_l_dk3_mts, + &XC3028_scode_table_6500000 +}; + + +#endif + diff --git a/drivers/media/video/empia/xc3028/xc3028_module.c b/drivers/media/video/empia/xc3028/xc3028_module.c new file mode 100644 index 0000000..e94ec7a --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_module.c @@ -0,0 +1,51 @@ +#include +#include +#include +#include "xc3028_control.h" +#include "xc3028_module.h" +#include "tunerchip.h" + +static struct tuner_module xc3028_tuner_module = { + .shutdown = xc3028_shutdown, + .set_frequency = xc3028_set_frequency, + .tuner_cmd = xc3028_tuner_cmd, + .get_lock_status = xc3028_get_lock_status, + .get_version = xc3028_get_version, + .full_scan = xc3028_full_scan, + .release = xc3028_tuner_release + +}; + +struct tuner_module *xc3028_tuner_attach(struct xc3028_config *config) +{ + struct tuner_module *module; + struct xc3028_priv *priv; + + module = kzalloc(sizeof(struct tuner_module), GFP_KERNEL); + + priv = kzalloc(sizeof(struct xc3028_priv), GFP_KERNEL); + + priv->callback = config->callback; + priv->dev = config->dev; + priv->i2c_address = config->i2c_address; + priv->adap = config->adap; + + memcpy(module, &xc3028_tuner_module, sizeof(struct tuner_module)); + module->priv = priv; + + xc3028_initialize(module, config->new_tv_mode_ptr, config->new_channel_map_ptr); + + return module; +} + +void xc3028_tuner_release(struct tuner_module *tuner) +{ + kfree(tuner->priv); + kfree(tuner); +} + +EXPORT_SYMBOL_GPL(xc3028_tuner_attach); + +MODULE_AUTHOR("Markus Rechberger "); +MODULE_DESCRIPTION("Xceive 3028 Driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/media/video/empia/xc3028/xc3028_module.h b/drivers/media/video/empia/xc3028/xc3028_module.h new file mode 100644 index 0000000..f143415 --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_module.h @@ -0,0 +1,29 @@ +#ifndef _XC3028_TUNER_H +#define _XC3028_TUNER_H + +struct i2c_adapter; + +struct xc3028_config { + struct i2c_adapter *adap; + XC3028_TV_MODE* new_tv_mode_ptr; + XC3028_CHANNEL_MAP* new_channel_map_ptr; + int (*callback)(void *dev, unsigned int cmd, void *data); + void *dev; + int i2c_address; +}; + +void xc3028_tuner_release(struct tuner_module *tuner); + +#if 1 +//defined(CONFIG_DVB_TUNER_XC3028) || (defined(CONFIG_DVB_TUNER_XC3028_MODULE) && defined(MODULE)) +struct tuner_module *xc3028_tuner_attach(struct xc3028_config *config); +#else +static inline struct tuner_module *xc3028_tuner_attach(struct xc3028_config) +{ + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); + return NULL; +} +#endif + +#endif // _XC3028_TUNER_H + diff --git a/drivers/media/video/empia/xc3028/xc3028_scodes.h b/drivers/media/video/empia/xc3028/xc3028_scodes.h new file mode 100644 index 0000000..f19d5af --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028_scodes.h @@ -0,0 +1,626 @@ +// +// Automatically generated C header file for +// control of the XC3028 via the i2c interface. +// +// Filename : xc3028_scodes.h +// Generated : 3/3/2006 2:00:52 PM +// +// (c) 2006, Xceive Corporation +// + +#ifndef __XC3028_SCODES_H +#define __XC3028_SCODES_H + +#include "xc3028_control.h" + +XC3028_SCODE_TABLE XC3028_scode_table_5400000 = { + { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C }, + { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 }, + { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C }, + { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 }, + { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 }, + { 0x1E, 0x15, 0x32, 0xDB, 0x94, 0x02, 0x49, 0x25, 0x69, 0x86, 0x96, 0x5B }, + { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 }, + { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 }, + { 0x1E, 0x1E, 0xE2, 0x9B, 0x6E, 0x02, 0x52, 0x4D, 0xA9, 0x56, 0x65, 0x5A }, + { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A }, + { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x14, 0xD2, 0x94, 0xE0, 0x02, 0x9B, 0x6D, 0x99, 0x06, 0x5A, 0x94 }, + { 0x1E, 0x01, 0x72, 0xDC, 0xB8, 0x02, 0x92, 0x49, 0xA9, 0x86, 0x65, 0xA3 }, + { 0x1E, 0x0A, 0xA2, 0xED, 0x18, 0x02, 0xE4, 0x91, 0xA4, 0x86, 0x55, 0x59 }, + { 0x1E, 0x14, 0x92, 0xDB, 0x6D, 0x83, 0x25, 0x01, 0x99, 0xA6, 0x54, 0x21 }, + { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4760000 = { + { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 }, + { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 }, + { 0x1E, 0x09, 0xD2, 0x52, 0x92, 0x00, 0x02, 0x49, 0x6A, 0x96, 0x69, 0xA4 }, + { 0x1E, 0x03, 0x72, 0x54, 0x92, 0x00, 0x00, 0x09, 0x65, 0x66, 0x6A, 0x95 }, + { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A }, + { 0x1E, 0x1B, 0xD2, 0x65, 0x00, 0x00, 0x52, 0x81, 0x68, 0x06, 0x5A, 0x13 }, + { 0x1E, 0x0C, 0x82, 0x70, 0xD8, 0x00, 0x5B, 0x71, 0x52, 0x46, 0x65, 0x8B }, + { 0x1E, 0x06, 0x32, 0x5B, 0x90, 0x00, 0x52, 0x4D, 0x5A, 0x86, 0x6A, 0x5C }, + { 0x1E, 0x19, 0xE2, 0x93, 0x92, 0x02, 0x52, 0x49, 0x6A, 0x96, 0xAA, 0x65 }, + { 0x1E, 0x07, 0x92, 0x92, 0x48, 0x02, 0x49, 0x49, 0x65, 0x86, 0xA9, 0x95 }, + { 0x1E, 0x1C, 0x52, 0xA4, 0x92, 0x00, 0x01, 0x49, 0x69, 0x56, 0x56, 0x52 }, + { 0x1E, 0x13, 0x72, 0xA8, 0x18, 0x00, 0x00, 0x01, 0x50, 0x86, 0x59, 0x4A }, + { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A }, + { 0x1E, 0x11, 0x72, 0x93, 0x78, 0x00, 0x13, 0x91, 0x59, 0x46, 0x55, 0x49 }, + { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A }, + { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6580000 = { + { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B }, + { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E }, + { 0x1E, 0x0E, 0x44, 0x92, 0x4D, 0x84, 0x92, 0x51, 0x69, 0x66, 0x5A, 0x9C }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 }, + { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 }, + { 0x1E, 0x0A, 0x02, 0x49, 0x54, 0x05, 0x38, 0xC1, 0xA9, 0x86, 0x51, 0x21 }, + { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 }, + { 0x1E, 0x0B, 0xD4, 0x93, 0x74, 0x06, 0xDB, 0x6D, 0x96, 0x86, 0x56, 0x9B }, + { 0x1E, 0x09, 0xD4, 0xE7, 0x00, 0x06, 0xC6, 0x01, 0xA4, 0x06, 0x44, 0x11 }, + { 0x1E, 0x1C, 0x54, 0xDC, 0xB8, 0x06, 0xDB, 0x91, 0x99, 0x86, 0x69, 0x5B }, + { 0x1E, 0x1C, 0xF5, 0x28, 0x18, 0x07, 0x20, 0xC1, 0x90, 0x46, 0x62, 0x0B }, + { 0x1E, 0x01, 0x35, 0xBF, 0x00, 0x07, 0xB6, 0xC1, 0xA8, 0x06, 0x6A, 0x1C }, + { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B }, + { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4500000 = { + { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B }, + { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B }, + { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 }, + { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 }, + { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 }, + { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B }, + { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B }, + { 0x1E, 0x1B, 0xA0, 0x00, 0x09, 0x00, 0xDC, 0xA1, 0xAA, 0x96, 0x96, 0x2B }, + { 0x1E, 0x06, 0xB2, 0x4A, 0x92, 0x00, 0x12, 0x49, 0x69, 0x56, 0x6A, 0x95 }, + { 0x1E, 0x1A, 0x02, 0x4B, 0x00, 0x00, 0x09, 0x31, 0x64, 0x06, 0x69, 0x8C }, + { 0x1E, 0x1E, 0xB2, 0x49, 0x6E, 0x00, 0x01, 0x49, 0x65, 0x96, 0x66, 0x94 }, + { 0x1E, 0x0C, 0xD2, 0x53, 0x18, 0x00, 0x01, 0x29, 0x68, 0x86, 0x6A, 0x9D }, + { 0x1E, 0x0B, 0x22, 0x52, 0x6E, 0x00, 0x4A, 0x61, 0x66, 0x66, 0x55, 0x19 }, + { 0x1E, 0x1A, 0x12, 0x5C, 0x00, 0x00, 0x52, 0x91, 0x64, 0x06, 0x56, 0x8B }, + { 0x1E, 0x00, 0x72, 0x6D, 0xD8, 0x00, 0x6D, 0xA1, 0x66, 0x46, 0x56, 0x12 }, + { 0x1E, 0x09, 0xE2, 0x65, 0xD8, 0x00, 0x54, 0x91, 0x56, 0x86, 0x69, 0x94 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4600000 = { + { 0x1E, 0x1A, 0x82, 0x5B, 0xD8, 0x00, 0x54, 0x91, 0x66, 0x46, 0x56, 0x93 }, + { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 }, + { 0x1E, 0x1D, 0x32, 0x64, 0xD8, 0x00, 0x53, 0x71, 0x56, 0x86, 0x6A, 0x54 }, + { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B }, + { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B }, + { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 }, + { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 }, + { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 }, + { 0x1E, 0x0C, 0x32, 0x9B, 0x80, 0x00, 0x0B, 0x91, 0x55, 0x06, 0x59, 0x42 }, + { 0x1E, 0x1F, 0x52, 0x94, 0xD8, 0x00, 0x12, 0x6D, 0x56, 0x46, 0x5A, 0x8C }, + { 0x1E, 0x0E, 0xC2, 0x49, 0x78, 0x00, 0x1C, 0x81, 0x6A, 0x86, 0x66, 0x23 }, + { 0x1E, 0x0D, 0x22, 0x4A, 0x50, 0x00, 0x09, 0x61, 0x69, 0x46, 0x65, 0x12 }, + { 0x1E, 0x01, 0xB2, 0x4A, 0x78, 0x00, 0x09, 0x25, 0x66, 0x86, 0x6A, 0x9D }, + { 0x1E, 0x11, 0x12, 0x49, 0x4D, 0x80, 0x02, 0x6D, 0x65, 0x66, 0x65, 0x52 }, + { 0x1E, 0x18, 0xC2, 0x55, 0xA0, 0x00, 0x00, 0x25, 0x6A, 0x06, 0x69, 0x9C }, + { 0x1E, 0x0F, 0xE2, 0x52, 0x72, 0x00, 0x4B, 0x01, 0x65, 0xA6, 0x54, 0x19 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4320000 = { + { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A }, + { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 }, + { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C }, + { 0x1E, 0x1D, 0x90, 0x00, 0x05, 0x00, 0x92, 0x49, 0xA9, 0xA6, 0x99, 0x6B }, + { 0x1E, 0x1D, 0x20, 0x01, 0x90, 0x00, 0xA4, 0xA1, 0xAA, 0x46, 0xA5, 0x23 }, + { 0x1E, 0x1F, 0x90, 0x02, 0x92, 0x00, 0x92, 0x49, 0xA9, 0x96, 0xA9, 0xA5 }, + { 0x1E, 0x15, 0x90, 0x05, 0xB4, 0x00, 0x4A, 0xC1, 0xA5, 0x46, 0x9A, 0x14 }, + { 0x1E, 0x1C, 0xC0, 0x02, 0x52, 0x00, 0x52, 0x71, 0xA5, 0x96, 0x9A, 0x5C }, + { 0x1E, 0x1A, 0xF2, 0x5B, 0x6C, 0x00, 0x53, 0x71, 0x65, 0x46, 0x59, 0x4A }, + { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 }, + { 0x1E, 0x09, 0x72, 0x5B, 0x98, 0x00, 0x49, 0x49, 0x59, 0x86, 0x65, 0x52 }, + { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 }, + { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 }, + { 0x1E, 0x0A, 0x62, 0x49, 0x29, 0x00, 0x9B, 0x71, 0x5A, 0x96, 0x6A, 0x5C }, + { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 }, + { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6240000 = { + { 0x1E, 0x1B, 0x22, 0x4A, 0x4C, 0x05, 0x2F, 0x01, 0xAA, 0x86, 0x68, 0x2B }, + { 0x1E, 0x01, 0xF2, 0x4A, 0x6E, 0x04, 0x30, 0xC1, 0xA6, 0x56, 0x11, 0x19 }, + { 0x1E, 0x0C, 0x52, 0x52, 0x49, 0x85, 0x24, 0x81, 0xA9, 0x96, 0x99, 0x23 }, + { 0x1E, 0x0D, 0x02, 0x52, 0x49, 0x84, 0xDB, 0x81, 0xA5, 0x66, 0x99, 0x1B }, + { 0x1E, 0x02, 0x52, 0x6E, 0xC0, 0x04, 0xDD, 0xA1, 0xA9, 0x06, 0xA5, 0x1B }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x14, 0x32, 0x53, 0x6D, 0x84, 0xB0, 0xC1, 0x9A, 0x96, 0xA2, 0x24 }, + { 0x1E, 0x01, 0xB2, 0x49, 0x25, 0x04, 0x94, 0x01, 0x9A, 0x96, 0xA4, 0x23 }, + { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 }, + { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 }, + { 0x1E, 0x14, 0x74, 0xED, 0xE0, 0x06, 0xDE, 0x01, 0x56, 0x06, 0xA8, 0x0C }, + { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 }, + { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_5640000 = { + { 0x1E, 0x1B, 0xD2, 0x9B, 0x92, 0x02, 0x96, 0xC1, 0x96, 0x56, 0x59, 0x12 }, + { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 }, + { 0x1E, 0x0A, 0x42, 0xDC, 0x92, 0x02, 0x94, 0x91, 0xA6, 0x56, 0x65, 0x9B }, + { 0x1E, 0x1E, 0x72, 0xC7, 0x00, 0x02, 0xEF, 0x01, 0x84, 0x06, 0x58, 0x0A }, + { 0x1E, 0x09, 0x32, 0xDD, 0xA0, 0x03, 0x2E, 0xC1, 0x9A, 0x06, 0x55, 0x19 }, + { 0x1E, 0x03, 0x53, 0x2D, 0xA0, 0x03, 0xB0, 0x01, 0xA6, 0x06, 0x60, 0x1A }, + { 0x1E, 0x0A, 0xB3, 0x24, 0xB4, 0x03, 0x20, 0xC1, 0x95, 0x46, 0x92, 0x0B }, + { 0x1E, 0x1F, 0xC3, 0x86, 0x00, 0x02, 0xE7, 0x01, 0x84, 0x06, 0x98, 0x0B }, + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 }, + { 0x1E, 0x1A, 0xA2, 0x49, 0x26, 0x02, 0x49, 0x29, 0x99, 0xA6, 0x55, 0x61 }, + { 0x1E, 0x1D, 0x62, 0x4B, 0x6E, 0x02, 0x4A, 0xA1, 0x96, 0x56, 0x5A, 0x13 }, + { 0x1E, 0x00, 0xB2, 0x49, 0x24, 0x82, 0x53, 0xA1, 0x95, 0xA6, 0x5A, 0x1B }, + { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B }, + { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B }, + { 0x1E, 0x1E, 0x42, 0xAD, 0x00, 0x02, 0x4B, 0x91, 0x94, 0x06, 0x69, 0x4B } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_5740000 = { + { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 }, + { 0x1E, 0x13, 0xB2, 0x86, 0xD8, 0x02, 0x4A, 0x71, 0x89, 0x86, 0x66, 0x5B }, + { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 }, + { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C }, + { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 }, + { 0x1E, 0x1B, 0x32, 0xE5, 0xD8, 0x02, 0xDD, 0xA1, 0x96, 0x46, 0x65, 0x12 }, + { 0x1E, 0x1C, 0x53, 0x26, 0xC0, 0x03, 0x70, 0xC1, 0xAA, 0x06, 0x52, 0x22 }, + { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A }, + { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x0F, 0x22, 0x53, 0x6C, 0x04, 0xA4, 0x91, 0x99, 0x86, 0xA5, 0x5B }, + { 0x1E, 0x0B, 0x22, 0x49, 0x49, 0x04, 0x94, 0xA1, 0x9A, 0xA6, 0xA9, 0x2C }, + { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B }, + { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 }, + { 0x1E, 0x1C, 0x12, 0x95, 0x18, 0x02, 0x6D, 0xC1, 0xA8, 0x46, 0x55, 0x19 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6000000 = { + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 }, + { 0x1E, 0x16, 0xF2, 0x49, 0x72, 0x04, 0x92, 0xA1, 0x99, 0x66, 0xAA, 0x1D }, + { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B }, + { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 }, + { 0x1E, 0x09, 0x22, 0x94, 0x98, 0x02, 0x46, 0x01, 0xA6, 0x46, 0x44, 0x19 }, + { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 }, + { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 }, + { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A }, + { 0x1E, 0x0C, 0x42, 0x4A, 0x80, 0x05, 0x25, 0xC1, 0xAA, 0x06, 0x65, 0x22 }, + { 0x1E, 0x07, 0x72, 0x4A, 0x49, 0x85, 0xFF, 0x01, 0xA5, 0x56, 0x94, 0x12 }, + { 0x1E, 0x0A, 0xB2, 0x53, 0x92, 0x05, 0x2E, 0x01, 0xAA, 0x66, 0x98, 0x2B }, + { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC }, + { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6600000 = { + { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C }, + { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 }, + { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 }, + { 0x1E, 0x1D, 0x84, 0x93, 0x18, 0x04, 0xA4, 0xA1, 0x64, 0x86, 0x56, 0x12 }, + { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 }, + { 0x1E, 0x1A, 0x74, 0xA6, 0x18, 0x04, 0x92, 0x49, 0x54, 0x46, 0x69, 0x43 }, + { 0x1E, 0x19, 0x34, 0x92, 0x60, 0x04, 0xE8, 0xC1, 0x59, 0x06, 0x51, 0x09 }, + { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 }, + { 0x1E, 0x02, 0x94, 0xA4, 0xD8, 0x09, 0x24, 0xC1, 0x9A, 0x46, 0x95, 0x1A }, + { 0x1E, 0x06, 0x54, 0x93, 0x6C, 0x09, 0x25, 0xC1, 0x9A, 0x46, 0xA5, 0x1B }, + { 0x1E, 0x1B, 0xB4, 0xDD, 0xD8, 0x06, 0xE5, 0xC1, 0xA6, 0x46, 0x5A, 0x1B }, + { 0x1E, 0x10, 0x74, 0xE7, 0x18, 0x06, 0xDC, 0x91, 0x98, 0x86, 0x65, 0x5A }, + { 0x1E, 0x15, 0x75, 0x2F, 0xE0, 0x07, 0x06, 0xC1, 0xA5, 0x06, 0x4A, 0x13 }, + { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A }, + { 0x1E, 0x1D, 0x05, 0xF8, 0xD8, 0x07, 0xB6, 0xC1, 0x51, 0x86, 0xA5, 0x0B }, + { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6340000 = { + { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 }, + { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A }, + { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B }, + { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 }, + { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C }, + { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A }, + { 0x1E, 0x1B, 0xE2, 0x67, 0x18, 0x04, 0xE6, 0x01, 0xA8, 0x86, 0xA8, 0x24 }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x1A, 0x05, 0x76, 0xC0, 0x07, 0xB6, 0x01, 0x99, 0x06, 0x54, 0x11 }, + { 0x1E, 0x0B, 0x15, 0x86, 0x00, 0x07, 0x68, 0xC1, 0x48, 0x06, 0x91, 0x0A }, + { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 }, + { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 }, + { 0x1E, 0x1F, 0xE4, 0xED, 0xB8, 0x06, 0xDC, 0x81, 0x59, 0x86, 0xA6, 0x14 }, + { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6200000 = { + { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 }, + { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C }, + { 0x1E, 0x0A, 0x62, 0x52, 0x98, 0x04, 0xDE, 0xC1, 0xA5, 0x86, 0x99, 0x1B }, + { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x1C, 0xF2, 0x52, 0x70, 0x04, 0xBF, 0x01, 0x99, 0x46, 0x98, 0x13 }, + { 0x1E, 0x1D, 0x52, 0x52, 0x50, 0x04, 0x93, 0xA1, 0x95, 0x86, 0xA5, 0x13 }, + { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B }, + { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C }, + { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 }, + { 0x1E, 0x16, 0x54, 0xDB, 0x92, 0x04, 0x93, 0x61, 0x55, 0x96, 0x59, 0x0A }, + { 0x1E, 0x0A, 0x44, 0x92, 0xD8, 0x04, 0xAD, 0xC1, 0x66, 0x86, 0x56, 0x1A }, + { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 }, + { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 }, + { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 }, + { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_5580000 = { + { 0x1E, 0x1F, 0x72, 0x92, 0x60, 0x02, 0x9B, 0x91, 0x95, 0x06, 0x65, 0x8B }, + { 0x1E, 0x08, 0xD2, 0xE7, 0x00, 0x02, 0x92, 0x4D, 0xA8, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x06, 0x32, 0xE5, 0xB8, 0x02, 0xDB, 0x71, 0x99, 0x86, 0x65, 0x9B }, + { 0x1E, 0x19, 0x63, 0x24, 0x80, 0x03, 0x24, 0x01, 0xAA, 0x06, 0x68, 0x23 }, + { 0x1E, 0x04, 0x13, 0x2D, 0xB8, 0x03, 0x86, 0x01, 0x99, 0x46, 0x88, 0x13 }, + { 0x1E, 0x1C, 0x03, 0x76, 0x18, 0x03, 0x27, 0x01, 0x98, 0x86, 0xA8, 0x1C }, + { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 }, + { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C }, + { 0x1E, 0x0C, 0x22, 0x52, 0x4D, 0x84, 0x92, 0x49, 0x96, 0x66, 0xA5, 0x5B }, + { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B }, + { 0x1E, 0x19, 0xA2, 0x4A, 0x98, 0x02, 0x49, 0x4D, 0x95, 0x46, 0x5A, 0x4B }, + { 0x1E, 0x0A, 0x82, 0x92, 0x49, 0x82, 0x5E, 0x01, 0xA9, 0xA6, 0x58, 0x2A }, + { 0x1E, 0x0B, 0x92, 0x92, 0x58, 0x02, 0x5E, 0x01, 0xA5, 0x46, 0x64, 0x12 }, + { 0x1E, 0x08, 0x72, 0xA6, 0xD8, 0x02, 0x49, 0x29, 0xA5, 0x86, 0x65, 0x5A }, + { 0x1E, 0x09, 0x82, 0xA4, 0xB4, 0x02, 0x49, 0x25, 0x96, 0x46, 0x69, 0x94 }, + { 0x1E, 0x0F, 0x92, 0x93, 0x6D, 0x82, 0x9C, 0x81, 0x9A, 0xA6, 0x56, 0x2A } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_3800000 = { + { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D }, + { 0x1E, 0x0D, 0x70, 0x12, 0x18, 0x00, 0x01, 0x25, 0xA4, 0x46, 0xA5, 0x53 }, + { 0x1E, 0x12, 0xF0, 0x1D, 0xD8, 0x00, 0x02, 0x71, 0xAA, 0x46, 0xAA, 0x65 }, + { 0x1E, 0x09, 0xC0, 0x25, 0xE0, 0x12, 0x49, 0x49, 0xA9, 0x05, 0x55, 0x58 }, + { 0x1E, 0x0D, 0x00, 0x2D, 0xD8, 0x12, 0x4C, 0x81, 0xAA, 0x45, 0x56, 0x21 }, + { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 }, + { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 }, + { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A }, + { 0x1E, 0x16, 0x30, 0x00, 0x29, 0x00, 0x49, 0x49, 0xA6, 0x56, 0xA6, 0x5C }, + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C }, + { 0x1E, 0x04, 0x90, 0x0A, 0x92, 0x00, 0x00, 0x41, 0xAA, 0x56, 0x99, 0x23 }, + { 0x1E, 0x1A, 0xF0, 0x08, 0xD8, 0x00, 0x0D, 0x01, 0xA1, 0x46, 0x98, 0x13 }, + { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 }, + { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 }, + { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4080000 = { + { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D }, + { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 }, + { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 }, + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x0E, 0x30, 0x09, 0x29, 0x00, 0x01, 0x49, 0xA9, 0x96, 0x99, 0x63 }, + { 0x1E, 0x13, 0xD0, 0x0B, 0x6D, 0x80, 0x00, 0x01, 0xAA, 0xA6, 0x9A, 0xB5 }, + { 0x1E, 0x0D, 0x40, 0x0B, 0x78, 0x00, 0x09, 0x29, 0xA6, 0x86, 0x99, 0xA4 }, + { 0x1E, 0x02, 0x10, 0x0A, 0x4E, 0x00, 0x1B, 0x71, 0xA5, 0x66, 0x95, 0x5A }, + { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B }, + { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B }, + { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 }, + { 0x1E, 0x09, 0x10, 0x00, 0x2E, 0x00, 0x92, 0x41, 0xA9, 0xA6, 0x96, 0x2B }, + { 0x1E, 0x0C, 0xE0, 0x01, 0x29, 0x00, 0xAD, 0xC1, 0xAA, 0x56, 0x95, 0x22 }, + { 0x1E, 0x01, 0x70, 0x02, 0x50, 0x00, 0x93, 0x61, 0xAA, 0x86, 0xA6, 0x2C }, + { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 }, + { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_8140000 = { + { 0x1E, 0x13, 0x9B, 0x86, 0xE0, 0x01, 0xF8, 0xC2, 0x49, 0x04, 0x92, 0x12 }, + { 0x1E, 0x0E, 0x4C, 0x00, 0xD8, 0x00, 0x38, 0x02, 0x02, 0x84, 0x20, 0x19 }, + { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 }, + { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A }, + { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A }, + { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 }, + { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 }, + { 0x1E, 0x15, 0x99, 0x6E, 0xC0, 0x0F, 0xC6, 0x01, 0xA6, 0x06, 0x44, 0x19 }, + { 0x1E, 0x08, 0xC7, 0x6D, 0xB4, 0x0B, 0xB0, 0xC2, 0x96, 0x86, 0x92, 0x23 }, + { 0x1E, 0x1A, 0x87, 0x7F, 0x18, 0x0B, 0xBF, 0x02, 0x64, 0x46, 0x64, 0x12 }, + { 0x1E, 0x00, 0xF7, 0x24, 0xE0, 0x0B, 0x6D, 0xC2, 0x56, 0x06, 0x59, 0x12 }, + { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A }, + { 0x1E, 0x0D, 0x19, 0x3F, 0x18, 0x0D, 0x86, 0xC2, 0x94, 0x46, 0x4A, 0x13 }, + { 0x1E, 0x0E, 0x19, 0xC6, 0xE0, 0x0E, 0x38, 0xC2, 0x8A, 0x06, 0x22, 0x23 }, + { 0x1E, 0x19, 0xE9, 0x6D, 0xB4, 0x0F, 0xFF, 0x02, 0x56, 0x46, 0x58, 0x12 }, + { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_5900000 = { + { 0x1E, 0x1D, 0x02, 0x49, 0x24, 0x82, 0x49, 0x49, 0x99, 0x66, 0x55, 0x9A }, + { 0x1E, 0x12, 0x92, 0x4A, 0x4E, 0x02, 0x49, 0x25, 0x96, 0x96, 0x59, 0x9B }, + { 0x1E, 0x0D, 0x42, 0x92, 0x54, 0x02, 0x52, 0x51, 0xAA, 0x86, 0x5A, 0xAC }, + { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B }, + { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B }, + { 0x1E, 0x1A, 0x62, 0xAE, 0x18, 0x02, 0x4E, 0xC1, 0x98, 0x86, 0x69, 0x1B }, + { 0x1E, 0x01, 0x12, 0x9D, 0xC0, 0x02, 0x93, 0x71, 0x96, 0x06, 0x55, 0x51 }, + { 0x1E, 0x18, 0xA2, 0x94, 0xB8, 0x02, 0xAD, 0xC1, 0x96, 0x46, 0x59, 0x12 }, + { 0x1E, 0x0D, 0xD4, 0x92, 0x6C, 0x04, 0xDD, 0x01, 0x56, 0x86, 0x64, 0x12 }, + { 0x1E, 0x07, 0x12, 0x4A, 0x4A, 0x05, 0x24, 0xA1, 0xA9, 0xA6, 0x69, 0x2B }, + { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B }, + { 0x1E, 0x1C, 0xD2, 0x55, 0xA0, 0x05, 0x30, 0xC1, 0xA9, 0x06, 0xA2, 0x1C }, + { 0x1E, 0x14, 0x72, 0x5F, 0x18, 0x04, 0xEE, 0xC1, 0xA4, 0x86, 0x9A, 0x1C }, + { 0x1E, 0x1B, 0x92, 0x6D, 0xB4, 0x04, 0x92, 0x51, 0x9A, 0x86, 0x96, 0xA4 }, + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x0E, 0xD2, 0x53, 0xC0, 0x04, 0x9C, 0xC1, 0x95, 0x06, 0xA9, 0x0C } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_5260000 = { + { 0x1E, 0x04, 0x93, 0x24, 0x92, 0x02, 0xAD, 0x01, 0x66, 0xA6, 0xA8, 0x24 }, + { 0x1E, 0x0F, 0x63, 0x25, 0xD8, 0x02, 0x92, 0x51, 0x59, 0x86, 0xA9, 0x95 }, + { 0x1E, 0x1F, 0xA2, 0xDB, 0x6D, 0x82, 0x4A, 0xA1, 0x65, 0x96, 0x99, 0x13 }, + { 0x1E, 0x08, 0xE2, 0xF6, 0xD8, 0x02, 0x52, 0x91, 0x59, 0x86, 0x99, 0x94 }, + { 0x1E, 0x1E, 0x92, 0xDC, 0x98, 0x02, 0x66, 0xC1, 0x59, 0x46, 0xA9, 0x0C }, + { 0x1E, 0x0C, 0x72, 0x92, 0x52, 0x02, 0x52, 0x4D, 0x69, 0x56, 0xA9, 0x95 }, + { 0x1E, 0x09, 0xB2, 0x92, 0x49, 0x02, 0x4B, 0x91, 0x66, 0xA6, 0xA9, 0xA5 }, + { 0x1E, 0x1E, 0x52, 0x9B, 0x70, 0x00, 0x01, 0x49, 0x65, 0x46, 0x55, 0x49 }, + { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 }, + { 0x1E, 0x13, 0x12, 0xDB, 0x6E, 0x02, 0x95, 0x01, 0xA6, 0x56, 0x68, 0x1B }, + { 0x1E, 0x1A, 0xD2, 0xF6, 0x18, 0x02, 0xF8, 0xC1, 0x98, 0x86, 0x51, 0x19 }, + { 0x1E, 0x0E, 0x52, 0xDC, 0xB4, 0x03, 0x37, 0x01, 0x96, 0x86, 0x64, 0x1A }, + { 0x1E, 0x1D, 0x73, 0x07, 0xE0, 0x02, 0x3F, 0x01, 0x89, 0x06, 0x24, 0x12 }, + { 0x1E, 0x1B, 0xA3, 0x40, 0xE0, 0x03, 0x2D, 0xC1, 0x82, 0x06, 0xA9, 0x14 }, + { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 }, + { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_5320000 = { + { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C }, + { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 }, + { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 }, + { 0x1E, 0x09, 0x42, 0xDC, 0xE0, 0x02, 0x4A, 0x71, 0x69, 0x06, 0x95, 0x93 }, + { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 }, + { 0x1E, 0x0C, 0x02, 0xE7, 0xE0, 0x02, 0x65, 0x01, 0x5A, 0x06, 0x94, 0x12 }, + { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 }, + { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B }, + { 0x1E, 0x1E, 0xA2, 0x9B, 0xE0, 0x02, 0x49, 0x6D, 0x99, 0x06, 0x6A, 0x95 }, + { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 }, + { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C }, + { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 }, + { 0x1E, 0x02, 0x32, 0xE4, 0x98, 0x02, 0xDC, 0xC1, 0x95, 0x86, 0x6A, 0x14 }, + { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 }, + { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C }, + { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6680000 = { + { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B }, + { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 }, + { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B }, + { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E }, + { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 }, + { 0x1E, 0x00, 0x94, 0x93, 0x90, 0x09, 0xC6, 0x01, 0xA6, 0x46, 0x48, 0x1A }, + { 0x1E, 0x07, 0xF4, 0xA4, 0xB8, 0x09, 0x6E, 0xC1, 0xA6, 0x46, 0x9A, 0x1C }, + { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 }, + { 0x1E, 0x1D, 0xB4, 0x93, 0x6D, 0x86, 0xDD, 0xC1, 0x95, 0x66, 0x56, 0x12 }, + { 0x1E, 0x1A, 0x44, 0xED, 0xB8, 0x06, 0xF0, 0xC1, 0xA9, 0x46, 0x62, 0x1B }, + { 0x1E, 0x06, 0x74, 0xDE, 0xD8, 0x07, 0x24, 0x91, 0x96, 0x46, 0x55, 0x51 }, + { 0x1E, 0x13, 0xB5, 0x24, 0x18, 0x07, 0x24, 0x01, 0x98, 0x46, 0x68, 0x13 }, + { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6500000 = { + { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 }, + { 0x1E, 0x09, 0xF4, 0x93, 0x72, 0x04, 0xA7, 0x01, 0x65, 0x66, 0x54, 0x11 }, + { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 }, + { 0x1E, 0x0E, 0xB4, 0xA4, 0x00, 0x04, 0x92, 0x81, 0x54, 0x06, 0x69, 0x03 }, + { 0x1E, 0x04, 0x74, 0x93, 0x6C, 0x04, 0xF8, 0x01, 0x5A, 0x46, 0x50, 0x11 }, + { 0x1E, 0x0D, 0x32, 0x49, 0x2C, 0x05, 0x25, 0xA1, 0xAA, 0x46, 0x55, 0x21 }, + { 0x1E, 0x17, 0x92, 0x4D, 0xB8, 0x05, 0x70, 0xC1, 0xA9, 0x86, 0x62, 0x23 }, + { 0x1E, 0x03, 0x92, 0x49, 0x52, 0x05, 0x80, 0xC1, 0xA6, 0x66, 0x82, 0x23 }, + { 0x1E, 0x02, 0x54, 0xDE, 0x18, 0x06, 0xE0, 0xC1, 0xA8, 0x86, 0x51, 0x21 }, + { 0x1E, 0x1D, 0xC4, 0xED, 0xD8, 0x06, 0xE5, 0x01, 0x9A, 0x86, 0x68, 0x23 }, + { 0x1E, 0x1F, 0x95, 0x24, 0xB8, 0x07, 0x36, 0xC1, 0xA5, 0x86, 0x5A, 0x1B }, + { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A }, + { 0x1E, 0x06, 0x95, 0xFF, 0x00, 0x07, 0x86, 0x01, 0x64, 0x06, 0x84, 0x0A }, + { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 }, + { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C }, + { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_6320000 = { + { 0x1E, 0x1E, 0x44, 0x92, 0x90, 0x04, 0xE4, 0x91, 0x5A, 0x86, 0x59, 0x9B }, + { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 }, + { 0x1E, 0x18, 0x92, 0x4B, 0x98, 0x05, 0x70, 0x01, 0xA9, 0x86, 0x50, 0x21 }, + { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B }, + { 0x1E, 0x19, 0xE2, 0x54, 0xE0, 0x05, 0x00, 0xC1, 0xAA, 0x06, 0x82, 0x23 }, + { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC }, + { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D }, + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 }, + { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B }, + { 0x1E, 0x01, 0xD5, 0x28, 0xD8, 0x07, 0x24, 0x91, 0x52, 0x46, 0xAA, 0x8E }, + { 0x1E, 0x19, 0xC4, 0xE5, 0x18, 0x06, 0xC0, 0xC1, 0x68, 0x86, 0x82, 0x1B }, + { 0x1E, 0x1E, 0x14, 0xDB, 0x94, 0x04, 0x92, 0x49, 0x59, 0x46, 0x56, 0x4A }, + { 0x1E, 0x06, 0x34, 0x90, 0xD8, 0x04, 0x9C, 0x81, 0x61, 0x86, 0x59, 0x12 }, + { 0x1E, 0x0E, 0xA4, 0x9B, 0x72, 0x04, 0xA4, 0x81, 0x66, 0x66, 0x69, 0x1B }, + { 0x1E, 0x1B, 0x64, 0xAF, 0xE0, 0x04, 0x97, 0x01, 0x56, 0x06, 0x64, 0x0A } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4940000 = { + { 0x1E, 0x0A, 0x22, 0xA4, 0x92, 0x00, 0x00, 0x01, 0x5A, 0x96, 0x59, 0x9B }, + { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A }, + { 0x1E, 0x0C, 0xA2, 0x94, 0x92, 0x00, 0x17, 0x01, 0x59, 0x66, 0x54, 0x11 }, + { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A }, + { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B }, + { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 }, + { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 }, + { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C }, + { 0x1E, 0x1E, 0x63, 0x2D, 0xB4, 0x02, 0xA4, 0x91, 0x69, 0x86, 0xA9, 0x5C }, + { 0x1E, 0x19, 0x73, 0x20, 0xD8, 0x02, 0x92, 0x91, 0x51, 0x86, 0xAA, 0x8E }, + { 0x1E, 0x19, 0x12, 0xE4, 0xC0, 0x02, 0x49, 0x25, 0x69, 0x06, 0x99, 0x53 }, + { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 }, + { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 }, + { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B }, + { 0x1E, 0x14, 0x32, 0x9B, 0x6D, 0x80, 0x00, 0x09, 0x69, 0x96, 0x55, 0x59 }, + { 0x1E, 0x17, 0x72, 0xA4, 0xB8, 0x00, 0x03, 0x6D, 0x65, 0x86, 0x55, 0x92 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4200000 = { + { 0x1E, 0x0A, 0x80, 0x01, 0x4D, 0x80, 0x86, 0xC1, 0xAA, 0x66, 0x89, 0x2B }, + { 0x1E, 0x0D, 0xE0, 0x02, 0x78, 0x00, 0x95, 0x01, 0xAA, 0x86, 0xA8, 0x2C }, + { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 }, + { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 }, + { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D }, + { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 }, + { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 }, + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B }, + { 0x1E, 0x1F, 0x92, 0x52, 0x74, 0x00, 0x9B, 0xA1, 0x55, 0x86, 0x65, 0x0A }, + { 0x1E, 0x1C, 0x72, 0x49, 0x2E, 0x00, 0xDE, 0xC1, 0x59, 0x96, 0x5A, 0x13 }, + { 0x1E, 0x10, 0xB2, 0x4B, 0x72, 0x00, 0xDD, 0xC1, 0x59, 0x56, 0x69, 0x0B }, + { 0x1E, 0x1E, 0xD2, 0x4A, 0x6C, 0x01, 0x68, 0xC1, 0x56, 0x46, 0x62, 0x0B }, + { 0x1E, 0x1D, 0xF2, 0x49, 0x58, 0x01, 0x24, 0x01, 0x55, 0x86, 0x98, 0x0B }, + { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 }, + { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_3280000 = { + { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 }, + { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B }, + { 0x1E, 0x04, 0xF0, 0x01, 0x6C, 0x12, 0x6F, 0x01, 0x9A, 0x45, 0x98, 0x1A }, + { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B }, + { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 }, + { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A }, + { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 }, + { 0x1E, 0x1E, 0x40, 0x01, 0x29, 0x94, 0x92, 0x49, 0x96, 0x95, 0x66, 0x5A }, + { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 }, + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }, + { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 }, + { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }, + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4000000 = { + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C }, + { 0x1E, 0x0C, 0x30, 0x0A, 0x78, 0x00, 0x00, 0x2D, 0xA9, 0x46, 0x9A, 0x5C }, + { 0x1E, 0x12, 0xD0, 0x0D, 0xB8, 0x00, 0x0B, 0x6D, 0xA5, 0x86, 0x9A, 0x9D }, + { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 }, + { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 }, + { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 }, + { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D }, + { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C }, + { 0x1E, 0x05, 0xB0, 0x00, 0x0D, 0x80, 0x9B, 0x71, 0xA9, 0x56, 0x95, 0x5A }, + { 0x1E, 0x14, 0x10, 0x01, 0x24, 0x80, 0x9D, 0xA1, 0xA9, 0xA6, 0xAA, 0x2D }, + { 0x1E, 0x1B, 0x40, 0x03, 0xA0, 0x00, 0x49, 0x25, 0xAA, 0x06, 0x96, 0x63 }, + { 0x1E, 0x0A, 0x10, 0x03, 0x6E, 0x00, 0x52, 0x71, 0xA5, 0x56, 0x95, 0x93 }, + { 0x1E, 0x1A, 0xD0, 0x01, 0x6D, 0x80, 0x6D, 0xC1, 0xA6, 0xA6, 0x96, 0x2B }, + { 0x1E, 0x14, 0x30, 0x00, 0x05, 0x80, 0x53, 0xC1, 0xA6, 0x96, 0xA5, 0x23 }, + { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_3440000 = { + { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 }, + { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B }, + { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }, + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }, + { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 }, + { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 }, + { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A }, + { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 }, + { 0x1E, 0x0A, 0x60, 0x13, 0x6E, 0x12, 0x49, 0x49, 0x9A, 0x95, 0x6A, 0x63 }, + { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 }, + { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B }, + { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 }, + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_3460000 = { + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }, + { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 }, + { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B }, + { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }, + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }, + { 0x1E, 0x1B, 0x20, 0x07, 0x18, 0x12, 0x52, 0x49, 0x84, 0x85, 0x55, 0x91 }, + { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 }, + { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A }, + { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 }, + { 0x1E, 0x00, 0x90, 0x15, 0xD8, 0x12, 0x9C, 0xA1, 0x96, 0x85, 0x56, 0x19 }, + { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 }, + { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B }, + { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_4450000 = { + { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 }, + { 0x1E, 0x01, 0xD2, 0x49, 0x52, 0x00, 0x93, 0x91, 0x5A, 0xA6, 0x66, 0x63 }, + { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 }, + { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 }, + { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A }, + { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 }, + { 0x1E, 0x0C, 0xD0, 0x00, 0x29, 0x80, 0xC6, 0xC1, 0xAA, 0x66, 0x86, 0x2B }, + { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A }, + { 0x1E, 0x0B, 0x12, 0x4A, 0x74, 0x00, 0x00, 0x25, 0x65, 0x86, 0x65, 0x52 }, + { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C }, + { 0x1E, 0x06, 0x72, 0x55, 0xB4, 0x00, 0x00, 0x25, 0x66, 0x46, 0x6A, 0x54 }, + { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A }, + { 0x1E, 0x1D, 0x22, 0x66, 0x18, 0x00, 0x5B, 0x6D, 0x64, 0x46, 0x56, 0x8B }, + { 0x1E, 0x16, 0xD2, 0x6E, 0x00, 0x00, 0x5E, 0xC1, 0x58, 0x06, 0x69, 0x0B }, + { 0x1E, 0x0E, 0x52, 0x5C, 0x90, 0x00, 0x49, 0x2D, 0x59, 0x46, 0x66, 0x8C }, + { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_8200000 = { + { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 }, + { 0x1E, 0x03, 0xBB, 0xB6, 0x18, 0x01, 0xF8, 0xC2, 0x58, 0x84, 0x91, 0x19 }, + { 0x1E, 0x06, 0xBC, 0x30, 0xE0, 0x00, 0x38, 0xC2, 0x12, 0x04, 0x21, 0x11 }, + { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 }, + { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A }, + { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A }, + { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 }, + { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 }, + { 0x1E, 0x1E, 0x27, 0x24, 0x92, 0x0B, 0x6D, 0xC2, 0xA6, 0x66, 0xAA, 0x2D }, + { 0x1E, 0x0E, 0x17, 0x86, 0xE0, 0x0B, 0xC6, 0xC2, 0x8A, 0x06, 0x8A, 0x24 }, + { 0x1E, 0x17, 0x97, 0x7F, 0x00, 0x0B, 0x80, 0xC2, 0x54, 0x06, 0x41, 0x09 }, + { 0x1E, 0x0B, 0xD6, 0xDC, 0x94, 0x0B, 0x6E, 0xC2, 0x6A, 0x86, 0x55, 0x29 }, + { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A }, + { 0x1E, 0x1A, 0x99, 0x2D, 0xB8, 0x0D, 0x80, 0x02, 0x99, 0x86, 0x40, 0x21 }, + { 0x1E, 0x07, 0xB9, 0xFF, 0xE0, 0x0E, 0x3F, 0x02, 0x95, 0x06, 0x24, 0x12 }, + { 0x1E, 0x1F, 0xB9, 0x26, 0xE0, 0x01, 0xB6, 0xC2, 0x6A, 0x04, 0xAA, 0x24 } +}; + +XC3028_SCODE_TABLE XC3028_scode_table_3300000 = { + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }, + { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 }, + { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B }, + { 0x1E, 0x0D, 0x20, 0x01, 0x2C, 0x12, 0x52, 0x81, 0x99, 0x45, 0xA5, 0x12 }, + { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B }, + { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 }, + { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A }, + { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 }, + { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 }, + { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 }, + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }, + { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 }, + { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 } +}; + + +#endif + diff --git a/drivers/media/video/empia/xc3028/xc3028fw_helper.h b/drivers/media/video/empia/xc3028/xc3028fw_helper.h new file mode 100644 index 0000000..08551cc --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028fw_helper.h @@ -0,0 +1,107 @@ +#ifndef __XC_FW_HELPER +#define __XC_FW_HELPER + +int xc3028_set_firmware(unsigned char *fwblob, int length) { + if (length != 120273) { + return -EINVAL; + } + XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE=&fwblob[2]; /* length: 8724 */ + XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE=&fwblob[8726]; /* length: 8718 */ + XC3028_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE=&fwblob[17444]; /* length: 8568 */ + XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE=&fwblob[26012]; /* length: 8582 */ + XC3028_base_firmware_i2c_files_base_firmwares_init_SEQUENCE=&fwblob[34594]; /* length: 8712 */ + XC3028_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE=&fwblob[43306]; /* length: 8688 */ + XC3028_std_firmware_bg_pal_a2_a_SEQUENCE=&fwblob[51994]; /* length: 167 */ + XC3028_std_firmware_bg_pal_a2_a_mts_SEQUENCE=&fwblob[52161]; /* length: 175 */ + XC3028_std_firmware_bg_pal_a2_b_SEQUENCE=&fwblob[52336]; /* length: 167 */ + XC3028_std_firmware_bg_pal_a2_b_mts_SEQUENCE=&fwblob[52503]; /* length: 175 */ + XC3028_std_firmware_bg_pal_nicam_a_SEQUENCE=&fwblob[52678]; /* length: 167 */ + XC3028_std_firmware_bg_pal_nicam_a_mts_SEQUENCE=&fwblob[52845]; /* length: 175 */ + XC3028_std_firmware_bg_pal_nicam_b_SEQUENCE=&fwblob[53020]; /* length: 167 */ + XC3028_std_firmware_bg_pal_nicam_b_mts_SEQUENCE=&fwblob[53187]; /* length: 175 */ + XC3028_std_firmware_dk_pal_a2_SEQUENCE=&fwblob[53362]; /* length: 167 */ + XC3028_std_firmware_dk_pal_a2_mts_SEQUENCE=&fwblob[53529]; /* length: 175 */ + XC3028_std_firmware_dk_pal_nicam_SEQUENCE=&fwblob[53704]; /* length: 167 */ + XC3028_std_firmware_dk_pal_nicam_mts_SEQUENCE=&fwblob[53871]; /* length: 175 */ + XC3028_std_firmware_dk_secam_a2_dk1_SEQUENCE=&fwblob[54046]; /* length: 167 */ + XC3028_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE=&fwblob[54213]; /* length: 175 */ + XC3028_std_firmware_dk_secam_a2_l_dk3_SEQUENCE=&fwblob[54388]; /* length: 167 */ + XC3028_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE=&fwblob[54555]; /* length: 175 */ + XC3028_std_firmware_dtv6_atsc_2633_SEQUENCE=&fwblob[54730]; /* length: 155 */ + XC3028_std_firmware_dtv6_qam_2620_SEQUENCE=&fwblob[54885]; /* length: 155 */ + XC3028_std_firmware_dtv6_qam_2633_SEQUENCE=&fwblob[55040]; /* length: 155 */ + XC3028_std_firmware_dtv7_2620_SEQUENCE=&fwblob[55195]; /* length: 155 */ + XC3028_std_firmware_dtv7_2633_SEQUENCE=&fwblob[55350]; /* length: 155 */ + XC3028_std_firmware_dtv78_2620_SEQUENCE=&fwblob[55505]; /* length: 155 */ + XC3028_std_firmware_dtv78_2633_SEQUENCE=&fwblob[55660]; /* length: 155 */ + XC3028_std_firmware_dtv8_2620_SEQUENCE=&fwblob[55815]; /* length: 155 */ + XC3028_std_firmware_dtv8_2633_SEQUENCE=&fwblob[55970]; /* length: 155 */ + XC3028_std_firmware_fm_SEQUENCE=&fwblob[56125]; /* length: 141 */ + XC3028_std_firmware_i_pal_nicam_SEQUENCE=&fwblob[56266]; /* length: 167 */ + XC3028_std_firmware_i_pal_nicam_mts_SEQUENCE=&fwblob[56433]; /* length: 175 */ + XC3028_std_firmware_l_secam_am_SEQUENCE=&fwblob[56608]; /* length: 175 */ + XC3028_std_firmware_l_secam_nicam_SEQUENCE=&fwblob[56783]; /* length: 167 */ + XC3028_std_firmware_lp_secam_nicam_SEQUENCE=&fwblob[56950]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_a2_SEQUENCE=&fwblob[57117]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE=&fwblob[57284]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE=&fwblob[57451]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_a2_mts_SEQUENCE=&fwblob[57618]; /* length: 175 */ + XC3028_std_firmware_mn_ntscpal_btsc_SEQUENCE=&fwblob[57793]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE=&fwblob[57960]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE=&fwblob[58127]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_eiaj_SEQUENCE=&fwblob[58294]; /* length: 167 */ + XC3028_std_firmware_mn_ntscpal_mts_SEQUENCE=&fwblob[58461]; /* length: 175 */ + XC3028_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE=&fwblob[58636]; /* length: 175 */ + XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE=&fwblob[58811]; /* length: 175 */ + XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE=&fwblob[58986]; /* length: 9150 */ + XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE=&fwblob[68136]; /* length: 9036 */ + XC3028L_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE=&fwblob[77172]; /* length: 9060 */ + XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE=&fwblob[86232]; /* length: 9074 */ + XC3028L_base_firmware_i2c_files_base_firmwares_init_SEQUENCE=&fwblob[95306]; /* length: 9138 */ + XC3028L_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE=&fwblob[104444]; /* length: 9012 */ + XC3028L_std_firmware_bg_pal_a2_a_SEQUENCE=&fwblob[113456]; /* length: 167 */ + XC3028L_std_firmware_bg_pal_a2_a_mts_SEQUENCE=&fwblob[113623]; /* length: 175 */ + XC3028L_std_firmware_bg_pal_a2_b_SEQUENCE=&fwblob[113798]; /* length: 167 */ + XC3028L_std_firmware_bg_pal_a2_b_mts_SEQUENCE=&fwblob[113965]; /* length: 175 */ + XC3028L_std_firmware_bg_pal_nicam_a_SEQUENCE=&fwblob[114140]; /* length: 167 */ + XC3028L_std_firmware_bg_pal_nicam_a_mts_SEQUENCE=&fwblob[114307]; /* length: 175 */ + XC3028L_std_firmware_bg_pal_nicam_b_SEQUENCE=&fwblob[114482]; /* length: 167 */ + XC3028L_std_firmware_bg_pal_nicam_b_mts_SEQUENCE=&fwblob[114649]; /* length: 175 */ + XC3028L_std_firmware_dk_pal_a2_SEQUENCE=&fwblob[114824]; /* length: 167 */ + XC3028L_std_firmware_dk_pal_a2_mts_SEQUENCE=&fwblob[114991]; /* length: 175 */ + XC3028L_std_firmware_dk_pal_nicam_SEQUENCE=&fwblob[115166]; /* length: 167 */ + XC3028L_std_firmware_dk_pal_nicam_mts_SEQUENCE=&fwblob[115333]; /* length: 175 */ + XC3028L_std_firmware_dk_secam_a2_dk1_SEQUENCE=&fwblob[115508]; /* length: 167 */ + XC3028L_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE=&fwblob[115675]; /* length: 175 */ + XC3028L_std_firmware_dk_secam_a2_l_dk3_SEQUENCE=&fwblob[115850]; /* length: 167 */ + XC3028L_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE=&fwblob[116017]; /* length: 175 */ + XC3028L_std_firmware_dtv6_atsc_2633_SEQUENCE=&fwblob[116192]; /* length: 155 */ + XC3028L_std_firmware_dtv6_qam_2620_SEQUENCE=&fwblob[116347]; /* length: 155 */ + XC3028L_std_firmware_dtv6_qam_2633_SEQUENCE=&fwblob[116502]; /* length: 155 */ + XC3028L_std_firmware_dtv7_2620_SEQUENCE=&fwblob[116657]; /* length: 155 */ + XC3028L_std_firmware_dtv7_2633_SEQUENCE=&fwblob[116812]; /* length: 155 */ + XC3028L_std_firmware_dtv78_2620_SEQUENCE=&fwblob[116967]; /* length: 155 */ + XC3028L_std_firmware_dtv78_2633_SEQUENCE=&fwblob[117122]; /* length: 155 */ + XC3028L_std_firmware_dtv8_2620_SEQUENCE=&fwblob[117277]; /* length: 155 */ + XC3028L_std_firmware_dtv8_2633_SEQUENCE=&fwblob[117432]; /* length: 155 */ + XC3028L_std_firmware_fm_SEQUENCE=&fwblob[117587]; /* length: 141 */ + XC3028L_std_firmware_i_pal_nicam_SEQUENCE=&fwblob[117728]; /* length: 167 */ + XC3028L_std_firmware_i_pal_nicam_mts_SEQUENCE=&fwblob[117895]; /* length: 175 */ + XC3028L_std_firmware_l_secam_nicam_SEQUENCE=&fwblob[118070]; /* length: 167 */ + XC3028L_std_firmware_lp_secam_nicam_SEQUENCE=&fwblob[118237]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_a2_SEQUENCE=&fwblob[118404]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE=&fwblob[118571]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE=&fwblob[118738]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_a2_mts_SEQUENCE=&fwblob[118905]; /* length: 175 */ + XC3028L_std_firmware_mn_ntscpal_btsc_SEQUENCE=&fwblob[119080]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE=&fwblob[119247]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE=&fwblob[119414]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_eiaj_SEQUENCE=&fwblob[119581]; /* length: 167 */ + XC3028L_std_firmware_mn_ntscpal_mts_SEQUENCE=&fwblob[119748]; /* length: 175 */ + XC3028L_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE=&fwblob[119923]; /* length: 175 */ + XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE=&fwblob[120098]; /* length: 175 */ + + + return 0; +} +#endif diff --git a/drivers/media/video/empia/xc3028/xc3028l_firmwares.h b/drivers/media/video/empia/xc3028/xc3028l_firmwares.h new file mode 100644 index 0000000..f46aaf1 --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028l_firmwares.h @@ -0,0 +1,678 @@ +// +// Automatically generated C header file for +// control of the XC3028L via the i2c interface. +// +// Filename : xc3028_firmwares.h +// Generated : 7/3/2007 2:48:22 PM +// Firmware version : 3.6 +// +// (c) 2007, Xceive Corporation +// + +#ifndef __XC3028L_FIRMWARES_H +#define __XC3028L_FIRMWARES_H + +#include "xc3028l_scodes.h" +#include "xc3028_control.h" + + +// ************************************************************* +// *** LIST OF AVAILABLE TV_MODES +// *** TV_MODE is selected during call to xc3028_initialize() +// *** +// *** 1) XC3028L_tv_mode_m_n_ntsc_pal_btsc_if +// *** 2) XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd +// *** 3) XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd +// *** 4) XC3028L_tv_mode_m_n_ntsc_pal_a2_if +// *** 5) XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd +// *** 6) XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd +// *** 7) XC3028L_tv_mode_m_n_ntsc_pal_mts +// *** 8) XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd +// *** 9) XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd_nogd +// *** 10) XC3028L_tv_mode_m_n_ntsc_pal_a2_mono +// *** 11) XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd +// *** 12) XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd +// *** 13) XC3028L_tv_mode_m_n_ntsc_pal_eiaj +// *** 14) XC3028L_tv_mode_i_pal_nicam +// *** 15) XC3028L_tv_mode_b_g_pal_a2_a +// *** 16) XC3028L_tv_mode_b_g_pal_nicam_a +// *** 17) XC3028L_tv_mode_b_g_pal_a2_b +// *** 18) XC3028L_tv_mode_b_g_pal_nicam_b +// *** 19) XC3028L_tv_mode_l_secam_nicam +// *** 20) XC3028L_tv_mode_lp_secam_nicam +// *** 21) XC3028L_tv_mode_d_k_pal_a2 +// *** 22) XC3028L_tv_mode_d_k_pal_nicam +// *** 23) XC3028L_tv_mode_d_k_secam_a2_dk1 +// *** 24) XC3028L_tv_mode_d_k_secam_a2_l_dk3 +// *** 25) XC3028L_tv_mode_fm_radio_input2 +// *** 26) XC3028L_tv_mode_fm_radio_input1 +// *** 27) XC3028L_tv_mode_dtv6_atsc_lg_6_0mhz +// *** 28) XC3028L_tv_mode_dtv6_atsc_ati_6_38mhz +// *** 29) XC3028L_tv_mode_dtv6_atsc_oren_5_38mhz +// *** 30) XC3028L_tv_mode_dtv6_atsc_oren_3_6mhz +// *** 31) XC3028L_tv_mode_dtv6_atsc_toyota_3_88mhz +// *** 32) XC3028L_tv_mode_dtv6_atsc_toyota_7_94mhz +// *** 33) XC3028L_tv_mode_dtv6_qam_6_0mhz +// *** 34) XC3028L_tv_mode_dtv8_dibcom_5_2mhz +// *** 35) XC3028L_tv_mode_dtv78_dibcom_5_2mhz +// *** 36) XC3028L_tv_mode_dtv7_dibcom_5_2mhz +// *** 37) XC3028L_tv_mode_dtv6_zarlink_qam_4_56mhz +// *** 38) XC3028L_tv_mode_dtv8_zarlink_4_56mhz +// *** 39) XC3028L_tv_mode_dtv78_zarlink_4_56mhz +// *** 40) XC3028L_tv_mode_dtv7_zarlink_4_56mhz +// *** 41) XC3028L_tv_mode_dtv8_china_temporary +// *** 42) XC3028L_tv_mode_i_pal_nicam_mono +// *** 43) XC3028L_tv_mode_b_g_pal_a2_a_mono +// *** 44) XC3028L_tv_mode_b_g_pal_nicam_a_mono +// *** 45) XC3028L_tv_mode_b_g_pal_a2_b_mono +// *** 46) XC3028L_tv_mode_b_g_pal_nicam_b_mono +// *** 47) XC3028L_tv_mode_d_k_pal_a2_mono +// *** 48) XC3028L_tv_mode_d_k_pal_nicam_mono +// *** 49) XC3028L_tv_mode_d_k_secam_a2_dk1_mono +// *** 50) XC3028L_tv_mode_d_k_secam_a2_l_dk3_mono +// *** +// ************************************************************* + +// ************************************************************ +// *** BASE FIRMWARE FILES +// *** These declarations are not used directly by user +// ************************************************************ + +unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE +}; + +unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE +}; + +unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_fm_init = { + &XC3028L_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE +}; + +unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init = { + &XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE +}; + +unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_init = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init_SEQUENCE +}; + +unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_mts_init = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE +}; + + +// ************************************************************ +// *** STANDARD-SPECIFIC FIRMWARE FILES +// *** These declarations are not used directly by user +// ************************************************************ + +unsigned char *XC3028L_std_firmware_bg_pal_a2_a_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_a = { + &XC3028L_std_firmware_bg_pal_a2_a_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_a2_a_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_a_mts = { + &XC3028L_std_firmware_bg_pal_a2_a_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_a2_b_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_b = { + &XC3028L_std_firmware_bg_pal_a2_b_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_a2_b_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_b_mts = { + &XC3028L_std_firmware_bg_pal_a2_b_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_nicam_a_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_a = { + &XC3028L_std_firmware_bg_pal_nicam_a_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_nicam_a_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_a_mts = { + &XC3028L_std_firmware_bg_pal_nicam_a_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_nicam_b_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_b = { + &XC3028L_std_firmware_bg_pal_nicam_b_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_bg_pal_nicam_b_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_b_mts = { + &XC3028L_std_firmware_bg_pal_nicam_b_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_pal_a2_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_a2 = { + &XC3028L_std_firmware_dk_pal_a2_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_pal_a2_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_a2_mts = { + &XC3028L_std_firmware_dk_pal_a2_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_pal_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_nicam = { + &XC3028L_std_firmware_dk_pal_nicam_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_pal_nicam_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_nicam_mts = { + &XC3028L_std_firmware_dk_pal_nicam_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_secam_a2_dk1_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_dk1 = { + &XC3028L_std_firmware_dk_secam_a2_dk1_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_dk1_mts = { + &XC3028L_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_secam_a2_l_dk3_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_l_dk3 = { + &XC3028L_std_firmware_dk_secam_a2_l_dk3_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_l_dk3_mts = { + &XC3028L_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv6_atsc_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv6_atsc_2633 = { + &XC3028L_std_firmware_dtv6_atsc_2633_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv6_qam_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv6_qam_2620 = { + &XC3028L_std_firmware_dtv6_qam_2620_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv6_qam_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv6_qam_2633 = { + &XC3028L_std_firmware_dtv6_qam_2633_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv7_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv7_2620 = { + &XC3028L_std_firmware_dtv7_2620_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv7_2633_SEQUENCE; + + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv7_2633 = { + &XC3028L_std_firmware_dtv7_2633_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv78_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv78_2620 = { + &XC3028L_std_firmware_dtv78_2620_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv78_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv78_2633 = { + &XC3028L_std_firmware_dtv78_2633_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv8_2620_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv8_2620 = { + &XC3028L_std_firmware_dtv8_2620_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_dtv8_2633_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv8_2633 = { + &XC3028L_std_firmware_dtv8_2633_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_fm_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_fm = { + &XC3028L_std_firmware_fm_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_i_pal_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_i_pal_nicam = { + &XC3028L_std_firmware_i_pal_nicam_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_i_pal_nicam_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_i_pal_nicam_mts = { + &XC3028L_std_firmware_i_pal_nicam_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_l_secam_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_l_secam_nicam = { + &XC3028L_std_firmware_l_secam_nicam_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_lp_secam_nicam_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_lp_secam_nicam = { + &XC3028L_std_firmware_lp_secam_nicam_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2 = { + &XC3028L_std_firmware_mn_ntscpal_a2_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2_lcd = { + &XC3028L_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd = { + &XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2_mts = { + &XC3028L_std_firmware_mn_ntscpal_a2_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_btsc_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_btsc = { + &XC3028L_std_firmware_mn_ntscpal_btsc_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_btsc_lcd = { + &XC3028L_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd = { + &XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_eiaj_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_eiaj = { + &XC3028L_std_firmware_mn_ntscpal_eiaj_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_mts_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_mts = { + &XC3028L_std_firmware_mn_ntscpal_mts_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_mts_lcd = { + &XC3028L_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE +}; + +unsigned char *XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE; + +XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd = { + &XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE +}; + + +// ************************************************************ +// *** TV_MODES +// *** These are used when calling xc3028_initialize() +// ************************************************************ + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_btsc_if = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_mn_ntscpal_btsc, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_mn_ntscpal_btsc_lcd, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_if = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_mn_ntscpal_a2, + &XC3028L_scode_table_4600000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_mn_ntscpal_a2_lcd, + &XC3028L_scode_table_4600000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd, + &XC3028L_scode_table_4600000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_mts = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_mts, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_mts_lcd, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd_nogd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_a2_mts, + &XC3028L_scode_table_4320000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_mts_lcd, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_eiaj = { + &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init, + &XC3028L_std_firmware_mn_ntscpal_eiaj, + &XC3028L_scode_table_4500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_i_pal_nicam = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_i_pal_nicam, + &XC3028L_scode_table_6240000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_a = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_bg_pal_a2_a, + &XC3028L_scode_table_5640000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_a = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_bg_pal_nicam_a, + &XC3028L_scode_table_5740000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_b = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_bg_pal_a2_b, + &XC3028L_scode_table_5640000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_b = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_bg_pal_nicam_b, + &XC3028L_scode_table_5740000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_l_secam_nicam = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_l_secam_nicam, + &XC3028L_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_lp_secam_nicam = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_lp_secam_nicam, + &XC3028L_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_a2 = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dk_pal_a2, + &XC3028L_scode_table_6600000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_nicam = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dk_pal_nicam, + &XC3028L_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_dk1 = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dk_secam_a2_dk1, + &XC3028L_scode_table_6340000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_l_dk3 = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dk_secam_a2_l_dk3, + &XC3028L_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_fm_radio_input2 = { + &XC3028L_base_firmware_i2c_files_base_firmwares_fm_init, + &XC3028L_std_firmware_fm, + 0 +}; + +XC3028_TV_MODE XC3028L_tv_mode_fm_radio_input1 = { + &XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init, + &XC3028L_std_firmware_fm, + 0 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_lg_6_0mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_atsc_2633, + &XC3028L_scode_table_6200000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_ati_6_38mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_atsc_2633, + &XC3028L_scode_table_6580000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_oren_5_38mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_atsc_2633, + &XC3028L_scode_table_5580000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_oren_3_6mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_atsc_2633, + &XC3028L_scode_table_3800000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_toyota_3_88mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_atsc_2633, + &XC3028L_scode_table_4080000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_toyota_7_94mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_atsc_2633, + &XC3028L_scode_table_8140000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_qam_6_0mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_qam_2633, + &XC3028L_scode_table_6200000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv8_dibcom_5_2mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv8_2633, + &XC3028L_scode_table_5200000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv78_dibcom_5_2mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv78_2633, + &XC3028L_scode_table_5200000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv7_dibcom_5_2mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv7_2633, + &XC3028L_scode_table_5900000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv6_zarlink_qam_4_56mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_init, + &XC3028L_std_firmware_dtv6_qam_2620, + &XC3028L_scode_table_4760000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv8_zarlink_4_56mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv8_2620, + &XC3028L_scode_table_4560000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv78_zarlink_4_56mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv78_2620, + &XC3028L_scode_table_4560000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv7_zarlink_4_56mhz = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv7_2620, + &XC3028L_scode_table_5260000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_dtv8_china_temporary = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init, + &XC3028L_std_firmware_dtv8_2633, + &XC3028L_scode_table_5400000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_i_pal_nicam_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_i_pal_nicam_mts, + &XC3028L_scode_table_6000000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_a_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_bg_pal_a2_a_mts, + &XC3028L_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_a_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_bg_pal_nicam_a_mts, + &XC3028L_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_b_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_bg_pal_a2_b_mts, + &XC3028L_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_b_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_bg_pal_nicam_b_mts, + &XC3028L_scode_table_5320000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_a2_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_dk_pal_a2_mts, + &XC3028L_scode_table_6680000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_nicam_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_dk_pal_nicam_mts, + &XC3028L_scode_table_6500000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_dk1_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_dk_secam_a2_dk1_mts, + &XC3028L_scode_table_6320000 +}; + +XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_l_dk3_mono = { + &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init, + &XC3028L_std_firmware_dk_secam_a2_l_dk3_mts, + &XC3028L_scode_table_6500000 +}; + + +#endif + diff --git a/drivers/media/video/empia/xc3028/xc3028l_scodes.h b/drivers/media/video/empia/xc3028/xc3028l_scodes.h new file mode 100644 index 0000000..dcd05f9 --- /dev/null +++ b/drivers/media/video/empia/xc3028/xc3028l_scodes.h @@ -0,0 +1,664 @@ +// +// Automatically generated C header file for +// control of the XC3028L via the i2c interface. +// +// Filename : xc3028_scodes.h +// Generated : 7/3/2007 2:48:23 PM +// +// (c) 2007, Xceive Corporation +// + +#ifndef __XC3028L_SCODES_H +#define __XC3028L_SCODES_H + +#include "xc3028_control.h" + +XC3028_SCODE_TABLE XC3028L_scode_table_5400000 = { + { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C }, + { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 }, + { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C }, + { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 }, + { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 }, + { 0x1E, 0x15, 0x32, 0xDB, 0x94, 0x02, 0x49, 0x25, 0x69, 0x86, 0x96, 0x5B }, + { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 }, + { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 }, + { 0x1E, 0x1E, 0xE2, 0x9B, 0x6E, 0x02, 0x52, 0x4D, 0xA9, 0x56, 0x65, 0x5A }, + { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A }, + { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x14, 0xD2, 0x94, 0xE0, 0x02, 0x9B, 0x6D, 0x99, 0x06, 0x5A, 0x94 }, + { 0x1E, 0x01, 0x72, 0xDC, 0xB8, 0x02, 0x92, 0x49, 0xA9, 0x86, 0x65, 0xA3 }, + { 0x1E, 0x0A, 0xA2, 0xED, 0x18, 0x02, 0xE4, 0x91, 0xA4, 0x86, 0x55, 0x59 }, + { 0x1E, 0x14, 0x92, 0xDB, 0x6D, 0x83, 0x25, 0x01, 0x99, 0xA6, 0x54, 0x21 }, + { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4760000 = { + { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 }, + { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 }, + { 0x1E, 0x09, 0xD2, 0x52, 0x92, 0x00, 0x02, 0x49, 0x6A, 0x96, 0x69, 0xA4 }, + { 0x1E, 0x03, 0x72, 0x54, 0x92, 0x00, 0x00, 0x09, 0x65, 0x66, 0x6A, 0x95 }, + { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A }, + { 0x1E, 0x1B, 0xD2, 0x65, 0x00, 0x00, 0x52, 0x81, 0x68, 0x06, 0x5A, 0x13 }, + { 0x1E, 0x0C, 0x82, 0x70, 0xD8, 0x00, 0x5B, 0x71, 0x52, 0x46, 0x65, 0x8B }, + { 0x1E, 0x06, 0x32, 0x5B, 0x90, 0x00, 0x52, 0x4D, 0x5A, 0x86, 0x6A, 0x5C }, + { 0x1E, 0x19, 0xE2, 0x93, 0x92, 0x02, 0x52, 0x49, 0x6A, 0x96, 0xAA, 0x65 }, + { 0x1E, 0x07, 0x92, 0x92, 0x48, 0x02, 0x49, 0x49, 0x65, 0x86, 0xA9, 0x95 }, + { 0x1E, 0x1C, 0x52, 0xA4, 0x92, 0x00, 0x01, 0x49, 0x69, 0x56, 0x56, 0x52 }, + { 0x1E, 0x13, 0x72, 0xA8, 0x18, 0x00, 0x00, 0x01, 0x50, 0x86, 0x59, 0x4A }, + { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A }, + { 0x1E, 0x11, 0x72, 0x93, 0x78, 0x00, 0x13, 0x91, 0x59, 0x46, 0x55, 0x49 }, + { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A }, + { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6580000 = { + { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B }, + { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E }, + { 0x1E, 0x0E, 0x44, 0x92, 0x4D, 0x84, 0x92, 0x51, 0x69, 0x66, 0x5A, 0x9C }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 }, + { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 }, + { 0x1E, 0x0A, 0x02, 0x49, 0x54, 0x05, 0x38, 0xC1, 0xA9, 0x86, 0x51, 0x21 }, + { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 }, + { 0x1E, 0x0B, 0xD4, 0x93, 0x74, 0x06, 0xDB, 0x6D, 0x96, 0x86, 0x56, 0x9B }, + { 0x1E, 0x09, 0xD4, 0xE7, 0x00, 0x06, 0xC6, 0x01, 0xA4, 0x06, 0x44, 0x11 }, + { 0x1E, 0x1C, 0x54, 0xDC, 0xB8, 0x06, 0xDB, 0x91, 0x99, 0x86, 0x69, 0x5B }, + { 0x1E, 0x1C, 0xF5, 0x28, 0x18, 0x07, 0x20, 0xC1, 0x90, 0x46, 0x62, 0x0B }, + { 0x1E, 0x01, 0x35, 0xBF, 0x00, 0x07, 0xB6, 0xC1, 0xA8, 0x06, 0x6A, 0x1C }, + { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B }, + { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4500000 = { + { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B }, + { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B }, + { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 }, + { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 }, + { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 }, + { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B }, + { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B }, + { 0x1E, 0x1B, 0xA0, 0x00, 0x09, 0x00, 0xDC, 0xA1, 0xAA, 0x96, 0x96, 0x2B }, + { 0x1E, 0x06, 0xB2, 0x4A, 0x92, 0x00, 0x12, 0x49, 0x69, 0x56, 0x6A, 0x95 }, + { 0x1E, 0x1A, 0x02, 0x4B, 0x00, 0x00, 0x09, 0x31, 0x64, 0x06, 0x69, 0x8C }, + { 0x1E, 0x1E, 0xB2, 0x49, 0x6E, 0x00, 0x01, 0x49, 0x65, 0x96, 0x66, 0x94 }, + { 0x1E, 0x0C, 0xD2, 0x53, 0x18, 0x00, 0x01, 0x29, 0x68, 0x86, 0x6A, 0x9D }, + { 0x1E, 0x0B, 0x22, 0x52, 0x6E, 0x00, 0x4A, 0x61, 0x66, 0x66, 0x55, 0x19 }, + { 0x1E, 0x1A, 0x12, 0x5C, 0x00, 0x00, 0x52, 0x91, 0x64, 0x06, 0x56, 0x8B }, + { 0x1E, 0x00, 0x72, 0x6D, 0xD8, 0x00, 0x6D, 0xA1, 0x66, 0x46, 0x56, 0x12 }, + { 0x1E, 0x09, 0xE2, 0x65, 0xD8, 0x00, 0x54, 0x91, 0x56, 0x86, 0x69, 0x94 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4600000 = { + { 0x1E, 0x1A, 0x82, 0x5B, 0xD8, 0x00, 0x54, 0x91, 0x66, 0x46, 0x56, 0x93 }, + { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 }, + { 0x1E, 0x1D, 0x32, 0x64, 0xD8, 0x00, 0x53, 0x71, 0x56, 0x86, 0x6A, 0x54 }, + { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B }, + { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B }, + { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 }, + { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 }, + { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 }, + { 0x1E, 0x0C, 0x32, 0x9B, 0x80, 0x00, 0x0B, 0x91, 0x55, 0x06, 0x59, 0x42 }, + { 0x1E, 0x1F, 0x52, 0x94, 0xD8, 0x00, 0x12, 0x6D, 0x56, 0x46, 0x5A, 0x8C }, + { 0x1E, 0x0E, 0xC2, 0x49, 0x78, 0x00, 0x1C, 0x81, 0x6A, 0x86, 0x66, 0x23 }, + { 0x1E, 0x0D, 0x22, 0x4A, 0x50, 0x00, 0x09, 0x61, 0x69, 0x46, 0x65, 0x12 }, + { 0x1E, 0x01, 0xB2, 0x4A, 0x78, 0x00, 0x09, 0x25, 0x66, 0x86, 0x6A, 0x9D }, + { 0x1E, 0x11, 0x12, 0x49, 0x4D, 0x80, 0x02, 0x6D, 0x65, 0x66, 0x65, 0x52 }, + { 0x1E, 0x18, 0xC2, 0x55, 0xA0, 0x00, 0x00, 0x25, 0x6A, 0x06, 0x69, 0x9C }, + { 0x1E, 0x0F, 0xE2, 0x52, 0x72, 0x00, 0x4B, 0x01, 0x65, 0xA6, 0x54, 0x19 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4320000 = { + { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A }, + { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 }, + { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C }, + { 0x1E, 0x1D, 0x90, 0x00, 0x05, 0x00, 0x92, 0x49, 0xA9, 0xA6, 0x99, 0x6B }, + { 0x1E, 0x1D, 0x20, 0x01, 0x90, 0x00, 0xA4, 0xA1, 0xAA, 0x46, 0xA5, 0x23 }, + { 0x1E, 0x1F, 0x90, 0x02, 0x92, 0x00, 0x92, 0x49, 0xA9, 0x96, 0xA9, 0xA5 }, + { 0x1E, 0x15, 0x90, 0x05, 0xB4, 0x00, 0x4A, 0xC1, 0xA5, 0x46, 0x9A, 0x14 }, + { 0x1E, 0x1C, 0xC0, 0x02, 0x52, 0x00, 0x52, 0x71, 0xA5, 0x96, 0x9A, 0x5C }, + { 0x1E, 0x1A, 0xF2, 0x5B, 0x6C, 0x00, 0x53, 0x71, 0x65, 0x46, 0x59, 0x4A }, + { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 }, + { 0x1E, 0x09, 0x72, 0x5B, 0x98, 0x00, 0x49, 0x49, 0x59, 0x86, 0x65, 0x52 }, + { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 }, + { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 }, + { 0x1E, 0x0A, 0x62, 0x49, 0x29, 0x00, 0x9B, 0x71, 0x5A, 0x96, 0x6A, 0x5C }, + { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 }, + { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6240000 = { + { 0x1E, 0x1B, 0x22, 0x4A, 0x4C, 0x05, 0x2F, 0x01, 0xAA, 0x86, 0x68, 0x2B }, + { 0x1E, 0x01, 0xF2, 0x4A, 0x6E, 0x04, 0x30, 0xC1, 0xA6, 0x56, 0x11, 0x19 }, + { 0x1E, 0x0C, 0x52, 0x52, 0x49, 0x85, 0x24, 0x81, 0xA9, 0x96, 0x99, 0x23 }, + { 0x1E, 0x0D, 0x02, 0x52, 0x49, 0x84, 0xDB, 0x81, 0xA5, 0x66, 0x99, 0x1B }, + { 0x1E, 0x02, 0x52, 0x6E, 0xC0, 0x04, 0xDD, 0xA1, 0xA9, 0x06, 0xA5, 0x1B }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x14, 0x32, 0x53, 0x6D, 0x84, 0xB0, 0xC1, 0x9A, 0x96, 0xA2, 0x24 }, + { 0x1E, 0x01, 0xB2, 0x49, 0x25, 0x04, 0x94, 0x01, 0x9A, 0x96, 0xA4, 0x23 }, + { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 }, + { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 }, + { 0x1E, 0x14, 0x74, 0xED, 0xE0, 0x06, 0xDE, 0x01, 0x56, 0x06, 0xA8, 0x0C }, + { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 }, + { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5640000 = { + { 0x1E, 0x1B, 0xD2, 0x9B, 0x92, 0x02, 0x96, 0xC1, 0x96, 0x56, 0x59, 0x12 }, + { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 }, + { 0x1E, 0x0A, 0x42, 0xDC, 0x92, 0x02, 0x94, 0x91, 0xA6, 0x56, 0x65, 0x9B }, + { 0x1E, 0x1E, 0x72, 0xC7, 0x00, 0x02, 0xEF, 0x01, 0x84, 0x06, 0x58, 0x0A }, + { 0x1E, 0x09, 0x32, 0xDD, 0xA0, 0x03, 0x2E, 0xC1, 0x9A, 0x06, 0x55, 0x19 }, + { 0x1E, 0x03, 0x53, 0x2D, 0xA0, 0x03, 0xB0, 0x01, 0xA6, 0x06, 0x60, 0x1A }, + { 0x1E, 0x0A, 0xB3, 0x24, 0xB4, 0x03, 0x20, 0xC1, 0x95, 0x46, 0x92, 0x0B }, + { 0x1E, 0x1F, 0xC3, 0x86, 0x00, 0x02, 0xE7, 0x01, 0x84, 0x06, 0x98, 0x0B }, + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 }, + { 0x1E, 0x1A, 0xA2, 0x49, 0x26, 0x02, 0x49, 0x29, 0x99, 0xA6, 0x55, 0x61 }, + { 0x1E, 0x1D, 0x62, 0x4B, 0x6E, 0x02, 0x4A, 0xA1, 0x96, 0x56, 0x5A, 0x13 }, + { 0x1E, 0x00, 0xB2, 0x49, 0x24, 0x82, 0x53, 0xA1, 0x95, 0xA6, 0x5A, 0x1B }, + { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B }, + { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B }, + { 0x1E, 0x1E, 0x42, 0xAD, 0x00, 0x02, 0x4B, 0x91, 0x94, 0x06, 0x69, 0x4B } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5740000 = { + { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 }, + { 0x1E, 0x13, 0xB2, 0x86, 0xD8, 0x02, 0x4A, 0x71, 0x89, 0x86, 0x66, 0x5B }, + { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 }, + { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C }, + { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 }, + { 0x1E, 0x1B, 0x32, 0xE5, 0xD8, 0x02, 0xDD, 0xA1, 0x96, 0x46, 0x65, 0x12 }, + { 0x1E, 0x1C, 0x53, 0x26, 0xC0, 0x03, 0x70, 0xC1, 0xAA, 0x06, 0x52, 0x22 }, + { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A }, + { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x0F, 0x22, 0x53, 0x6C, 0x04, 0xA4, 0x91, 0x99, 0x86, 0xA5, 0x5B }, + { 0x1E, 0x0B, 0x22, 0x49, 0x49, 0x04, 0x94, 0xA1, 0x9A, 0xA6, 0xA9, 0x2C }, + { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B }, + { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 }, + { 0x1E, 0x1C, 0x12, 0x95, 0x18, 0x02, 0x6D, 0xC1, 0xA8, 0x46, 0x55, 0x19 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6000000 = { + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 }, + { 0x1E, 0x16, 0xF2, 0x49, 0x72, 0x04, 0x92, 0xA1, 0x99, 0x66, 0xAA, 0x1D }, + { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B }, + { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 }, + { 0x1E, 0x09, 0x22, 0x94, 0x98, 0x02, 0x46, 0x01, 0xA6, 0x46, 0x44, 0x19 }, + { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 }, + { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 }, + { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A }, + { 0x1E, 0x0C, 0x42, 0x4A, 0x80, 0x05, 0x25, 0xC1, 0xAA, 0x06, 0x65, 0x22 }, + { 0x1E, 0x07, 0x72, 0x4A, 0x49, 0x85, 0xFF, 0x01, 0xA5, 0x56, 0x94, 0x12 }, + { 0x1E, 0x0A, 0xB2, 0x53, 0x92, 0x05, 0x2E, 0x01, 0xAA, 0x66, 0x98, 0x2B }, + { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC }, + { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6600000 = { + { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C }, + { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 }, + { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 }, + { 0x1E, 0x1D, 0x84, 0x93, 0x18, 0x04, 0xA4, 0xA1, 0x64, 0x86, 0x56, 0x12 }, + { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 }, + { 0x1E, 0x1A, 0x74, 0xA6, 0x18, 0x04, 0x92, 0x49, 0x54, 0x46, 0x69, 0x43 }, + { 0x1E, 0x19, 0x34, 0x92, 0x60, 0x04, 0xE8, 0xC1, 0x59, 0x06, 0x51, 0x09 }, + { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 }, + { 0x1E, 0x02, 0x94, 0xA4, 0xD8, 0x09, 0x24, 0xC1, 0x9A, 0x46, 0x95, 0x1A }, + { 0x1E, 0x06, 0x54, 0x93, 0x6C, 0x09, 0x25, 0xC1, 0x9A, 0x46, 0xA5, 0x1B }, + { 0x1E, 0x1B, 0xB4, 0xDD, 0xD8, 0x06, 0xE5, 0xC1, 0xA6, 0x46, 0x5A, 0x1B }, + { 0x1E, 0x10, 0x74, 0xE7, 0x18, 0x06, 0xDC, 0x91, 0x98, 0x86, 0x65, 0x5A }, + { 0x1E, 0x15, 0x75, 0x2F, 0xE0, 0x07, 0x06, 0xC1, 0xA5, 0x06, 0x4A, 0x13 }, + { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A }, + { 0x1E, 0x1D, 0x05, 0xF8, 0xD8, 0x07, 0xB6, 0xC1, 0x51, 0x86, 0xA5, 0x0B }, + { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6340000 = { + { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 }, + { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A }, + { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B }, + { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 }, + { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C }, + { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A }, + { 0x1E, 0x1B, 0xE2, 0x67, 0x18, 0x04, 0xE6, 0x01, 0xA8, 0x86, 0xA8, 0x24 }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x1A, 0x05, 0x76, 0xC0, 0x07, 0xB6, 0x01, 0x99, 0x06, 0x54, 0x11 }, + { 0x1E, 0x0B, 0x15, 0x86, 0x00, 0x07, 0x68, 0xC1, 0x48, 0x06, 0x91, 0x0A }, + { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 }, + { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 }, + { 0x1E, 0x1F, 0xE4, 0xED, 0xB8, 0x06, 0xDC, 0x81, 0x59, 0x86, 0xA6, 0x14 }, + { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6200000 = { + { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 }, + { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C }, + { 0x1E, 0x0A, 0x62, 0x52, 0x98, 0x04, 0xDE, 0xC1, 0xA5, 0x86, 0x99, 0x1B }, + { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 }, + { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 }, + { 0x1E, 0x1C, 0xF2, 0x52, 0x70, 0x04, 0xBF, 0x01, 0x99, 0x46, 0x98, 0x13 }, + { 0x1E, 0x1D, 0x52, 0x52, 0x50, 0x04, 0x93, 0xA1, 0x95, 0x86, 0xA5, 0x13 }, + { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B }, + { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C }, + { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 }, + { 0x1E, 0x16, 0x54, 0xDB, 0x92, 0x04, 0x93, 0x61, 0x55, 0x96, 0x59, 0x0A }, + { 0x1E, 0x0A, 0x44, 0x92, 0xD8, 0x04, 0xAD, 0xC1, 0x66, 0x86, 0x56, 0x1A }, + { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 }, + { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 }, + { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 }, + { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5580000 = { + { 0x1E, 0x1F, 0x72, 0x92, 0x60, 0x02, 0x9B, 0x91, 0x95, 0x06, 0x65, 0x8B }, + { 0x1E, 0x08, 0xD2, 0xE7, 0x00, 0x02, 0x92, 0x4D, 0xA8, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x06, 0x32, 0xE5, 0xB8, 0x02, 0xDB, 0x71, 0x99, 0x86, 0x65, 0x9B }, + { 0x1E, 0x19, 0x63, 0x24, 0x80, 0x03, 0x24, 0x01, 0xAA, 0x06, 0x68, 0x23 }, + { 0x1E, 0x04, 0x13, 0x2D, 0xB8, 0x03, 0x86, 0x01, 0x99, 0x46, 0x88, 0x13 }, + { 0x1E, 0x1C, 0x03, 0x76, 0x18, 0x03, 0x27, 0x01, 0x98, 0x86, 0xA8, 0x1C }, + { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 }, + { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C }, + { 0x1E, 0x0C, 0x22, 0x52, 0x4D, 0x84, 0x92, 0x49, 0x96, 0x66, 0xA5, 0x5B }, + { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B }, + { 0x1E, 0x19, 0xA2, 0x4A, 0x98, 0x02, 0x49, 0x4D, 0x95, 0x46, 0x5A, 0x4B }, + { 0x1E, 0x0A, 0x82, 0x92, 0x49, 0x82, 0x5E, 0x01, 0xA9, 0xA6, 0x58, 0x2A }, + { 0x1E, 0x0B, 0x92, 0x92, 0x58, 0x02, 0x5E, 0x01, 0xA5, 0x46, 0x64, 0x12 }, + { 0x1E, 0x08, 0x72, 0xA6, 0xD8, 0x02, 0x49, 0x29, 0xA5, 0x86, 0x65, 0x5A }, + { 0x1E, 0x09, 0x82, 0xA4, 0xB4, 0x02, 0x49, 0x25, 0x96, 0x46, 0x69, 0x94 }, + { 0x1E, 0x0F, 0x92, 0x93, 0x6D, 0x82, 0x9C, 0x81, 0x9A, 0xA6, 0x56, 0x2A } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_3800000 = { + { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D }, + { 0x1E, 0x0D, 0x70, 0x12, 0x18, 0x00, 0x01, 0x25, 0xA4, 0x46, 0xA5, 0x53 }, + { 0x1E, 0x12, 0xF0, 0x1D, 0xD8, 0x00, 0x02, 0x71, 0xAA, 0x46, 0xAA, 0x65 }, + { 0x1E, 0x09, 0xC0, 0x25, 0xE0, 0x12, 0x49, 0x49, 0xA9, 0x05, 0x55, 0x58 }, + { 0x1E, 0x0D, 0x00, 0x2D, 0xD8, 0x12, 0x4C, 0x81, 0xAA, 0x45, 0x56, 0x21 }, + { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 }, + { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 }, + { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A }, + { 0x1E, 0x16, 0x30, 0x00, 0x29, 0x00, 0x49, 0x49, 0xA6, 0x56, 0xA6, 0x5C }, + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C }, + { 0x1E, 0x04, 0x90, 0x0A, 0x92, 0x00, 0x00, 0x41, 0xAA, 0x56, 0x99, 0x23 }, + { 0x1E, 0x1A, 0xF0, 0x08, 0xD8, 0x00, 0x0D, 0x01, 0xA1, 0x46, 0x98, 0x13 }, + { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 }, + { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 }, + { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4080000 = { + { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D }, + { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 }, + { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 }, + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x0E, 0x30, 0x09, 0x29, 0x00, 0x01, 0x49, 0xA9, 0x96, 0x99, 0x63 }, + { 0x1E, 0x13, 0xD0, 0x0B, 0x6D, 0x80, 0x00, 0x01, 0xAA, 0xA6, 0x9A, 0xB5 }, + { 0x1E, 0x0D, 0x40, 0x0B, 0x78, 0x00, 0x09, 0x29, 0xA6, 0x86, 0x99, 0xA4 }, + { 0x1E, 0x02, 0x10, 0x0A, 0x4E, 0x00, 0x1B, 0x71, 0xA5, 0x66, 0x95, 0x5A }, + { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B }, + { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B }, + { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 }, + { 0x1E, 0x09, 0x10, 0x00, 0x2E, 0x00, 0x92, 0x41, 0xA9, 0xA6, 0x96, 0x2B }, + { 0x1E, 0x0C, 0xE0, 0x01, 0x29, 0x00, 0xAD, 0xC1, 0xAA, 0x56, 0x95, 0x22 }, + { 0x1E, 0x01, 0x70, 0x02, 0x50, 0x00, 0x93, 0x61, 0xAA, 0x86, 0xA6, 0x2C }, + { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 }, + { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_8140000 = { + { 0x1E, 0x13, 0x9B, 0x86, 0xE0, 0x01, 0xF8, 0xC2, 0x49, 0x04, 0x92, 0x12 }, + { 0x1E, 0x0E, 0x4C, 0x00, 0xD8, 0x00, 0x38, 0x02, 0x02, 0x84, 0x20, 0x19 }, + { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 }, + { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A }, + { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A }, + { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 }, + { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 }, + { 0x1E, 0x15, 0x99, 0x6E, 0xC0, 0x0F, 0xC6, 0x01, 0xA6, 0x06, 0x44, 0x19 }, + { 0x1E, 0x08, 0xC7, 0x6D, 0xB4, 0x0B, 0xB0, 0xC2, 0x96, 0x86, 0x92, 0x23 }, + { 0x1E, 0x1A, 0x87, 0x7F, 0x18, 0x0B, 0xBF, 0x02, 0x64, 0x46, 0x64, 0x12 }, + { 0x1E, 0x00, 0xF7, 0x24, 0xE0, 0x0B, 0x6D, 0xC2, 0x56, 0x06, 0x59, 0x12 }, + { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A }, + { 0x1E, 0x0D, 0x19, 0x3F, 0x18, 0x0D, 0x86, 0xC2, 0x94, 0x46, 0x4A, 0x13 }, + { 0x1E, 0x0E, 0x19, 0xC6, 0xE0, 0x0E, 0x38, 0xC2, 0x8A, 0x06, 0x22, 0x23 }, + { 0x1E, 0x19, 0xE9, 0x6D, 0xB4, 0x0F, 0xFF, 0x02, 0x56, 0x46, 0x58, 0x12 }, + { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5900000 = { + { 0x1E, 0x1D, 0x02, 0x49, 0x24, 0x82, 0x49, 0x49, 0x99, 0x66, 0x55, 0x9A }, + { 0x1E, 0x12, 0x92, 0x4A, 0x4E, 0x02, 0x49, 0x25, 0x96, 0x96, 0x59, 0x9B }, + { 0x1E, 0x0D, 0x42, 0x92, 0x54, 0x02, 0x52, 0x51, 0xAA, 0x86, 0x5A, 0xAC }, + { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B }, + { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B }, + { 0x1E, 0x1A, 0x62, 0xAE, 0x18, 0x02, 0x4E, 0xC1, 0x98, 0x86, 0x69, 0x1B }, + { 0x1E, 0x01, 0x12, 0x9D, 0xC0, 0x02, 0x93, 0x71, 0x96, 0x06, 0x55, 0x51 }, + { 0x1E, 0x18, 0xA2, 0x94, 0xB8, 0x02, 0xAD, 0xC1, 0x96, 0x46, 0x59, 0x12 }, + { 0x1E, 0x0D, 0xD4, 0x92, 0x6C, 0x04, 0xDD, 0x01, 0x56, 0x86, 0x64, 0x12 }, + { 0x1E, 0x07, 0x12, 0x4A, 0x4A, 0x05, 0x24, 0xA1, 0xA9, 0xA6, 0x69, 0x2B }, + { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B }, + { 0x1E, 0x1C, 0xD2, 0x55, 0xA0, 0x05, 0x30, 0xC1, 0xA9, 0x06, 0xA2, 0x1C }, + { 0x1E, 0x14, 0x72, 0x5F, 0x18, 0x04, 0xEE, 0xC1, 0xA4, 0x86, 0x9A, 0x1C }, + { 0x1E, 0x1B, 0x92, 0x6D, 0xB4, 0x04, 0x92, 0x51, 0x9A, 0x86, 0x96, 0xA4 }, + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x0E, 0xD2, 0x53, 0xC0, 0x04, 0x9C, 0xC1, 0x95, 0x06, 0xA9, 0x0C } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5260000 = { + { 0x1E, 0x04, 0x93, 0x24, 0x92, 0x02, 0xAD, 0x01, 0x66, 0xA6, 0xA8, 0x24 }, + { 0x1E, 0x0F, 0x63, 0x25, 0xD8, 0x02, 0x92, 0x51, 0x59, 0x86, 0xA9, 0x95 }, + { 0x1E, 0x1F, 0xA2, 0xDB, 0x6D, 0x82, 0x4A, 0xA1, 0x65, 0x96, 0x99, 0x13 }, + { 0x1E, 0x08, 0xE2, 0xF6, 0xD8, 0x02, 0x52, 0x91, 0x59, 0x86, 0x99, 0x94 }, + { 0x1E, 0x1E, 0x92, 0xDC, 0x98, 0x02, 0x66, 0xC1, 0x59, 0x46, 0xA9, 0x0C }, + { 0x1E, 0x0C, 0x72, 0x92, 0x52, 0x02, 0x52, 0x4D, 0x69, 0x56, 0xA9, 0x95 }, + { 0x1E, 0x09, 0xB2, 0x92, 0x49, 0x02, 0x4B, 0x91, 0x66, 0xA6, 0xA9, 0xA5 }, + { 0x1E, 0x1E, 0x52, 0x9B, 0x70, 0x00, 0x01, 0x49, 0x65, 0x46, 0x55, 0x49 }, + { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 }, + { 0x1E, 0x13, 0x12, 0xDB, 0x6E, 0x02, 0x95, 0x01, 0xA6, 0x56, 0x68, 0x1B }, + { 0x1E, 0x1A, 0xD2, 0xF6, 0x18, 0x02, 0xF8, 0xC1, 0x98, 0x86, 0x51, 0x19 }, + { 0x1E, 0x0E, 0x52, 0xDC, 0xB4, 0x03, 0x37, 0x01, 0x96, 0x86, 0x64, 0x1A }, + { 0x1E, 0x1D, 0x73, 0x07, 0xE0, 0x02, 0x3F, 0x01, 0x89, 0x06, 0x24, 0x12 }, + { 0x1E, 0x1B, 0xA3, 0x40, 0xE0, 0x03, 0x2D, 0xC1, 0x82, 0x06, 0xA9, 0x14 }, + { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 }, + { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5320000 = { + { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C }, + { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 }, + { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 }, + { 0x1E, 0x09, 0x42, 0xDC, 0xE0, 0x02, 0x4A, 0x71, 0x69, 0x06, 0x95, 0x93 }, + { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 }, + { 0x1E, 0x0C, 0x02, 0xE7, 0xE0, 0x02, 0x65, 0x01, 0x5A, 0x06, 0x94, 0x12 }, + { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 }, + { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B }, + { 0x1E, 0x1E, 0xA2, 0x9B, 0xE0, 0x02, 0x49, 0x6D, 0x99, 0x06, 0x6A, 0x95 }, + { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 }, + { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C }, + { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 }, + { 0x1E, 0x02, 0x32, 0xE4, 0x98, 0x02, 0xDC, 0xC1, 0x95, 0x86, 0x6A, 0x14 }, + { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 }, + { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C }, + { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6680000 = { + { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B }, + { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 }, + { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B }, + { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E }, + { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 }, + { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 }, + { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }, + { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 }, + { 0x1E, 0x00, 0x94, 0x93, 0x90, 0x09, 0xC6, 0x01, 0xA6, 0x46, 0x48, 0x1A }, + { 0x1E, 0x07, 0xF4, 0xA4, 0xB8, 0x09, 0x6E, 0xC1, 0xA6, 0x46, 0x9A, 0x1C }, + { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 }, + { 0x1E, 0x1D, 0xB4, 0x93, 0x6D, 0x86, 0xDD, 0xC1, 0x95, 0x66, 0x56, 0x12 }, + { 0x1E, 0x1A, 0x44, 0xED, 0xB8, 0x06, 0xF0, 0xC1, 0xA9, 0x46, 0x62, 0x1B }, + { 0x1E, 0x06, 0x74, 0xDE, 0xD8, 0x07, 0x24, 0x91, 0x96, 0x46, 0x55, 0x51 }, + { 0x1E, 0x13, 0xB5, 0x24, 0x18, 0x07, 0x24, 0x01, 0x98, 0x46, 0x68, 0x13 }, + { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6500000 = { + { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 }, + { 0x1E, 0x09, 0xF4, 0x93, 0x72, 0x04, 0xA7, 0x01, 0x65, 0x66, 0x54, 0x11 }, + { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 }, + { 0x1E, 0x0E, 0xB4, 0xA4, 0x00, 0x04, 0x92, 0x81, 0x54, 0x06, 0x69, 0x03 }, + { 0x1E, 0x04, 0x74, 0x93, 0x6C, 0x04, 0xF8, 0x01, 0x5A, 0x46, 0x50, 0x11 }, + { 0x1E, 0x0D, 0x32, 0x49, 0x2C, 0x05, 0x25, 0xA1, 0xAA, 0x46, 0x55, 0x21 }, + { 0x1E, 0x17, 0x92, 0x4D, 0xB8, 0x05, 0x70, 0xC1, 0xA9, 0x86, 0x62, 0x23 }, + { 0x1E, 0x03, 0x92, 0x49, 0x52, 0x05, 0x80, 0xC1, 0xA6, 0x66, 0x82, 0x23 }, + { 0x1E, 0x02, 0x54, 0xDE, 0x18, 0x06, 0xE0, 0xC1, 0xA8, 0x86, 0x51, 0x21 }, + { 0x1E, 0x1D, 0xC4, 0xED, 0xD8, 0x06, 0xE5, 0x01, 0x9A, 0x86, 0x68, 0x23 }, + { 0x1E, 0x1F, 0x95, 0x24, 0xB8, 0x07, 0x36, 0xC1, 0xA5, 0x86, 0x5A, 0x1B }, + { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A }, + { 0x1E, 0x06, 0x95, 0xFF, 0x00, 0x07, 0x86, 0x01, 0x64, 0x06, 0x84, 0x0A }, + { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 }, + { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C }, + { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_6320000 = { + { 0x1E, 0x1E, 0x44, 0x92, 0x90, 0x04, 0xE4, 0x91, 0x5A, 0x86, 0x59, 0x9B }, + { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 }, + { 0x1E, 0x18, 0x92, 0x4B, 0x98, 0x05, 0x70, 0x01, 0xA9, 0x86, 0x50, 0x21 }, + { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B }, + { 0x1E, 0x19, 0xE2, 0x54, 0xE0, 0x05, 0x00, 0xC1, 0xAA, 0x06, 0x82, 0x23 }, + { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC }, + { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D }, + { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 }, + { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 }, + { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B }, + { 0x1E, 0x01, 0xD5, 0x28, 0xD8, 0x07, 0x24, 0x91, 0x52, 0x46, 0xAA, 0x8E }, + { 0x1E, 0x19, 0xC4, 0xE5, 0x18, 0x06, 0xC0, 0xC1, 0x68, 0x86, 0x82, 0x1B }, + { 0x1E, 0x1E, 0x14, 0xDB, 0x94, 0x04, 0x92, 0x49, 0x59, 0x46, 0x56, 0x4A }, + { 0x1E, 0x06, 0x34, 0x90, 0xD8, 0x04, 0x9C, 0x81, 0x61, 0x86, 0x59, 0x12 }, + { 0x1E, 0x0E, 0xA4, 0x9B, 0x72, 0x04, 0xA4, 0x81, 0x66, 0x66, 0x69, 0x1B }, + { 0x1E, 0x1B, 0x64, 0xAF, 0xE0, 0x04, 0x97, 0x01, 0x56, 0x06, 0x64, 0x0A } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4940000 = { + { 0x1E, 0x0A, 0x22, 0xA4, 0x92, 0x00, 0x00, 0x01, 0x5A, 0x96, 0x59, 0x9B }, + { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A }, + { 0x1E, 0x0C, 0xA2, 0x94, 0x92, 0x00, 0x17, 0x01, 0x59, 0x66, 0x54, 0x11 }, + { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A }, + { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B }, + { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 }, + { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 }, + { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C }, + { 0x1E, 0x1E, 0x63, 0x2D, 0xB4, 0x02, 0xA4, 0x91, 0x69, 0x86, 0xA9, 0x5C }, + { 0x1E, 0x19, 0x73, 0x20, 0xD8, 0x02, 0x92, 0x91, 0x51, 0x86, 0xAA, 0x8E }, + { 0x1E, 0x19, 0x12, 0xE4, 0xC0, 0x02, 0x49, 0x25, 0x69, 0x06, 0x99, 0x53 }, + { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 }, + { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 }, + { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B }, + { 0x1E, 0x14, 0x32, 0x9B, 0x6D, 0x80, 0x00, 0x09, 0x69, 0x96, 0x55, 0x59 }, + { 0x1E, 0x17, 0x72, 0xA4, 0xB8, 0x00, 0x03, 0x6D, 0x65, 0x86, 0x55, 0x92 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4200000 = { + { 0x1E, 0x0A, 0x80, 0x01, 0x4D, 0x80, 0x86, 0xC1, 0xAA, 0x66, 0x89, 0x2B }, + { 0x1E, 0x0D, 0xE0, 0x02, 0x78, 0x00, 0x95, 0x01, 0xAA, 0x86, 0xA8, 0x2C }, + { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 }, + { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 }, + { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D }, + { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 }, + { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 }, + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B }, + { 0x1E, 0x1F, 0x92, 0x52, 0x74, 0x00, 0x9B, 0xA1, 0x55, 0x86, 0x65, 0x0A }, + { 0x1E, 0x1C, 0x72, 0x49, 0x2E, 0x00, 0xDE, 0xC1, 0x59, 0x96, 0x5A, 0x13 }, + { 0x1E, 0x10, 0xB2, 0x4B, 0x72, 0x00, 0xDD, 0xC1, 0x59, 0x56, 0x69, 0x0B }, + { 0x1E, 0x1E, 0xD2, 0x4A, 0x6C, 0x01, 0x68, 0xC1, 0x56, 0x46, 0x62, 0x0B }, + { 0x1E, 0x1D, 0xF2, 0x49, 0x58, 0x01, 0x24, 0x01, 0x55, 0x86, 0x98, 0x0B }, + { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 }, + { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_3280000 = { + { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 }, + { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B }, + { 0x1E, 0x04, 0xF0, 0x01, 0x6C, 0x12, 0x6F, 0x01, 0x9A, 0x45, 0x98, 0x1A }, + { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B }, + { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 }, + { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A }, + { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 }, + { 0x1E, 0x1E, 0x40, 0x01, 0x29, 0x94, 0x92, 0x49, 0x96, 0x95, 0x66, 0x5A }, + { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 }, + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }, + { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 }, + { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }, + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4000000 = { + { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 }, + { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C }, + { 0x1E, 0x0C, 0x30, 0x0A, 0x78, 0x00, 0x00, 0x2D, 0xA9, 0x46, 0x9A, 0x5C }, + { 0x1E, 0x12, 0xD0, 0x0D, 0xB8, 0x00, 0x0B, 0x6D, 0xA5, 0x86, 0x9A, 0x9D }, + { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 }, + { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 }, + { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 }, + { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D }, + { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C }, + { 0x1E, 0x05, 0xB0, 0x00, 0x0D, 0x80, 0x9B, 0x71, 0xA9, 0x56, 0x95, 0x5A }, + { 0x1E, 0x14, 0x10, 0x01, 0x24, 0x80, 0x9D, 0xA1, 0xA9, 0xA6, 0xAA, 0x2D }, + { 0x1E, 0x1B, 0x40, 0x03, 0xA0, 0x00, 0x49, 0x25, 0xAA, 0x06, 0x96, 0x63 }, + { 0x1E, 0x0A, 0x10, 0x03, 0x6E, 0x00, 0x52, 0x71, 0xA5, 0x56, 0x95, 0x93 }, + { 0x1E, 0x1A, 0xD0, 0x01, 0x6D, 0x80, 0x6D, 0xC1, 0xA6, 0xA6, 0x96, 0x2B }, + { 0x1E, 0x14, 0x30, 0x00, 0x05, 0x80, 0x53, 0xC1, 0xA6, 0x96, 0xA5, 0x23 }, + { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_3440000 = { + { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 }, + { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B }, + { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }, + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }, + { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 }, + { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 }, + { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A }, + { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 }, + { 0x1E, 0x0A, 0x60, 0x13, 0x6E, 0x12, 0x49, 0x49, 0x9A, 0x95, 0x6A, 0x63 }, + { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 }, + { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B }, + { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 }, + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_3460000 = { + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }, + { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 }, + { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B }, + { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }, + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }, + { 0x1E, 0x1B, 0x20, 0x07, 0x18, 0x12, 0x52, 0x49, 0x84, 0x85, 0x55, 0x91 }, + { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 }, + { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A }, + { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 }, + { 0x1E, 0x00, 0x90, 0x15, 0xD8, 0x12, 0x9C, 0xA1, 0x96, 0x85, 0x56, 0x19 }, + { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 }, + { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B }, + { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4450000 = { + { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 }, + { 0x1E, 0x01, 0xD2, 0x49, 0x52, 0x00, 0x93, 0x91, 0x5A, 0xA6, 0x66, 0x63 }, + { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 }, + { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 }, + { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A }, + { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 }, + { 0x1E, 0x0C, 0xD0, 0x00, 0x29, 0x80, 0xC6, 0xC1, 0xAA, 0x66, 0x86, 0x2B }, + { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A }, + { 0x1E, 0x0B, 0x12, 0x4A, 0x74, 0x00, 0x00, 0x25, 0x65, 0x86, 0x65, 0x52 }, + { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C }, + { 0x1E, 0x06, 0x72, 0x55, 0xB4, 0x00, 0x00, 0x25, 0x66, 0x46, 0x6A, 0x54 }, + { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A }, + { 0x1E, 0x1D, 0x22, 0x66, 0x18, 0x00, 0x5B, 0x6D, 0x64, 0x46, 0x56, 0x8B }, + { 0x1E, 0x16, 0xD2, 0x6E, 0x00, 0x00, 0x5E, 0xC1, 0x58, 0x06, 0x69, 0x0B }, + { 0x1E, 0x0E, 0x52, 0x5C, 0x90, 0x00, 0x49, 0x2D, 0x59, 0x46, 0x66, 0x8C }, + { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_8200000 = { + { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 }, + { 0x1E, 0x03, 0xBB, 0xB6, 0x18, 0x01, 0xF8, 0xC2, 0x58, 0x84, 0x91, 0x19 }, + { 0x1E, 0x06, 0xBC, 0x30, 0xE0, 0x00, 0x38, 0xC2, 0x12, 0x04, 0x21, 0x11 }, + { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 }, + { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A }, + { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A }, + { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 }, + { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 }, + { 0x1E, 0x1E, 0x27, 0x24, 0x92, 0x0B, 0x6D, 0xC2, 0xA6, 0x66, 0xAA, 0x2D }, + { 0x1E, 0x0E, 0x17, 0x86, 0xE0, 0x0B, 0xC6, 0xC2, 0x8A, 0x06, 0x8A, 0x24 }, + { 0x1E, 0x17, 0x97, 0x7F, 0x00, 0x0B, 0x80, 0xC2, 0x54, 0x06, 0x41, 0x09 }, + { 0x1E, 0x0B, 0xD6, 0xDC, 0x94, 0x0B, 0x6E, 0xC2, 0x6A, 0x86, 0x55, 0x29 }, + { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A }, + { 0x1E, 0x1A, 0x99, 0x2D, 0xB8, 0x0D, 0x80, 0x02, 0x99, 0x86, 0x40, 0x21 }, + { 0x1E, 0x07, 0xB9, 0xFF, 0xE0, 0x0E, 0x3F, 0x02, 0x95, 0x06, 0x24, 0x12 }, + { 0x1E, 0x1F, 0xB9, 0x26, 0xE0, 0x01, 0xB6, 0xC2, 0x6A, 0x04, 0xAA, 0x24 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_3300000 = { + { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }, + { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 }, + { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B }, + { 0x1E, 0x0D, 0x20, 0x01, 0x2C, 0x12, 0x52, 0x81, 0x99, 0x45, 0xA5, 0x12 }, + { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B }, + { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 }, + { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A }, + { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 }, + { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 }, + { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 }, + { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }, + { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 }, + { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A }, + { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 }, + { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 }, + { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_5200000 = { + { 0x1E, 0x09, 0x42, 0xDC, 0xE0, 0x02, 0x4A, 0x71, 0x69, 0x06, 0x95, 0x93 }, + { 0x1E, 0x01, 0xF2, 0xED, 0xB4, 0x02, 0x52, 0xC1, 0x69, 0x46, 0x95, 0x12 }, + { 0x1E, 0x0C, 0x02, 0xE7, 0xE0, 0x02, 0x65, 0x01, 0x5A, 0x06, 0x94, 0x12 }, + { 0x1E, 0x1F, 0x62, 0xDB, 0x6D, 0x82, 0x52, 0x51, 0x55, 0x56, 0xA6, 0x44 }, + { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B }, + { 0x1E, 0x16, 0x32, 0x9C, 0x94, 0x00, 0x00, 0x29, 0x69, 0x86, 0x55, 0x59 }, + { 0x1E, 0x17, 0x72, 0xA4, 0xB8, 0x00, 0x03, 0x6D, 0x65, 0x86, 0x55, 0x92 }, + { 0x1E, 0x0A, 0x22, 0xA4, 0x92, 0x00, 0x00, 0x01, 0x5A, 0x96, 0x59, 0x9B }, + { 0x1E, 0x08, 0xD2, 0xE7, 0x00, 0x02, 0x92, 0x4D, 0xA8, 0x06, 0x6A, 0x9D }, + { 0x1E, 0x1B, 0x32, 0xE5, 0xD8, 0x02, 0xDD, 0xA1, 0x96, 0x46, 0x65, 0x12 }, + { 0x1E, 0x0C, 0x83, 0x25, 0xE0, 0x03, 0x70, 0xC1, 0xA5, 0x06, 0x61, 0x12 }, + { 0x1E, 0x0A, 0x53, 0x25, 0xB4, 0x03, 0x47, 0x01, 0x9A, 0x46, 0x88, 0x1B }, + { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 }, + { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C }, + { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 }, + { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 } +}; + +XC3028_SCODE_TABLE XC3028L_scode_table_4560000 = { + { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 }, + { 0x1E, 0x06, 0x32, 0x5B, 0x90, 0x00, 0x52, 0x4D, 0x5A, 0x86, 0x6A, 0x5C }, + { 0x1E, 0x1E, 0x22, 0x52, 0x49, 0x80, 0x49, 0x51, 0x5A, 0x66, 0x69, 0x5B }, + { 0x1E, 0x1F, 0x12, 0x56, 0xE0, 0x00, 0x9B, 0x91, 0x59, 0x06, 0x56, 0x4A }, + { 0x1E, 0x12, 0xF2, 0x52, 0x4C, 0x00, 0x98, 0xC1, 0x55, 0x46, 0x62, 0x03 }, + { 0x1E, 0x1C, 0x72, 0x49, 0x2E, 0x00, 0xDE, 0xC1, 0x59, 0x96, 0x5A, 0x13 }, + { 0x1E, 0x10, 0xB2, 0x4B, 0x72, 0x00, 0xDD, 0xC1, 0x59, 0x56, 0x69, 0x0B }, + { 0x1E, 0x09, 0x82, 0x4A, 0x4D, 0x81, 0x78, 0xC1, 0x56, 0x56, 0x61, 0x0A }, + { 0x1E, 0x02, 0x12, 0x93, 0x18, 0x00, 0x1D, 0x01, 0x54, 0x86, 0x54, 0x09 }, + { 0x1E, 0x0E, 0xC2, 0x49, 0x78, 0x00, 0x1C, 0x81, 0x6A, 0x86, 0x66, 0x23 }, + { 0x1E, 0x0B, 0xE2, 0x4B, 0xD8, 0x00, 0x09, 0x25, 0x69, 0x46, 0x66, 0x94 }, + { 0x1E, 0x0B, 0x12, 0x4A, 0x74, 0x00, 0x00, 0x25, 0x65, 0x86, 0x65, 0x52 }, + { 0x1E, 0x1D, 0x02, 0x49, 0x32, 0x00, 0x03, 0x91, 0x65, 0x66, 0x66, 0x53 }, + { 0x1E, 0x18, 0xC2, 0x55, 0xA0, 0x00, 0x00, 0x25, 0x6A, 0x06, 0x69, 0x9C }, + { 0x1E, 0x19, 0x32, 0x52, 0x52, 0x00, 0x4E, 0xC1, 0x65, 0x96, 0x55, 0x11 }, + { 0x1E, 0x1A, 0xF2, 0x5B, 0x6C, 0x00, 0x53, 0x71, 0x65, 0x46, 0x59, 0x4A } +}; + + +#endif +