Bläddra i källkod

[led module]add universal name of leds

balbekova 5 år sedan
förälder
incheckning
f971326d37

+ 6 - 0
config/board_bt6703.h

@@ -215,5 +215,11 @@ typedef enum {
 	LOG_NONE,
 } log_type_t;
 
+#define LED_INIT_OK               LED_INIT_G
+#define LED_INIT_ERR              LED_INIT_R
+#define LED_ALARM                 LED_MAJOR_R
+#define LED_GREEN_MINOR           LED_MINOR_G
+#define LED_RED_MINOR             LED_MINOR_R
+
 
 #endif /* BOARD_PRS_H */

+ 6 - 0
config/board_bt6707.h

@@ -238,5 +238,11 @@ typedef enum {
 	LOG_NONE,
 } log_type_t;
 
+#define LED_INIT_OK               LED_INIT_G
+#define LED_INIT_ERR              LED_INIT_R
+#define LED_ALARM                 LED_MAJOR_R
+#define LED_GREEN_MINOR           LED_MINOR_G
+#define LED_RED_MINOR             LED_MINOR_R
+
 
 #endif /* BOARD_BT6707_H_ */

+ 6 - 0
config/board_bt6709.h

@@ -223,5 +223,11 @@ typedef enum {
 	LOG_NONE,
 } log_type_t;
 
+#define LED_INIT_OK               LED_INIT_G
+#define LED_INIT_ERR              LED_INIT_R
+#define LED_ALARM                 LED_MAJOR_R
+#define LED_GREEN_MINOR           LED_MINOR_G
+#define LED_RED_MINOR             LED_MINOR_R
+
 
 #endif /* BOARD_PRS_H */

+ 27 - 21
config/board_bt6710.h

@@ -19,10 +19,15 @@ X( SPI2_MOSI,   GPIOB,  15, AF_SPI2) \
 X( SPI2_SCK,    GPIOB,  10, AF_SPI2) \
 X( SPI2_NSS,    GPIOB,  9,  GPIO_OUT | GPIO_SET)
 
+#define ONEWIRE_DATA_TABLE(X) \
+X( WDATA1,      GPIOA,  0,  AF_USART4)\
+X( WDATA2,      GPIOC,  12, AF_USART5)
+
 #define MCU_PERIPHERALS(X)  \
 SERVICE_RS232_UART_TABLE(X)\
 RS232_UART_TABLE(X) \
 RS485_UART_TABLE(X) \
+ONEWIRE_DATA_TABLE(X) \
 SPI2_TABLE(X)
 
 #define DI_TABLE(X)                  \
@@ -33,10 +38,6 @@ X( DIN2,       GPIOE,   1, GPIO_IN)
 X( DOUT1,      GPIOC,  2, GPIO_OUT)\
 X( DOUT2,      GPIOC,  3, GPIO_OUT)
 
-#define ONEWIRE_DATA_TABLE(X) \
-X( WDATA1,      GPIOA,  0,  AF_UART4)\
-X( WDATA2,      GPIOC,  12, AF_UART5)
-
 #define LEDS(X) \
 X( LED_INIT_R,  GPIOA,  4,  GPIO_OUT | GPIO_INV) \
 X( LED_INIT_G,  GPIOA,  3,  GPIO_OUT | GPIO_INV) \
@@ -56,7 +57,6 @@ X( _WDG,     GPIOE,   15, GPIO_OUT)
 MCU_PERIPHERALS(X)  \
 DI_TABLE(X)         \
 RELAYS(X) \
-ONEWIRE_DATA_TABLE(X) \
 LEDS(X)             \
 JUMPERS(X) \
 BUTTONS(X)      \
@@ -78,7 +78,7 @@ WDG_PIN(X)
 #define BUTTON_ENABLE               //Кнопки
 #define INOUTS_ENABLE               //Входы/выходы
 #define NET_ENABLE                  //Ethernet сеть
-#define WEB_SERVER_ENABLE           //Веб сервер
+#define HTTP_SERVER_ENABLE           //Веб сервер
 #define SNMP_ENABLE                 //SNMP протокол
 #define UPS_ENABLE                  //UPS
 #define PORTGW_ENABLE               //Прозрачный порт
@@ -106,12 +106,12 @@ XSETTING( PORTGW_t, sPortGw, SETTINGS_SetPortGwDef, ALL_DEFAULT ) \
   XJSON_SETTINGS_TAG("managerIP3",         GetManagerIp3,                             SetManagerIp3) \
   XJSON_SETTINGS_TAG("managerIP4",         GetManagerIp4,                             SetManagerIp4) \
   XJSON_SETTINGS_TAG("managerIP5",         GetManagerIp5,                             SetManagerIp5) \
-  XJSON_SETTINGS_TAG("di1",                GetDINTypeActStr,                          SetDINTypeActStr) \
-  XJSON_SETTINGS_TAG("di_name1",           GetROTypeActStr,                           SetROTypeActStr) \
-  XJSON_SETTINGS_TAG("di2",                GetDINTypeActStr,                           SetROTypeActStr) \
-  XJSON_SETTINGS_TAG("di_name2",           GetROTypeActStr,                           SetROTypeActStr) \
-  XJSON_SETTINGS_TAG("type_ts1",           GetROTypeActStr,                           SetROTypeActStr) \
-  XJSON_SETTINGS_TAG("type_ts2",           GetROTypeActStr,                           SetROTypeActStr) \
+  XJSON_SETTINGS_TAG("di1",                GetDIN1TypeActStr,                          SetDIN1TypeActStr) \
+  XJSON_SETTINGS_TAG("di_name1",           GetRO0TypeActStr,                           SetRO1TypeActStr) \
+  XJSON_SETTINGS_TAG("di2",                GetDIN1TypeActStr,                           SetRO1TypeActStr) \
+  XJSON_SETTINGS_TAG("di_name2",           GetRO0TypeActStr,                           SetRO1TypeActStr) \
+  XJSON_SETTINGS_TAG("type_ts1",           GetRO0TypeActStr,                           SetRO1TypeActStr) \
+  XJSON_SETTINGS_TAG("type_ts2",           GetRO0TypeActStr,                           SetRO1TypeActStr) \
   XJSON_SETTINGS_TAG("ipaddr",             GetIpStr,                                  SetIPStr) \
   XJSON_SETTINGS_TAG("gw",                 GetGatewayStr,                             SetGatewayStr) \
   XJSON_SETTINGS_TAG("mask",               GetMaskStr,                                SetMaskStr) \
@@ -152,10 +152,10 @@ XSETTING( PORTGW_t, sPortGw, SETTINGS_SetPortGwDef, ALL_DEFAULT ) \
   XJSON_PARAMS_TAG("inner_temp",         GetInternalTempStr) \
   XJSON_PARAMS_TAG("bat_time_left",      GetRuntimeStr) \
   XJSON_PARAMS_TAG("case_temp",          GetInternalTempStr) \
-  XJSON_PARAMS_TAG("di1",                GetDINStatusStr) \
-  XJSON_PARAMS_TAG("di_name1",           GetDINStatusStr) \
-  XJSON_PARAMS_TAG("di2",                GetDINStatusStr) \
-  XJSON_PARAMS_TAG("di_name2",           GetDINStatusStr) \
+  XJSON_PARAMS_TAG("di1",                GetDIN0StatusStr) \
+  XJSON_PARAMS_TAG("di_name1",           GetDIN0StatusStr) \
+  XJSON_PARAMS_TAG("di2",                GetDIN0StatusStr) \
+  XJSON_PARAMS_TAG("di_name2",           GetDIN0StatusStr) \
   XJSON_PARAMS_TAG("m_alarm",            GetAlarmMonitorStr) \
   XJSON_PARAMS_TAG("u_alarm",            GetAlarmStr) \
   XJSON_PARAMS_TAG("netsettings_changed",GetWebReinitFlag) \
@@ -203,6 +203,8 @@ typedef enum
   CONNECT_MONITOR_NORM,
   BATTERY_CONNECT_ALARM,
   BATTERY_CONNECT_NORM,
+  BATTERY_LOW_TEMPERATURE_NORM,
+  BATTERY_LOW_TEMPERATURE_ALARM,
   ALL_TRAPS
 } TRAP_LIST_t;
 
@@ -220,8 +222,8 @@ typedef enum {
   LOG_ALARM_DI1,
 	LOG_ALARM_VAC_LOW_OUTPUT,
 	LOG_ALARM_VAC_HIGH_OUTPUT,
-	LOG_ALARM_HIGH_AKB_TEMP,
-	LOG_ALARM_LOW_AKB_TEMP,
+	LOG_ALARM_HIGH_TEMP,
+	LOG_ALARM_LOW_TEMP,
   LOG_ALARM_HIGH_CABINET_TEMP,
 	LOG_ALARM_LOW_CABINET_TEMP,
 	LOG_ALARM_LINE,
@@ -233,6 +235,10 @@ typedef enum {
 	LOG_NONE,
 } log_type_t;
 
+#define T_SENSOR_TABLE \
+  XTSENSOR(T_SENSOR_1,     WDATA1,      DALLAS_SENSOR_1_USART) \
+  XTSENSOR(T_SENSOR_2,     WDATA2,      DALLAS_SENSOR_2_USART) \
+
 typedef enum
 {
   T_SENSOR_1 = 0,
@@ -240,8 +246,8 @@ typedef enum
   MAX_T_SENSORS
 } t_sensor_list_t;
 
-#define T_SENSOR_TABLE \
-  XTSENSOR(T_SENSOR_1,      WDATA1,     DALLAS_SENSOR_1_USART) \
-  XTSENSOR(T_SENSOR_2,      WDATA2,     DALLAS_SENSOR_2_USART) \
+#define LED_INIT_OK               LED_INIT_G
+#define LED_INIT_ERR              LED_INIT_R
+#define LED_ALARM                 LED_STAT_R
 
 #endif /* BOARD_PRS_H */

+ 80 - 70
modules/leds/led.c

@@ -15,6 +15,11 @@
 #include "FreeRTOS.h"
 #include "task.h"
 
+#define LEDS_EXPAND_OFF(id, ...) 		\
+		LED_Off(id);
+
+#define LED_ALL_OFF() \
+	LEDS(LEDS_EXPAND_OFF) \
 
 uint16_t statusLedFreq = 1000; // Определяет частоту мигания STATUS LED
 
@@ -24,16 +29,12 @@ LED_STATE_t ledIntTemporary = {GREEN, TOGGLE_OFF};
 
 
 /**
-  * @brief  
-  * @retval 
+  * @brief
+  * @retval
   */
 void LED_Init(void)
 {
-  LED_Off(LED_INIT_R);
-  LED_Off(LED_INIT_G);
-  LED_Off(LED_MAJOR_R);
-  LED_Off(LED_MINOR_G);
-  LED_Off(LED_MINOR_R);
+    LED_ALL_OFF();
 }
 
 /**
@@ -41,99 +42,108 @@ void LED_Init(void)
   */
 void vTaskLedBlink(void *arg)
 {
-	uint8_t start_status = 0;
-	uint8_t start_status_old = 0;
-	start_status = (UPS.Status >> 7) & 0x01;
-  for (;;) 
-  {
-	  start_status = (UPS.Status >> 7) & 0x01;
-	/* Просто отражает состояние контроллера - "живой" */
-	  if((UPS.Status >> 7) & 0x01){
-		  if(start_status_old != start_status)
-			  LED_Off(LED_INIT_G);
-		  LED_Toggle(LED_INIT_G);
-		  LED_Toggle(LED_INIT_R);
-	  }
-	  else{
-		  if(start_status_old != start_status)
-		  	LED_Off(LED_INIT_R);
-		  LED_Toggle(LED_INIT_G);
-	  }
-	  start_status_old = start_status;
-
-    vTaskDelay(statusLedFreq);
-  }
+    uint8_t start_status = 0;
+    uint8_t start_status_old = 0;
+    start_status = (UPS.Status >> 7) & 0x01;
+    for (;;) {
+        start_status = (UPS.Status >> 7) & 0x01;
+        /* Просто отражает состояние контроллера - "живой" */
+        if ((UPS.Status >> 7) & 0x01) {
+            if (start_status_old != start_status) {
+#ifdef LED_INIT_OK
+                LED_Off(LED_INIT_OK);
+#endif
+            }
+#ifdef LED_INIT_OK
+            LED_Toggle(LED_INIT_OK);
+#endif
+#ifdef LED_INIT_ERR
+            LED_Toggle(LED_INIT_ERR);
+#endif
+        } else {
+            if (start_status_old != start_status) {
+#ifdef LED_INIT_ERR
+                LED_Off(LED_INIT_ERR);
+#endif
+            }
+#ifdef LED_INIT_OK
+            LED_Toggle(LED_INIT_OK);
+#endif
+        }
+        start_status_old = start_status;
+
+        vTaskDelay(statusLedFreq);
+    }
 }
 
 /**
-  * @brief  
+  * @brief
   */
 void LED_AddStateInt(COLOR_t color, TOGGLE_t toggle)
 {
-  
-  //sLedInt.toggle = toggle;
-  
-  if ((sLedInt.color == GREEN) && (toggle == TOGGLE_ON))
-	sLedInt.toggle = toggle;
-  
-  switch (color)
-  {
-	/* Зеленый не перебивает никакой цвет */
-    case GREEN :
-	  
-	break;
-	
-	/* Красный перебивает все цвета и останавливет мигание*/
-	case RED :
-	  sLedInt.color = RED;
-	  sLedInt.toggle = TOGGLE_OFF;
-	break;
-	
-	/* Желтый перебивает только зеленый и останавливает мигание*/
-	case YELLOW :
-	  if (sLedInt.color != RED)
-	  {	
-		sLedInt.color = YELLOW;
-		sLedInt.toggle = TOGGLE_OFF;
-	  }
-	break;
-	
-    default :
-	break;
-  }
-  
+
+    //sLedInt.toggle = toggle;
+
+    if ((sLedInt.color == GREEN) && (toggle == TOGGLE_ON)) {
+        sLedInt.toggle = toggle;
+    }
+
+    switch (color) {
+        /* Зеленый не перебивает никакой цвет */
+        case GREEN :
+
+            break;
+
+        /* Красный перебивает все цвета и останавливет мигание*/
+        case RED :
+            sLedInt.color = RED;
+            sLedInt.toggle = TOGGLE_OFF;
+            break;
+
+        /* Желтый перебивает только зеленый и останавливает мигание*/
+        case YELLOW :
+            if (sLedInt.color != RED) {
+                sLedInt.color = YELLOW;
+                sLedInt.toggle = TOGGLE_OFF;
+            }
+            break;
+
+        default :
+            break;
+    }
+
 }
 
 /**
-  * @brief  
+  * @brief
   */
 void LED_On(gpio_t pin)
 {
-	gpio_set(pin, 1);
+    gpio_set(pin, 1);
 }
 
 /**
-  * @brief  
+  * @brief
   */
 void LED_Off(gpio_t pin)
 {
-	gpio_set(pin, 0);
+    gpio_set(pin, 0);
 }
 
 /**
-  * @brief  Изменить состояние LED 
+  * @brief  Изменить состояние LED
   */
 void LED_Toggle(gpio_t pin)
 {
-	gpio_invert_output(pin);
+    gpio_invert_output(pin);
 }
 
 /**
-  * @brief  
+  * @brief
   */
 void LED_SetStatusLedFreq(uint16_t freq)
 {
-  statusLedFreq = freq;
+    statusLedFreq = freq;
 }
 
 /********************************* (C) РОТЕК **********************************/

+ 6 - 3
modules/testing/testing.c

@@ -80,11 +80,14 @@ void vTaskTesting(void *params)
 	  {
 		  SETTINGS_SetAllDefault();
 		  SETTINGS_Save();
-        LED_On(LED_INIT_R);
+#ifdef LED_INIT_ERR
+      LED_On(LED_INIT_ERR);
+#endif
 		/* Устанавливаем статус тестирования "T2OK" и сохраняем настройки */
 		SETTINGS_SetT2OK();
-
-        LED_Off(LED_INIT_R);
+#ifdef LED_INIT_ERR
+      LED_Off(LED_INIT_ERR);
+#endif
 	    fServer = false;
 	    vTaskDelay(2000);
 	  //  Reboot();

+ 12 - 6
service_hw/Commands/commands_api.c

@@ -86,7 +86,9 @@ void vTestCommands(void *params)
         	{
         		 memset(SETTINGS_GetTestState(), 0, 16);
         		 SETTINGS_SetTest(SETTINGS_GetTestState());
-        		 LED_On(LED_MAJOR_R);
+#ifdef LED_ALARM
+        		 LED_On(LED_ALARM);
+#endif
         		 //xTaskCreate(vTaskServiceLedBlinkErr, "LED_Blink_Err", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
         		 xTaskCreate(vTaskServiceLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
         		 while(1){
@@ -107,11 +109,15 @@ void vTestCommands(void *params)
             while (!fDefPressed) {
             	vTaskDelay(10);
             }
-
-            LED_On(LED_INIT_R);
-            LED_On(LED_MAJOR_R);
-            LED_On(LED_MINOR_R);
-
+#ifdef LED_INIT_ERR
+            LED_On(LED_INIT_ERR);
+#endif
+#ifdef LED_ALARM
+            LED_On(LED_ALARM);
+#endif
+#ifdef LED_RED_MINOR
+            LED_On(LED_RED_MINOR);
+#endif
             //sSettings.bootParams.loadMode = 1;
             SetLoadMode();
             COM_TestSerno();

+ 30 - 13
service_hw/buttons/buttons.c

@@ -168,10 +168,15 @@ void vTaskButtons(void *pvParameters)
 void BUTTON_DEF_UpHandler(void)
 {
     DefCounter++;
-
-    LED_Off(LED_INIT_R);
-	LED_Off(LED_MAJOR_R);
-	LED_Off(LED_MINOR_R);
+#ifdef LED_INIT_ERR
+    LED_Off(LED_INIT_ERR);
+#endif
+#ifdef LED_ALARM
+	LED_Off(LED_ALARM);
+#endif
+#ifdef LED_RED_MINOR
+	LED_Off(LED_RED_MINOR);
+#endif
 }
 
 
@@ -180,10 +185,15 @@ void BUTTON_DEF_UpHandler(void)
   */
 void BUTTON_DEF_DownHandler(void)
 {
-	LED_On(LED_INIT_R);
-	LED_On(LED_MAJOR_R);
-	LED_On(LED_MINOR_R);
-
+#ifdef LED_INIT_ERR
+	LED_On(LED_INIT_ERR);
+#endif
+#ifdef LED_ALARM
+	LED_On(LED_ALARM);
+#endif
+#ifdef LED_RED_MINOR
+	LED_On(LED_RED_MINOR);
+#endif
     fDefPressed = true;
 }
 
@@ -192,8 +202,12 @@ void BUTTON_DEF_DownHandler(void)
   */
 void BUTTON_SET_UpHandler(void)
 {
-   LED_On(LED_INIT_G);
-	LED_On(LED_MINOR_G);
+#ifdef LED_INIT_OK
+   LED_On(LED_INIT_OK);
+#endif
+#ifdef LED_GREEN_MINOR
+	LED_On(LED_GREEN_MINOR);
+#endif
 }
 
 
@@ -203,9 +217,12 @@ void BUTTON_SET_UpHandler(void)
 void BUTTON_SET_DownHandler(void)
 {
 	SetCounter++;
-
-    LED_Off(LED_INIT_G);
-	LED_Off(LED_MINOR_G);
+#ifdef LED_INIT_OK
+    LED_Off(LED_INIT_OK);
+#endif
+#ifdef LED_GREEN_MINOR
+	LED_Off(LED_GREEN_MINOR);
+#endif
 }
 
 

+ 15 - 10
service_hw/leds/led.c

@@ -14,6 +14,11 @@
 #include "FreeRTOS.h"
 #include "task.h"
 
+#define LEDS_EXPAND_OFF(id, ...) 		\
+		LED_Off(id);
+
+#define LED_ALL_OFF() \
+	LEDS(LEDS_EXPAND_OFF) \
 
 uint16_t statusLedFreq = 1000; // Определяет частоту мигания STATUS LED
 
@@ -28,11 +33,7 @@ LED_STATE_t ledIntTemporary = {GREEN, TOGGLE_OFF};
   */
 void LED_Init(void)
 {
-  LED_Off(LED_INIT_R);
-  LED_Off(LED_INIT_G);
-  LED_Off(LED_MAJOR_R);
-  LED_Off(LED_MINOR_G);
-  LED_Off(LED_MINOR_R);
+  LED_ALL_OFF();
 }
 
 void vTaskServiceLedBlink(void *arg)
@@ -40,9 +41,12 @@ void vTaskServiceLedBlink(void *arg)
   for (;;)
   {
 	/* Просто отражает состояние контроллера - "живой" */
-    LED_Toggle(LED_INIT_G);
-    LED_Toggle(LED_INIT_R);
-
+#ifdef LED_INIT_OK
+    LED_Toggle(LED_INIT_OK);
+#endif
+#ifdef LED_INIT_ERR
+    LED_Toggle(LED_INIT_ERR);
+#endif
     vTaskDelay(statusLedFreq / 4);
   }
 }
@@ -52,8 +56,9 @@ void vTaskServiceLedBlinkErr(void *arg)
   for (;;)
   {
 	/* Просто отражает состояние контроллера - "живой" */
-    LED_Toggle(LED_INIT_R);
-
+#ifdef LED_INIT_ERR
+    LED_Toggle(LED_INIT_ERR);
+#endif
     vTaskDelay(statusLedFreq);
   }
 }