Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifdef WIN32
00031 typedef unsigned char uint8_t;
00032 typedef unsigned int uint32_t;
00033 typedef unsigned short uint16_t;
00034
00035 typedef char int8_t;
00036 typedef short int16_t;
00037 typedef int int32_t;
00038 typedef unsigned int uint32_t;
00039 #endif
00040
00041 #ifdef _HCS12
00042
00043 typedef INT8 int8_t;
00044 typedef UINT8 uint8_t;
00045
00046 typedef UINT16 uint16_t;
00047 typedef INT16 int16_t;
00048
00049 typedef UINT32 uint32_t;
00050
00051 #endif
00052
00053 typedef uint8_t byte;
00054 typedef uint16_t word;
00055
00056 #ifdef _HCS12
00057 #define CODE_LEN 174
00058
00059 #else
00060 #ifndef AVR
00061 #pragma pack(1)
00062 #define CODE_LEN 176 // 2 Byte mehr für String-Ende 0
00063 #else
00064 #ifdef REMOTECONTROL
00065 #define CODE_LEN 20
00066 #else
00067 #define CODE_LEN 174
00068 #endif
00069 #endif
00070 #endif
00071
00072
00073 #ifdef AMEX
00074 #define VCC_THRESHOLD 180
00075 #else
00076 #define VCC_THRESHOLD 210
00077 #endif
00078
00079 #define LAN_TIMEOUT_VAL 60
00080
00081 #define TIME_LEN 8
00082 #define TIME_LEN_18 18
00083 #define TIME_LEN_SINGLE 20
00084 #define RAW_EXTRA TIME_LEN * 4 + 2
00085 #define CODE_LENRAW (CODE_LEN + RAW_EXTRA - 2)
00086 #define OLD_LENRAW (CODE_LEN + (6 * 4 + 2) - 2)
00087 #define MAXLCDLEN 170
00088 #define CODE_LEN_SINGLE (CODE_LEN-10)
00089 #define CODE_LEN_18 (CODE_LEN-40)
00090
00091
00092 typedef struct {
00093 byte len;
00094 byte checksumme;
00095 byte command;
00096
00097 byte address;
00098 word target_mask;
00099
00100 byte ir_length;
00101 byte transmit_freq;
00102 byte mode;
00103
00104 int16_t pause_len[TIME_LEN];
00105 int16_t pulse_len[TIME_LEN];
00106 byte time_cnt;
00107 byte ir_repeat;
00108 byte repeat_pause;
00109
00110 byte data[CODE_LEN];
00111 } IRDATA;
00112
00113 typedef struct {
00114 byte len;
00115 byte checksumme;
00116 byte command;
00117
00118 byte address;
00119 word target_mask;
00120
00121 byte ir_length;
00122 byte transmit_freq;
00123 byte mode;
00124
00125 int16_t pause_len[18];
00126 int16_t pulse_len[18];
00127 byte time_cnt;
00128 byte ir_repeat;
00129 byte repeat_pause;
00130
00131 byte data[CODE_LEN_18];
00132 } IRDATA_18;
00133
00134 typedef struct {
00135 byte len;
00136 byte checksumme;
00137 byte command;
00138
00139 byte address;
00140 word target_mask;
00141
00142 byte ir_length;
00143 byte transmit_freq;
00144 byte mode;
00145
00146 int16_t multi_len[TIME_LEN_SINGLE];
00147 int16_t single_len;
00148 byte time_cnt;
00149 byte ir_repeat;
00150 byte repeat_pause;
00151
00152 byte data[CODE_LEN_SINGLE];
00153 } IRDATA_SINGLE;
00154
00155 typedef struct {
00156 byte len;
00157 byte checksumme;
00158 byte command;
00159
00160 byte address;
00161 word target_mask;
00162
00163 byte ir_length;
00164 byte transmit_freq;
00165 byte mode;
00166
00167 byte data[CODE_LENRAW];
00168 } IRRAW;
00169
00170 typedef union {
00171 IRDATA irdata;
00172 IRRAW irraw;
00173 IRDATA_18 irdata18;
00174 } IRDATA_ALL;
00175
00176
00177 #ifndef AVR
00178
00179 typedef struct {
00180 word crc;
00181 byte errcnt;
00182 byte dummy;
00183 byte cryptstart;
00184 byte cryptend;
00185 word magic;
00186 word pagesize;
00187 word pagecnt;
00188 word data[65536];
00189 } FLASH_IR_DATA;
00190
00191
00192 #define IR_MAGIC 0x7a8e
00193
00194 #endif
00195
00196 #define VERSION_MAGIC_1 0x39
00197 #define VERSION_MAGIC_2 0x640b
00198 #define VERSION_MAGIC_3 0xb3
00199 #define VERSION_MAGIC_4 0x8b
00200
00201 #define VERSION_MAGIC_CHECK 0xaa
00202 #define VERSION_MAGIC_CHECKR 0x68
00203
00204 #define FLASH_TYPE_LAN 0xff01
00205 #define FLASH_TYPE_IRDB 0xff02
00206 #define FLASH_TYPE_IRDBAUX 0xff03
00207
00208 #define SENDMASK_LEN 16
00209
00210 #define COMMAND_LAN 200
00211 #define COMMAND_FLASH_START 201
00212 #define COMMAND_FLASH_DATA 202
00213 #define COMMAND_FLASH_END 203
00214 #define COMMAND_FLASH_ACK 204
00215 #define COMMAND_FLASH_CANCEL 205
00216 #define COMMAND_FLASH_HTML 206
00217 #define COMMAND_SEND_RS232 207
00218 #define COMMAND_FLASH_ACK_1 208
00219 #define COMMAND_FLASH_ACK_2 209
00220 #define COMMAND_FLASH_CRC 210
00221 #define COMMAND_FLASH_IR 211
00222
00223 #define COMMAND_LAN_SENDSTRING 's'
00224 #define COMMAND_LAN_PING 'p'
00225 #define COMMAND_LAN_SENDCCF 'c'
00226
00227
00228
00229
00230 #define RESULT_IR_BROADCAST 230
00231 #define RESULT_GETVERSION 231
00232 #define RESULT_DEVSTATUS 232
00233 #define RESULT_EEPROM 233
00234 #define RESULT_RESET 234
00235 #define RESULT_IRDBSTATUS 235
00236 #define RESULT_REMOTELIST 236
00237 #define RESULT_COMMANDLIST 237
00238 #define RESULT_IR_RECEIVE 238
00239 #define RESULT_UDP_FORMAT 239
00240 #define RESULT_FLASH 240
00241 #define RESULT_ALIVE 241
00242 #define RESULT_LEARN 242
00243 #define RESULT_READ_EEPROM 243
00244 #define RESULT_WAKE_ON_LAN 244
00245 #define RESULT_PING_OK 245
00246 #define RESULT_IR_HOSTBROADCAST 246
00247 #define RESULT_IR_BROADCAST_LED 247
00248 #define RESULT_AUX_FORMAT 248
00249 #define RESULT_ANALOG_INPUT 249
00250
00251
00252 #define ADR_LANPARM 256
00253 #define LEN_LANPARM (sizeof (LAN_PARAMETER)-3) // LEN = 21
00254 #define ADR_SYSPARM (ADR_LANPARM+LEN_LANPARM)
00255 #define LEN_SYSPARM (sizeof (SYS_PARAMETER)-4) // LEN = 191 -> capabilities not stored in EEPROM
00256 #define ADR_WAKEMAC (ADR_LANPARM+LEN_LANPARM+164)
00257 #define ADR_TIMER (ADR_SYSPARM+LEN_SYSPARM)
00258 #define LEN_TIMER sizeof (TIMER_ENTRY_GET) // LEN = 117
00259
00260 #define MAX_1WIRE_ID 16
00261
00262 typedef struct {
00263 uint8_t mode;
00264 uint8_t status;
00265 uint8_t year;
00266 uint8_t month;
00267 uint8_t day;
00268 uint8_t hour;
00269 uint8_t min;
00270 uint8_t weekday;
00271 uint32_t next_time;
00272 } TIMER_ENTRY;
00273
00274 typedef struct {
00275 uint8_t len;
00276 TIMER_ENTRY tim;
00277 uint8_t remote[81];
00278 uint8_t ircommand[21];
00279 uint8_t ledselect;
00280 uint16_t targetmask;
00281 } TIMER_ENTRY_GET;
00282
00283 typedef struct {
00284 uint8_t len;
00285 uint8_t checksumme;
00286 uint8_t command;
00287 uint8_t mode;
00288 TIMER_ENTRY tim;
00289 uint8_t remote[81];
00290 uint8_t ircommand[21];
00291 uint8_t ledselect;
00292 uint16_t targetmask;
00293 } TIMER_ENTRY_STORE;
00294
00295 typedef struct {
00296 uint8_t len;
00297 uint8_t checksumme;
00298 uint8_t command;
00299
00300 uint8_t cmd_str[80 + 20 + 10];
00301 } IRCOMMAND_STRING;
00302
00303
00304 typedef struct {
00305 uint8_t len;
00306 uint8_t checksumme;
00307 uint8_t command;
00308
00309 uint8_t remote[81];
00310 uint8_t ircommand[121];
00311 uint16_t mask;
00312 uint8_t ledselect;
00313 } IRCOMMAND_BUF;
00314
00315 typedef struct {
00316 uint8_t len;
00317 uint8_t checksumme;
00318 uint8_t command;
00319 uint8_t dummy;
00320
00321 uint16_t start;
00322 uint8_t remote[81];
00323 } IRDBLIST_BUF;
00324
00325
00326 typedef struct {
00327 word adr;
00328 word len;
00329 word flash_adr;
00330 word page;
00331 word crc;
00332 } FLASH_BLOCK;
00333
00334 typedef struct {
00335 word crc;
00336 word type;
00337 FLASH_BLOCK dir[12];
00338 } FLASH_TABLE;
00339
00340 #define FLASH_TABLE_LEN ((sizeof (FLASH_TABLE) + 1) / 2)
00341
00342 typedef struct {
00343 uint8_t netcommand;
00344 word adr;
00345 word len;
00346 uint8_t data[512];
00347 } IRDATA_LAN_FLASH;
00348
00349 typedef struct {
00350 uint8_t netcommand;
00351 uint8_t mode;
00352 uint16_t timeout;
00353 uint32_t sendmask[SENDMASK_LEN];
00354 IRDATA ir_data;
00355 } IRDATA_LAN;
00356
00357 typedef struct {
00358 uint8_t netcommand;
00359 uint8_t mode;
00360 uint16_t timeout;
00361 uint32_t sendmask[SENDMASK_LEN];
00362 IRDATA ir_data;
00363 byte buffer[256];
00364 } IRDATA_LAN_LARGE;
00365
00366 typedef struct {
00367 uint8_t netcommand;
00368 IRDATA ir_data;
00369 } IRDATA_LAN_SHORT;
00370
00371 typedef struct {
00372 byte len;
00373 byte checksumme;
00374 byte command;
00375 word adr;
00376 byte data[200];
00377 } IRDATA_EEPROM;
00378
00379 typedef struct {
00380 uint8_t netcommand;
00381 uint8_t len;
00382 uint8_t ir_version[8];
00383 uint32_t ir_capabilities;
00384 uint32_t ir_serno;
00385 uint8_t lan_version[8];
00386 uint8_t mac_adr[6];
00387 } GETVERSION_LAN;
00388
00389 typedef struct {
00390 uint8_t netcommand;
00391 uint8_t len;
00392 uint8_t ir_version[8];
00393 uint32_t ir_capabilities;
00394 uint32_t ir_serno;
00395 uint8_t lan_version[8];
00396 uint8_t mac_adr[6];
00397 uint32_t ir_capabilities2;
00398 uint32_t ir_capabilities3;
00399 uint32_t ir_capabilities4;
00400 } GETVERSION_LAN_EX;
00401
00402 typedef struct {
00403 uint8_t netcommand;
00404 uint8_t len;
00405 uint8_t ir_version[8];
00406 uint32_t ir_capabilities;
00407 uint32_t ir_serno;
00408 uint8_t lan_version[8];
00409 uint8_t mac_adr[6];
00410 uint32_t ir_capabilities2;
00411 uint32_t ir_capabilities3;
00412 uint32_t ir_capabilities4;
00413 uint8_t extended_mode;
00414 uint8_t extended_mode2;
00415 uint8_t extended_mode_ex[2];
00416 } GETVERSION_LAN_EX2;
00417
00418 typedef struct {
00419 uint32_t access_ip[8];
00420 uint32_t access_mask[8];
00421 uint32_t ir_relay_from[16];
00422 uint32_t ir_relay_to[8];
00423 uint32_t udp_str_adr;
00424 uint8_t wakeonlan_mac[6];
00425 int8_t password[12];
00426 uint8_t broadcast_relay;
00427 uint8_t udp_format_len;
00428 uint16_t udp_port;
00429 uint8_t tz;
00430 uint32_t ntp_ip;
00431 uint32_t ir_relay_led;
00432 uint32_t capabilities;
00433 } SYS_PARAMETER;
00434
00435 typedef struct {
00436 uint8_t len;
00437 SYS_PARAMETER sysparm;
00438 } SYS_PARAMETER_GET;
00439
00440 typedef struct {
00441 uint8_t len;
00442 byte checksumme;
00443 byte command;
00444 byte mode;
00445 SYS_PARAMETER sysparm;
00446 } SYS_PARAMETER_STORE;
00447
00448 typedef struct {
00449 uint8_t len;
00450 byte checksumme;
00451 byte command;
00452 byte udplen;
00453 byte str[100];
00454 } UDP_FORMAT_STORE;
00455
00456 typedef struct {
00457 uint8_t len;
00458 uint8_t dhcp_flag;
00459 uint8_t fallback_flag;
00460 uint8_t mac_adr[6];
00461 uint32_t ip_adr;
00462 uint32_t ip_netmask;
00463 uint32_t ip_gateway;
00464 uint8_t eeprom_device_mode;
00465 uint8_t eeprom_extended_mode;
00466 uint8_t eeprom_extended_mode2;
00467 } LAN_PARAMETER;
00468
00469 typedef struct {
00470 uint8_t len;
00471 byte checksumme;
00472 byte command;
00473 uint8_t dhcp_flag;
00474 uint8_t fallback_flag;
00475 uint8_t mac_adr[6];
00476 uint32_t ip_adr;
00477 uint32_t ip_netmask;
00478 uint32_t ip_gateway;
00479 } LAN_PARAMETER_STORE;
00480
00481 typedef struct {
00482 byte len;
00483 byte checksumme;
00484 byte command;
00485
00486 byte address;
00487 word target_mask;
00488
00489 byte ir_length;
00490 byte transmit_freq;
00491 byte mode;
00492
00493 word pause_len[6];
00494 word pulse_len[6];
00495 byte time_cnt;
00496 byte ir_repeat;
00497 byte repeat_pause;
00498
00499 byte data[CODE_LEN];
00500 } IRDATA3;
00501
00502 typedef struct {
00503 byte len;
00504 byte checksumme;
00505 byte command;
00506
00507 byte address;
00508 word target_mask;
00509
00510 byte ir_length;
00511 byte transmit_freq;
00512 byte mode;
00513
00514 byte data[MAXLCDLEN];
00515 } IRRAWLCD;
00516
00517 typedef struct {
00518 uint8_t len;
00519 uint8_t count_buffer;
00520 int16_t offset;
00521 int16_t count_total;
00522 int8_t remotes[3][80];
00523 } REMOTEBUFFER_INT;
00524
00525 typedef struct {
00526 uint8_t len;
00527 uint8_t count_buffer;
00528 int16_t offset;
00529 int16_t count_total;
00530 int8_t commands[12][20];
00531 } COMMANDBUFFER_INT;
00532
00533 typedef struct {
00534 uint32_t target_mask;
00535 uint32_t source_mask;
00536 int8_t name[80];
00537 } REMOTELINE;
00538
00539 typedef struct {
00540 uint32_t capabilities;
00541 uint32_t capabilities2;
00542 int8_t name[60];
00543 int8_t version[8];
00544 uint32_t capabilities3;
00545 uint32_t capabilities4;
00546 uint8_t extended_mode;
00547 uint8_t extended_mode2;
00548 uint8_t extended_mode_ex[2];
00549 } BUSLINE;
00550
00551 typedef struct {
00552 int16_t statuslen;
00553 int16_t statustype;
00554 int16_t offset;
00555 int16_t count_buffer;
00556 int16_t count_total;
00557 int16_t count_remaining;
00558 int8_t remotes[3][80];
00559 } REMOTEBUFFER_TCP;
00560
00561 typedef struct {
00562 int16_t statuslen;
00563 int16_t statustype;
00564 int16_t offset;
00565 int16_t count_buffer;
00566 int16_t count_total;
00567 int16_t count_remaining;
00568 REMOTELINE remotes[3];
00569 } REMOTEBUFFER_SHORT;
00570
00571
00572 typedef struct {
00573 int16_t statuslen;
00574 int16_t statustype;
00575 int16_t offset;
00576 int16_t count_buffer;
00577 int16_t count_total;
00578 int16_t count_remaining;
00579 int8_t commands[12][20];
00580 } COMMANDBUFFER_SHORT;
00581
00582 typedef struct {
00583 int16_t statuslen;
00584 int16_t statustype;
00585 uint8_t data[240];
00586 } LEARNBUFFER_TCP;
00587
00588
00589 #define BROADCAST_UDP 1
00590 #define BROADCAST_AUX 2
00591
00592 typedef struct {
00593 uint8_t len;
00594 uint8_t modeflags;
00595 uint32_t ip;
00596 uint16_t port;
00597 uint8_t data[10];
00598 } UDP_ASCII_RECEIVE;
00599
00600 typedef struct {
00601 uint8_t len;
00602 uint16_t action_adr;
00603 uint16_t remote_adr;
00604 uint32_t ip;
00605 uint16_t port;
00606 uint8_t modeflags;
00607 uint8_t remote[80];
00608 uint8_t command[20];
00609 uint8_t ircommand[141];
00610 } IRRECEIVE;
00611
00612 typedef struct {
00613 int16_t statuslen;
00614 int16_t statustype;
00615 int16_t adress;
00616 uint16_t command_num;
00617 int8_t remote[80];
00618 int8_t command[20];
00619 int8_t data[141];
00620 } NETWORKRECV_SHORT;
00621
00622
00623 typedef struct {
00624 uint8_t len;
00625 uint8_t mode[8];
00626 uint8_t value[8];
00627 } ANALOG_INPUTS;
00628
00629 typedef struct {
00630 uint8_t len;
00631 uint8_t mode[MAX_1WIRE_ID];
00632 uint8_t id[MAX_1WIRE_ID][8];
00633 } ANALOG_INFO;
00634
00635 typedef struct {
00636 uint8_t len;
00637 uint8_t mode[8];
00638 uint8_t dummy;
00639 int16_t value[8];
00640 } ANALOG_HIRES_INPUTS;
00641
00642
00643 typedef union {
00644 ANALOG_INPUTS a_input;
00645 ANALOG_HIRES_INPUTS a_hires;
00646 ANALOG_INFO a_info;
00647 } ANALOG_DATA;
00648
00649 typedef struct {
00650 uint8_t netcommand;
00651 ANALOG_DATA ad;
00652 } GET_ANALOG_DATA;
00653
00654
00655 typedef struct {
00656 uint8_t netcommand;
00657 ANALOG_INPUTS ai;
00658 } GET_ANALOG_INPUTS;
00659
00660
00661
00662 #define DEVMODE_PC 0
00663 #define DEVMODE_SEND 1
00664 #define DEVMODE_IR 2
00665 #define DEVMODE_SBUS 4
00666 #define DEVMODE_IGNORETOG 8
00667 #define DEVMODE_SBUSCODE 16
00668 #define DEVMODE_RAW 32
00669 #define DEVMODE_SBUS_UART 64 // Set: SBUS läuft über UART
00670 #define DEVMODE_REPEAT 128
00671
00672
00673 #define INTERNAL_LEDS 1
00674 #define EXTERNAL_LEDS 2
00675 #define STANDARD_RCV 4
00676 #define HI_RCV 8
00677 #define BO_MODE 16
00678 #define SELF_REPEAT 32
00679 #define INTERNAL_REPEAT 64
00680 #define RCV_NO_SORT 128
00681
00682
00683 #define RCV_TOLERANCE_MASK 7 // Bit 0-2
00684 #define RCV_TOLERANCE_64 0
00685 #define RCV_TOLERANCE_96 1
00686 #define RCV_TOLERANCE_140 2
00687 #define RCV_TOLERANCE_200 3
00688 #define INSTANT_REP_COUNT 8 // Bit 3
00689 #define IR_FRAMELENGTH 16 // Bit 4
00690 #define RS232_BAUD_MASK 96 // Bit 5-6
00691 #define RS232_RTS_CTS 128 // Bit 7
00692
00693
00694 #define LOW_RCV_MASK 7
00695 #define HI_RCV_MASK 240
00696
00697
00698 #define RCV_TIMEOUT_MASK 255 // Bit 0-7
00699
00700
00701 #define IDLE_TIMEOUT_MASK 7 // Bit 0-2
00702 #define IDLE_TIMEOUT_1 0
00703 #define IDLE_TIMEOUT_2 1
00704 #define IDLE_TIMEOUT_4 2
00705 #define IDLE_TIMEOUT_5 3
00706 #define IDLE_TIMEOUT_6 4
00707 #define IDLE_TIMEOUT_8 5
00708 #define IDLE_TIMEOUT_10 6
00709 #define IDLE_TIMEOUT_15 7
00710
00711 #define SBUS_BAUD_MASK 24 // Bit 3-4
00712 #define SBUS_BAUD_4800 0
00713 #define SBUS_BAUD_9600 8
00714 #define SBUS_BAUD_19200 16
00715 #define SBUS_BAUD_38400 24
00716
00717 #define IR_FILTER_MASK 224 // Bit 5-7
00718 #define IR_FILTER_64 0
00719 #define IR_FILTER_120 32
00720 #define IR_FILTER_160 64
00721 #define IR_FILTER_280 96
00722 #define IR_FILTER_380 128
00723 #define IR_FILTER_480 160
00724 #define IR_FILTER_550 192
00725 #define IR_FILTER_800 224
00726
00727
00728 #define CHECK_RCMM 1
00729 #define FORCE_RCMM 2
00730 #define RCMM_TOGGLE 4
00731 #define RSTEP_KEYBOARD 8
00732
00733
00734 #define TOGGLE_MAP_MASK 63 // Map out Toggle Bits
00735 #define TOGGLE_MAP_LEN 128
00736
00737 #define LRN_TIMEOUT_MASK 7 // Maske beim Lernen
00738 #define LRN_TIMEOUT_SELECT 8
00739 #define LRN_CALIBRATION 48
00740 #define LRN_RCV_SELECT 960
00741 #define LRN_RCV_56 64
00742 #define LRN_RCV_38 128
00743 #define LRN_RCV_455 256
00744 #define LRN_RCV_455_PLASMA 320
00745 #define LRN_RCV_CARRIER 384
00746 #define LRN_RCV_EXTERNAL 512
00747 #define LRN_RCV_HI 1024
00748 #define LRN_TOLERANCE 14336
00749 #define LRN_BO_MODE 16384
00750 #define LRN_NOSORT 32768
00751
00752 #define LRN_TOGGLE_MAP 1
00753
00754 #define LOCAL_MODE 16
00755 #define RECEIVE_ALL 17
00756 #define QUICK_MODE 32
00757 #define RAW_MODE 64
00758 #define REPEAT_MODE 128
00759 #define IR_MODE 256
00760 #define SBUS_MODE 512
00761 #define INSTANT_MODE 1024
00762 #define IDLE_WAIT 2048
00763 #define TOGGLE_MAP 4096
00764
00765 #define SPECIAL_RCV_MODE 31
00766
00767 #define LONG_LEARN_MODE 16
00768 #define RECEIVER_SELECT_MASK 96
00769 #define RECEIVER_SELECT_LOW 32
00770 #define RECEIVER_SELECT_HI 64
00771
00772
00773
00774
00775 #define LONG_CODE_FLAG 128
00776 #define LONG_CODE_LEN 8
00777 #define USE_LONG_CODES 1
00778 #define LONG_CODE_MODE_CAL 2
00779
00780
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794 #define SBUS_LEARN 16
00795 #define HOST_LEARNIR 18
00796 #define SBUS_QUICKPARM 48
00797 #define HOST_LEARNIRQUICK 50
00798 #define SBUS_RAWMODE 80
00799 #define HOST_LEARNIRRAW 82
00800 #define SBUS_REPEATMODE 144
00801 #define HOST_LEARNIRREPEAT 146
00802 #define SBUS_RAWREPEATMODE 208
00803 #define HOST_LEARNIRRAWREPEAT 210
00804
00805
00806
00807 #define SBUS_REPEAT 1
00808 #define HOST_VERSION 2
00809 #define HOST_NETWORK_STATUS 3
00810 #define SBUS_SEND 4
00811 #define SBUS_RESEND 5
00812 #define HOST_SEND 6
00813 #define HOST_RESEND 7
00814
00815 #define LAN_REPEAT 32
00816 #define PUT_SERIAL_DATA 33
00817 #define READ_ANALOG_INPUTS 34
00818
00819 #define ASCII_SEND 100 // 'd'
00820
00821 #define SBUS_RESET 192
00822 #define SBUS_PING 193
00823 #define SBUS_PONG 194
00824 #define SBUS_PARAMETER 196
00825 #define HOST_SETMODE 197
00826 #define SET_ID 199
00827 #define SET_TRANSLATE_DATA 200
00828 #define SBUS_TRANSLATE_DATA 201
00829 #define READ_TRANSLATE_DATA 202
00830 #define START_FLASH_MODE 203
00831 #define TRANSFER_FLASH 204
00832 #define SBUS_SET_MODE2 206
00833 #define HOST_SET_MODE2 207
00834
00835 #define HOST_STORE_LANPARM 224
00836 #define HOST_READ_LANPARM 225
00837 #define HOST_STORE_FLASH 226
00838 #define HOST_READ_FLASH 227
00839 #define SEND_IRDB_STRING 228
00840 #define SEND_IRDB_BLOCK 229
00841 #define RESEND_IRDB_BLOCK 230
00842 #define IRDB_REMLIST 231
00843 #define IRDB_COMLIST 232
00844
00845 #define PING_IR_CONTROLLER 234
00846 #define SET_POWER_LED 235
00847 #define TEST_IRDB_BLOCK 236
00848 #define GET_TIMER_PARAMETER 237
00849 #define STORE_TIMER_PARAMETER 238
00850
00851
00852 #define SEND SBUS_SEND
00853 #define LEARN SBUS_LEARN
00854 #define SETMODE SBUS_PARAMETER
00855
00856 #define ADRESS_MASK 15
00857 #define ADRESS_LOCAL 16
00858 #define ADRESS_ALL 32
00859 #define ADRESS_LAN 64
00860
00861
00862 #define START_BIT 1
00863 #define REPEAT_START 2
00864 #define START_MASK 3
00865 #define RC5_DATA 4
00866 #define RC6_DATA 8
00867 #define IRDA_DATA 12
00868 #define NO_TOGGLE 2
00869 #define NO_TOGGLE_H 64
00870 #define MACRO_DATA 32
00871
00872 #define SPECIAL_IR_FLAG 128
00873 #define SPECIAL_IR_MODE 159
00874 #define RAW_DATA 16
00875
00876 #define TIMECOUNT_18 128
00877 #define RCMM 129
00878
00879 #define PULSE_200 131
00880 #define RECS80 132
00881 #define RECS80_NO_TOGGLE 133
00882 #define RECS80_NO_TOGGLE_H 134
00883
00884 #define OFFSET_TYP_TOGGLE 1
00885
00886 #define LCD_BACKLIGHT 1
00887 #define LCD_TEXT 2
00888
00889
00890 #define LCD_INIT 4
00891 #define LCD_SETTIME 8
00892 #define LCD_DISPLAYTIME 16
00893 #define LCD_DEFINECHAR 12
00894 #define LCD_BRIGHTNESS 20
00895 #define LCD_REFRESHDATE 24
00896
00897 #define LCD_DATA 32
00898
00899 #define TEMP_GET 1
00900 #define TEMP_RESET 2
00901 #define TEMP_DATA 64
00902 #define NON_IRMODE 96
00903
00904 #define SWITCH_DATA 96
00905
00906 #define SHORT_PULSE 50
00907 #define IR_CORRECT_455 1 // Entspricht 8 µs Korrektur
00908
00909 #ifndef IR_CORRECT
00910 #define IR_CORRECT 8 // Entspricht 64 µs Korrektur
00911 #define IR_CORRECT_LOW 6 // Entspricht 24 µs Korrektur für kurze Pulse
00912 #else
00913 #ifndef IR_CORRECT_LOW
00914 #define IR_CORRECT_LOW 0 // Entspricht 24 µs Korrektur für kurze Pulse
00915 #endif
00916 #endif
00917
00918
00919 #define IR_TOLERANCE_BO 50 // Entspricht 280 µs Toleranz
00920 #define IR_TOLERANCE 12 // Entspricht 96 µs Toleranz
00921 #define RCX_TOLERANCE 25 // Entspricht +/- 200 µs Toleranz
00922 #define MAX_IR_REPEAT 5
00923 #define RAW_TOLERANCE 15
00924
00925 #define EXT_LED_SELECT_1 4
00926 #define EXT_LED_SELECT_2 8
00927 #define EXT_LED_SELECT_3 12
00928 #define EXT_LED_SELECT_4 16
00929 #define EXT_LED_SELECT_5 20
00930 #define EXT_LED_SELECT_6 24
00931 #define EXT_LED_SELECT_7 28
00932 #define EXT_LED_SELECT_8 32
00933
00934 #define EXT_LED_SELECT_MASK 60
00935
00936
00937
00938
00939 #define START 1
00940 #define REPEAT 2
00941
00942
00943 typedef struct {
00944 byte sbus_len;
00945 byte sbus_checksumme;
00946 byte sbus_command;
00947 byte sbus_address;
00948 byte mode;
00949 word target_mask;
00950 byte hotcode_len;
00951 byte hotcode[CODE_LENRAW];
00952 } MODE_BUFFER;
00953
00954 typedef struct {
00955 byte sbus_len;
00956 byte sbus_checksumme;
00957 byte sbus_command;
00958 byte sbus_address;
00959 byte mode;
00960 word target_mask;
00961 byte hotcode_len;
00962 byte extmode1;
00963 byte extmode2;
00964 byte extmode_ex0;
00965 byte extmode_ex1;
00966 char remote[81];
00967 char command[21];
00968 } MODE_BUFFER_LAN;
00969
00970 typedef struct {
00971 byte device_mode;
00972 word send_mask;
00973 byte extended_mode;
00974 byte extended_mode2;
00975 byte extended_mode_ex[8];
00976 byte hotcode_len;
00977 } EEPROM_MEMORY;
00978
00979 typedef struct {
00980 byte sbus_len;
00981 byte sbus_checksumme;
00982 byte sbus_command;
00983 byte sbus_address;
00984 byte device_mode;
00985 word send_mask;
00986 byte extended_mode;
00987 byte extended_mode2;
00988 byte extended_mode_ex[8];
00989 byte version[10];
00990 uint32_t capabilities;
00991 uint32_t capabilities2;
00992 uint32_t capabilities3;
00993 uint32_t capabilities4;
00994 byte wake_mac[6];
00995 char remote[81];
00996 char command[21];
00997 } STATUS_LINE_EX;
00998
00999 typedef struct {
01000 byte sbus_len;
01001 byte sbus_checksumme;
01002 byte sbus_command;
01003 byte sbus_address;
01004 byte device_mode;
01005 word send_mask;
01006 byte version[10];
01007 byte extended_mode;
01008 uint32_t capabilities;
01009 byte extended_mode2;
01010 byte extended_mode_ex[2];
01011 byte wake_mac[6];
01012 char remote[81];
01013 char command[21];
01014 } STATUS_LINE_EX_1;
01015
01016 typedef struct {
01017 byte sbus_len;
01018 byte sbus_checksumme;
01019 byte sbus_command;
01020 byte sbus_address;
01021 byte device_mode;
01022 word send_mask;
01023 byte extended_mode;
01024 byte extended_mode2;
01025 byte extended_mode_ex[8];
01026 byte version[10];
01027 uint32_t capabilities;
01028 uint32_t capabilities2;
01029 uint32_t capabilities3;
01030 uint32_t capabilities4;
01031 byte wake_mac[6];
01032 } STATUS_LINE;
01033
01034 typedef struct {
01035 byte sbus_len;
01036 byte sbus_checksumme;
01037 byte sbus_command;
01038 byte sbus_address;
01039 byte device_mode;
01040 word send_mask;
01041 byte version[10];
01042 byte extended_mode;
01043 uint32_t capabilities;
01044 byte extended_mode2;
01045 byte extended_mode_ex[2];
01046 byte wake_mac[6];
01047 } STATUS_LINE_5;
01048
01049 typedef struct {
01050 byte sbus_len;
01051 byte sbus_checksumme;
01052 byte sbus_command;
01053 byte sbus_address;
01054 byte device_mode;
01055 word send_mask;
01056 byte version[10];
01057 byte extended_mode;
01058 uint32_t capabilities;
01059 byte extended_mode2;
01060 } STATUS_LINE_4;
01061
01062 typedef struct {
01063 byte sbus_len;
01064 byte sbus_checksumme;
01065 byte sbus_command;
01066 byte sbus_address;
01067 byte device_mode;
01068 word send_mask;
01069 byte version[10];
01070 byte extended_mode;
01071 word capabilities;
01072 } STATUS_LINE_3;
01073
01074 typedef struct {
01075 byte sbus_len;
01076 byte sbus_checksumme;
01077 byte sbus_command;
01078 byte sbus_address;
01079 byte device_mode;
01080 word send_mask;
01081 byte version[10];
01082 byte extended_mode;
01083 } STATUS_LINE_2;
01084
01085 typedef struct {
01086 byte sbus_len;
01087 byte sbus_checksumme;
01088 byte sbus_command;
01089 byte sbus_address;
01090 byte device_mode;
01091 word send_mask;
01092 byte version[10];
01093 } STATUS_LINE_1;
01094
01095 typedef struct {
01096 byte my_adress;
01097 STATUS_LINE stat[16];
01098 } STATUS_BUFFER;
01099
01100 typedef struct {
01101 byte my_adress;
01102 STATUS_LINE_1 stat[16];
01103 } STATUS_BUFFER_1;
01104
01105 typedef struct {
01106 byte my_adress;
01107 STATUS_LINE_2 stat[16];
01108 } STATUS_BUFFER_2;
01109
01110 typedef struct {
01111 byte my_adress;
01112 STATUS_LINE_3 stat[16];
01113 } STATUS_BUFFER_3;
01114
01115 typedef struct {
01116 byte my_adress;
01117 STATUS_LINE_4 stat[16];
01118 } STATUS_BUFFER_4;
01119
01120 typedef struct {
01121 byte my_adress;
01122 STATUS_LINE_5 stat[16];
01123 } STATUS_BUFFER_5;
01124
01125 typedef struct {
01126 uint8_t netcommand;
01127 STATUS_LINE_EX stat;
01128 } STATUS_LINE_LAN;
01129
01130 typedef struct {
01131 uint8_t netcommand;
01132 STATUS_LINE_EX_1 stat;
01133 } STATUS_LINE_LAN_1;
01134
01135 #define LOGIN_NEEDED 128
01136 #define DYNAMIC_LEN 64
01137 #define EXTERNAL_FILE 32
01138 #define RQ_DATA_CURRENT 16
01139 #define MENU_NEEDED 8
01140
01141 #define CONTENT_MASK 7
01142
01143 #define CONTENT_HTML 1
01144 #define CONTENT_PLAIN 2
01145 #define CONTENT_GIF 3
01146 #define CONTENT_JPEG 4
01147
01148
01149 typedef struct {
01150 char name[23];
01151 byte filetype;
01152 word adr;
01153 word len;
01154 uint32_t timestamp;
01155 } HTTP_DIRENTRY;
01156
01157 typedef struct {
01158 word count;
01159 word magic;
01160 HTTP_DIRENTRY dir[1];
01161 } HTTP_DIRECTORY;
01162
01163 #define IRTRANS_PORT 21000
01164