84 lines
2.8 KiB
C
Executable File
84 lines
2.8 KiB
C
Executable File
#ifndef MODULE_LED_H_
|
|
#define MODULE_LED_H_
|
|
|
|
#define LED1A 0
|
|
#define LED1B 1
|
|
#define LED2 2
|
|
#define LED3 3
|
|
#define LED_OFF 0
|
|
#define LED_ON 1
|
|
#define LED_BLINK_ON 2
|
|
#define LED_BLINK_OFF 3
|
|
#define LED_DEFAULT 10
|
|
#define LED_STOP_THREAD 100
|
|
#define ARM_LED_TIMEOUT 3 // Don't blink for actions which are < ARM_LED_TIMEOUT seconds ago
|
|
|
|
// QBOX led structures
|
|
typedef struct
|
|
{
|
|
uint16_t H; // range 0-359
|
|
uint8_t S; // range 0-99
|
|
uint8_t V; // range 0-99
|
|
} qboxhd_led_color_struct;
|
|
|
|
typedef struct
|
|
{
|
|
uint8_t red; // first 5 bit used (&0x1F)
|
|
uint8_t green; // first 5 bit used (&0x1F)
|
|
uint8_t blue; // first 5 bit used (&0x1F)
|
|
} qboxhdmini_led_color_struct;
|
|
|
|
#define QBOXHD_LED_DEVICE "/dev/sw0"
|
|
#define QBOXHD_SET_LED_ALL_PANEL_COLOR _IO(0xBC, 13) // payload = 3byte [H][S][V]
|
|
|
|
#define QBOXHD_LED_COLOR_RED 359 // only H value, S and V values are always == 99
|
|
#define QBOXHD_LED_COLOR_GREEN 120
|
|
#define QBOXHD_LED_COLOR_BLUE 230
|
|
#define QBOXHD_LED_COLOR_YELLOW 55
|
|
#define QBOXHD_LED_COLOR_MAGENTA 290
|
|
|
|
#define QBOXHDMINI_LED_DEVICE "/dev/lpc_0"
|
|
#define QBOXHDMINI_IOSET_RGB _IOWR('L', 6, qboxhdmini_led_color_struct)
|
|
|
|
#define QBOXHDMINI_LED_COLOR_RED 0x1F0000 // 3 bytes RGB, 5 bit used for each color
|
|
#define QBOXHDMINI_LED_COLOR_GREEN 0x001F00
|
|
#define QBOXHDMINI_LED_COLOR_BLUE 0x00001F
|
|
#define QBOXHDMINI_LED_COLOR_YELLOW 0x1F1F00
|
|
#define QBOXHDMINI_LED_COLOR_MAGENTA 0x1F001F
|
|
|
|
#define QBOXHD_LED_COLOR_OFF -1 // all colors H, S, V and/or R, G, B == 0, 0, 0
|
|
|
|
#define QBOXHD_LED_BLINK_FAST 100 // blink milliseconds
|
|
#define QBOXHD_LED_BLINK_MEDIUM 200
|
|
#define QBOXHD_LED_BLINK_SLOW 400
|
|
|
|
#ifdef LEDSUPPORT
|
|
extern void led_init(void);
|
|
extern void led_stop(void);
|
|
extern void led_status_stopping(void);
|
|
extern void led_status_cw_not_found(ECM_REQUEST *er);
|
|
extern void led_status_default(void);
|
|
extern void led_status_starting(void);
|
|
extern void led_status_card_activation_error(void);
|
|
extern void led_status_found_cardsystem(void);
|
|
extern void led_status_unsupported_card_system(void);
|
|
extern void led_status_emm_ok(void);
|
|
extern void led_status_card_detected(void);
|
|
extern void led_status_card_ejected(void);
|
|
#else
|
|
static inline void led_init(void) { }
|
|
static inline void led_stop(void) { }
|
|
static inline void led_status_stopping(void) { }
|
|
static inline void led_status_cw_not_found(ECM_REQUEST *UNUSED(er)) { }
|
|
static inline void led_status_default(void) { }
|
|
static inline void led_status_starting(void) { }
|
|
static inline void led_status_card_activation_error(void) { }
|
|
static inline void led_status_found_cardsystem(void) { }
|
|
static inline void led_status_unsupported_card_system(void) { }
|
|
static inline void led_status_emm_ok(void) { }
|
|
static inline void led_status_card_detected(void) { }
|
|
static inline void led_status_card_ejected(void) { }
|
|
#endif
|
|
|
|
#endif
|