led.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /*
  2. * @Description:
  3. * @Version: 2.0
  4. * @Author: Seven
  5. * @Date: 2022-06-14 14:01:08
  6. * @LastEditors: Seven
  7. * @LastEditTime: 2022-06-15 11:33:04
  8. */
  9. #ifndef __LED_H
  10. #define __LED_H
  11. #include "stm32f10x.h"
  12. #include "tools.h"
  13. extern uint8_t LED_STATUS;
  14. #define LED_ON 1
  15. #define LED_OFF 0
  16. #define LED0 0
  17. #define LED1 1
  18. #define LED2 2
  19. #define LED3 3
  20. #define LED4 4
  21. #define LED5 5
  22. #define LED6 6
  23. #define LED7 7
  24. #define LED8 8
  25. #define LED_ALL 0xff
  26. //SCK->PE13, RCK->PE12, SER->PE11
  27. #define LED_SCK_LOW() GPIO_ResetBits(GPIOE,GPIO_Pin_13)
  28. #define LED_SCK_HIGH() GPIO_SetBits(GPIOE,GPIO_Pin_13)
  29. #define LED_RCK_LOW() GPIO_ResetBits(GPIOE,GPIO_Pin_12)
  30. #define LED_RCK_HIGH() GPIO_SetBits(GPIOE,GPIO_Pin_12)
  31. #define LED_SER_LOW() GPIO_ResetBits(GPIOE,GPIO_Pin_11)
  32. #define LED_SER_HIGH() GPIO_SetBits(GPIOE,GPIO_Pin_11)
  33. /////
  34. #define LED_RUN_ON() {GPIO_SetBits(GPIOE, GPIO_Pin_14);}
  35. #define LED_RUN_OFF() {GPIO_ResetBits(GPIOE, GPIO_Pin_14);}
  36. #define LED_RUN PEout(14)
  37. #define LED_ON_ALL() {GPIO_ResetBits(GPIOD, GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);\
  38. GPIO_ResetBits(GPIOC, GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);}
  39. #define LED_OFF_ALL() {GPIO_SetBits(GPIOD, GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);\
  40. GPIO_SetBits(GPIOC, GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);}
  41. #define LED0_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_12);}
  42. #define LED0_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_12);}
  43. #define LED1_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_13);}
  44. #define LED1_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_13);}
  45. #define LED2_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_14);}
  46. #define LED2_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_14);}
  47. #define LED3_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_15);}
  48. #define LED3_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_15);}
  49. #define LED4_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_6);}
  50. #define LED4_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_6);}
  51. #define LED5_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_7);}
  52. #define LED5_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_7);}
  53. #define LED6_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_8);}
  54. #define LED6_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_8);}
  55. #define LED7_ON() {GPIO_ResetBits(GPIOC, GPIO_Pin_9);}
  56. #define LED7_OFF() {GPIO_SetBits(GPIOC, GPIO_Pin_9);}
  57. #define SEND_LED_FLAG 1
  58. #define RCV_LED_FLAG 0
  59. //指示灯定义
  60. #define TAX1_SEND_LED 0
  61. #define TAX1_RCV_LED 1
  62. #define TAX2_SEND_LED 2
  63. #define TAX2_RCV_LED 3
  64. #define DISPLAY_SEND_LED 4
  65. #define DISPLAY_RCV_LED 5
  66. #define LORA_SEND_LED 6
  67. #define LORA_RCV_LED 7
  68. #define TAX1_SEND_LED_TIME 300 //单位ms
  69. #define TAX1_RCV_LED_TIME 300
  70. #define TAX2_SEND_LED_TIME 300
  71. #define TAX2_RCV_LED_TIME 300
  72. #define LORA_SEND_LED_TIME 300
  73. #define LORA_RCV_LED_TIME 300
  74. #define DISPLAY_SEND_LED_TIME 300
  75. #define DISPLAY_RCV_LED_TIME 300
  76. #define LED_RUN_FAST_TIME 300
  77. #define LED_RUN_SLOW_TIME 500
  78. #define LED_APP_TIME 500
  79. #define LED_LORA_INDEX_TIME (3*1000) //lora信道指示灯显示时间
  80. //升级指示灯
  81. #define UPDATA_START_LED 3
  82. #define UPDATA_MASTER_LED 2
  83. #define UPDATA_SLAVE_LED 1
  84. #define UPDATA_ONLOOKER_LED 0
  85. #define PLAINTEXT_LED_TIME_MS 999 //明文 单位ms
  86. #define PLAINTEXT_LED_TIME_S 1 //明文 单位s
  87. #define CIPHERTEXT_LED_TIME 200 //密文
  88. typedef struct _led_info
  89. {
  90. timeout_t run_led;
  91. timeout_t tax1_send_led;
  92. timeout_t tax1_rcv_led;
  93. timeout_t tax2_send_led;
  94. timeout_t tax2_rcv_led;
  95. timeout_t lora_rcv_led;
  96. timeout_t lora_send_led;
  97. timeout_t display_rcv_led;
  98. timeout_t display_send_led;
  99. timeout_t uninit_led; //未配置sn
  100. timeout_t tt_loraindex_led_state;//lora信道索引指示灯
  101. }led_info_t;
  102. extern led_info_t led_info;
  103. extern uint8_t loraindex_led_flag;
  104. void LED_Init(void);
  105. void led_run_set(uint8_t led, uint8_t status);
  106. void led_info_init(void);
  107. void led_run(void);
  108. void Encryption_type_led_run_state(uint8_t state);
  109. void APP_edittion_led_run(void);
  110. void close_all_led(void);
  111. void ota_start_led_init(void);
  112. void led_start(uint8_t state);
  113. void Data_last4bit_led(uint32_t data, uint8_t signal);
  114. void Data_lastNbit_led(uint32_t data, uint8_t bit, uint8_t signal);
  115. void Led_Single_State_Set(uint8_t led, uint8_t state);
  116. #endif