- fix linking errors when compiling oscam with static LIBCRYPTO library alone
[oscam.git] / module-led.h
blob26231f1f563ba9e3da84ac77fa26229b9151353c
1 #ifndef MODULE_LED_H_
2 #define MODULE_LED_H_
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 // Don't blink for actions which are < ARM_LED_TIMEOUT seconds ago
16 // QBOX led structures
17 typedef struct
19 uint16_t H; // range 0-359
20 uint8_t S; // range 0-99
21 uint8_t V; // range 0-99
22 } qboxhd_led_color_struct;
24 typedef struct
26 uint8_t red; // first 5 bit used (&0x1F)
27 uint8_t green; // first 5 bit used (&0x1F)
28 uint8_t blue; // first 5 bit used (&0x1F)
29 } qboxhdmini_led_color_struct;
31 #define QBOXHD_LED_DEVICE "/dev/sw0"
32 #define QBOXHD_SET_LED_ALL_PANEL_COLOR _IO(0xBC, 13) // payload = 3byte [H][S][V]
34 #define QBOXHD_LED_COLOR_RED 359 // only H value, S and V values are always == 99
35 #define QBOXHD_LED_COLOR_GREEN 120
36 #define QBOXHD_LED_COLOR_BLUE 230
37 #define QBOXHD_LED_COLOR_YELLOW 55
38 #define QBOXHD_LED_COLOR_MAGENTA 290
40 #define QBOXHDMINI_LED_DEVICE "/dev/lpc_0"
41 #define QBOXHDMINI_IOSET_RGB _IOWR('L', 6, qboxhdmini_led_color_struct)
43 #define QBOXHDMINI_LED_COLOR_RED 0x1F0000 // 3 bytes RGB, 5 bit used for each color
44 #define QBOXHDMINI_LED_COLOR_GREEN 0x001F00
45 #define QBOXHDMINI_LED_COLOR_BLUE 0x00001F
46 #define QBOXHDMINI_LED_COLOR_YELLOW 0x1F1F00
47 #define QBOXHDMINI_LED_COLOR_MAGENTA 0x1F001F
49 #define QBOXHD_LED_COLOR_OFF -1 // all colors H, S, V and/or R, G, B == 0, 0, 0
51 #define QBOXHD_LED_BLINK_FAST 100 // blink milliseconds
52 #define QBOXHD_LED_BLINK_MEDIUM 200
53 #define QBOXHD_LED_BLINK_SLOW 400
55 #ifdef LEDSUPPORT
56 extern void led_init(void);
57 extern void led_stop(void);
58 extern void led_status_stopping(void);
59 extern void led_status_cw_not_found(ECM_REQUEST *er);
60 extern void led_status_default(void);
61 extern void led_status_starting(void);
62 extern void led_status_card_activation_error(void);
63 extern void led_status_found_cardsystem(void);
64 extern void led_status_unsupported_card_system(void);
65 extern void led_status_emm_ok(void);
66 extern void led_status_card_detected(void);
67 extern void led_status_card_ejected(void);
68 #else
69 static inline void led_init(void) { }
70 static inline void led_stop(void) { }
71 static inline void led_status_stopping(void) { }
72 static inline void led_status_cw_not_found(ECM_REQUEST *UNUSED(er)) { }
73 static inline void led_status_default(void) { }
74 static inline void led_status_starting(void) { }
75 static inline void led_status_card_activation_error(void) { }
76 static inline void led_status_found_cardsystem(void) { }
77 static inline void led_status_unsupported_card_system(void) { }
78 static inline void led_status_emm_ok(void) { }
79 static inline void led_status_card_detected(void) { }
80 static inline void led_status_card_ejected(void) { }
81 #endif
83 #endif