1 | #ifndef MODULE_LED_H_
|
---|
2 | #define MODULE_LED_H_
|
---|
3 |
|
---|
4 | #define LED1A 0
|
---|
5 | #define LED1B 1
|
---|
6 | #define LED2 2
|
---|
7 | #define LED3 3
|
---|
8 | #define LED_OFF 0
|
---|
9 | #define LED_ON 1
|
---|
10 | #define LED_BLINK_ON 2
|
---|
11 | #define LED_BLINK_OFF 3
|
---|
12 | #define LED_DEFAULT 10
|
---|
13 | #define LED_STOP_THREAD 100
|
---|
14 | #define ARM_LED_TIMEOUT 3 //Dont blink for actions which are < ARM_LED_TIMEOUT seconds ago
|
---|
15 |
|
---|
16 | // QBOX led structures
|
---|
17 | typedef struct {
|
---|
18 | uint16_t H; // range 0-359
|
---|
19 | unsigned char S; // range 0-99
|
---|
20 | unsigned char V; // range 0-99
|
---|
21 | } qboxhd_led_color_struct;
|
---|
22 |
|
---|
23 | typedef struct {
|
---|
24 | unsigned char red; // first 5 bit used (&0x1F)
|
---|
25 | unsigned char green; // first 5 bit used (&0x1F)
|
---|
26 | unsigned char blue; // first 5 bit used (&0x1F)
|
---|
27 | } qboxhdmini_led_color_struct;
|
---|
28 |
|
---|
29 | #define QBOXHD_LED_DEVICE "/dev/sw0"
|
---|
30 | #define QBOXHD_SET_LED_ALL_PANEL_COLOR _IO(0xBC, 13) // payload = 3byte [H][S][V]
|
---|
31 | #define QBOXHD_LED_COLOR_RED 359 // only H value, S and V values are always == 99
|
---|
32 | #define QBOXHD_LED_COLOR_GREEN 120
|
---|
33 | #define QBOXHD_LED_COLOR_BLUE 230
|
---|
34 | #define QBOXHD_LED_COLOR_YELLOW 55
|
---|
35 | #define QBOXHD_LED_COLOR_MAGENTA 290
|
---|
36 |
|
---|
37 | #define QBOXHDMINI_LED_DEVICE "/dev/lpc_0"
|
---|
38 | #define QBOXHDMINI_IOSET_RGB _IOWR('L', 6, qboxhdmini_led_color_struct)
|
---|
39 | #define QBOXHDMINI_LED_COLOR_RED 0x1F0000 // 3 bytes RGB , 5 bit used for each color
|
---|
40 | #define QBOXHDMINI_LED_COLOR_GREEN 0x001F00
|
---|
41 | #define QBOXHDMINI_LED_COLOR_BLUE 0x00001F
|
---|
42 | #define QBOXHDMINI_LED_COLOR_YELLOW 0x1F1F00
|
---|
43 | #define QBOXHDMINI_LED_COLOR_MAGENTA 0x1F001F
|
---|
44 |
|
---|
45 | #define QBOXHD_LED_COLOR_OFF -1 // all colors H,S,V and/or R,G,B == 0,0,0
|
---|
46 |
|
---|
47 | #define QBOXHD_LED_BLINK_FAST 100 // blink milliseconds
|
---|
48 | #define QBOXHD_LED_BLINK_MEDIUM 200
|
---|
49 | #define QBOXHD_LED_BLINK_SLOW 400
|
---|
50 |
|
---|
51 | #ifdef LEDSUPPORT
|
---|
52 | extern void led_init(void);
|
---|
53 | extern void led_stop(void);
|
---|
54 | extern void led_status_stopping(void);
|
---|
55 | extern void led_status_cw_not_found(ECM_REQUEST *er);
|
---|
56 | extern void led_status_default(void);
|
---|
57 | extern void led_status_starting(void);
|
---|
58 | extern void led_status_card_activation_error(void);
|
---|
59 | extern void led_status_found_cardsystem(void);
|
---|
60 | extern void led_status_unsupported_card_system(void);
|
---|
61 | extern void led_status_emm_ok(void);
|
---|
62 | extern void led_status_card_detected(void);
|
---|
63 | extern void led_status_card_ejected(void);
|
---|
64 | #else
|
---|
65 | static inline void led_init(void) { }
|
---|
66 | static inline void led_stop(void) { }
|
---|
67 | static inline void led_status_stopping(void) { }
|
---|
68 | static inline void led_status_cw_not_found(ECM_REQUEST *UNUSED(er)) { }
|
---|
69 | static inline void led_status_default(void) { }
|
---|
70 | static inline void led_status_starting(void) { }
|
---|
71 | static inline void led_status_card_activation_error(void) { }
|
---|
72 | static inline void led_status_found_cardsystem(void) { }
|
---|
73 | static inline void led_status_unsupported_card_system(void) { }
|
---|
74 | static inline void led_status_emm_ok(void) { }
|
---|
75 | static inline void led_status_card_detected(void) { }
|
---|
76 | static inline void led_status_card_ejected(void) { }
|
---|
77 | #endif
|
---|
78 |
|
---|
79 | #endif
|
---|