123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- #ifndef __MUX_H
- #define __MUX_H
- #include <stdbool.h>
- //
- #define LINE_0_SET GPIOE->scr = GPIO_PINS_3
- #define LINE_0_RESET GPIOE->clr = GPIO_PINS_3
- #define LINE_1_SET GPIOE->scr = GPIO_PINS_2
- #define LINE_1_RESET GPIOE->clr = GPIO_PINS_2
- #define LINE_2_SET GPIOB->scr = GPIO_PINS_9
- #define LINE_2_RESET GPIOB->clr = GPIO_PINS_9
- #define COL_1_SET GPIOD->scr = GPIO_PINS_6
- #define COL_1_RESET GPIOD->clr = GPIO_PINS_6
- #define COL_2_SET GPIOD->scr = GPIO_PINS_7
- #define COL_2_RESET GPIOD->clr = GPIO_PINS_7
- #define COL_3_SET GPIOB->scr = GPIO_PINS_6
- #define COL_3_RESET GPIOB->clr = GPIO_PINS_6
- #define COL_4_SET GPIOB->scr = GPIO_PINS_7
- #define COL_4_RESET GPIOB->clr = GPIO_PINS_7
- /* -------------------------------------------------------------------------- */
- #if defined(MDIO_88)
- #define LED_NUMBER 28
- typedef enum
- {
- INP_1 = 0,
- INP_2,
- INP_3,
- INP_4,
-
- INP_5,
- INP_6,
- INP_7,
- INP_8,
-
- OUT_1_G,
- OUT_2_G,
- OUT_3_G,
- OUT_4_G,
-
- OUT_1_R,
- OUT_2_R,
- OUT_3_R,
- OUT_4_R,
-
- STATUS_G,
- STATUS_R,
- RX_G,
- TX_R,
-
- OUT_5_R,
- OUT_6_R,
- OUT_7_R,
- OUT_8_R,
-
- OUT_5_G,
- OUT_6_G,
- OUT_7_G,
- OUT_8_G,
-
- } led_t;
- #endif
- #if defined(MAI_12)
- #define LED_NUMBER 28
- typedef enum
- {
- IO_1_G = 0,
- IO_1_R,
- IO_2_G,
- IO_2_R,
-
- IO_3_G,
- IO_3_R,
- IO_4_G,
- IO_4_R,
-
- IO_5_G,
- IO_5_R,
- IO_6_G,
- IO_6_R,
-
- STATUS_G,
- STATUS_R,
- RX_G,
- TX_R,
-
- IO_7_G,
- IO_7_R,
- IO_8_G,
- IO_8_R,
-
- IO_9_G,
- IO_9_R,
- IO_10_G,
- IO_10_R,
-
- IO_11_G,
- IO_11_R,
- IO_12_G,
- IO_12_R,
-
- } led_t;
- #endif
- #if defined (MAO_8)
- #define LED_NUMBER 12
- typedef enum
- {
- IO_1_G = 0,
- IO_1_R,
- IO_2_G,
- IO_2_R,
-
- IO_3_G,
- IO_3_R,
- IO_4_G,
- IO_4_R,
-
- IO_5_G,
- IO_5_R,
- IO_6_G,
- IO_6_R,
-
- STATUS_G,
- STATUS_R,
- RX_G,
- TX_R,
-
- IO_7_G,
- IO_7_R,
- IO_8_G,
- IO_8_R,
-
- IO_9_G,
- IO_9_R,
- IO_10_G,
- IO_10_R,
-
- IO_11_G,
- IO_11_R,
- IO_12_G,
- IO_12_R,
-
- } led_t;
- #endif
- /* -------------------------------------------------------------------------- */
- typedef enum
- {
- LED_OFF = 0,
- LED_ON,
- LED_BLINK,
-
- } led_state_t;
- typedef struct
- {
- led_t name;
- uint8_t line[3]; // [line_0, line_1, line_2]
- led_state_t state;
- uint32_t cnt;
-
- } mux_channel_t;
- //
- void mux_led_init(mux_channel_t *ch);
- //
- void mux_gpio_init(void);
- //
- void mux_led_proc(void);
- //
- void mux_led_blink(void);
- //
- void mux_led_test_init(void);
- //
- void mux_led_test_toggle(void);
- //
- void mux_led_status(bool state);
- //
- void mux_task(void *argument);
- extern mux_channel_t leds[];
- #endif // __MUX_H
|