瀏覽代碼

Начал объединение с тестовым проектом для AI.

TelenkovDmitry 1 年之前
父節點
當前提交
c21fa56d2e
共有 7 個文件被更改,包括 1103 次插入1002 次删除
  1. 26 4
      fw/modules/io/mux.c
  2. 54 1
      fw/modules/io/mux.h
  3. 4 3
      fw/user/main.c
  4. 二進制
      output/fw.bin
  5. 421 386
      project/ewarm/iap/iap.dep
  6. 597 608
      project/ewarm/module_universal_io.dep
  7. 1 0
      project/ewarm/module_universal_io.ewp

+ 26 - 4
fw/modules/io/mux.c

@@ -4,7 +4,8 @@
 #include "task.h"
 #include <stdbool.h>
 
-
+/* -------------------------------------------------------------------------- */
+#if defined (MDIO_88)
 mux_channel_t leds[LED_NUMBER] = {
                                   {INP_1, {0, 0, 0}, LED_OFF, 0},
                                   {INP_2, {0, 0, 0}, LED_OFF, 0},
@@ -41,8 +42,27 @@ mux_channel_t leds[LED_NUMBER] = {
                                   {OUT_7_G, {1, 0, 1}, LED_OFF, 0},
                                   {OUT_8_G, {1, 0, 1}, LED_OFF, 0}
                                  };
+/* -------------------------------------------------------------------------- */
+#elif defined (MAI_12)
 
-
+/*uint8_t         line[3];    // [line_0, line_1, line_2]*/
+mux_channel_t leds[LED_NUMBER] = {
+                                  {IO_1_G, {0, 0, 0}, LED_OFF, 0},
+                                  {IO_1_R, {0, 0, 0}, LED_OFF, 0},
+                                  {IO_2_G, {0, 0, 0}, LED_OFF, 0},
+                                  {IO_2_R, {0, 0, 0}, LED_OFF, 0},
+                                  
+                                  {IO_3_G, {1, 0, 0}, LED_OFF, 0},
+                                  {IO_3_R, {1, 0, 0}, LED_OFF, 0},
+                                  {IO_4_G, {1, 0, 0}, LED_OFF, 0},
+                                  {IO_4_R, {1, 0, 0}, LED_OFF, 0},
+                                  
+                                  {IO_5_G, {0, 1, 0}, LED_OFF, 0},
+                                  {IO_5_R, {0, 1, 0}, LED_OFF, 0},
+                                  {IO_6_G, {0, 1, 0}, LED_OFF, 0},
+                                  {IO_6_R, {0, 1, 0}, LED_OFF, 0},
+};
+#endif
 
 //
 void mux_led_init(mux_channel_t *ch)
@@ -153,9 +173,9 @@ void mux_led_blink(void)
     {
         leds[i].state = LED_ON;
         
-        vTaskDelay(100);
+        //vTaskDelay(100);
         
-        leds[i].state = LED_OFF;
+        //leds[i].state = LED_OFF;
     }
 }
 
@@ -163,6 +183,7 @@ void mux_led_blink(void)
 // false - alarm
 void mux_led_status(bool state)
 {
+/*  
     if (state) {
         leds[STATUS_G].state = LED_ON;
         leds[STATUS_R].state = LED_OFF;
@@ -171,4 +192,5 @@ void mux_led_status(bool state)
         leds[STATUS_G].state = LED_OFF;
         leds[STATUS_R].state = LED_ON;
     }
+*/    
 }

+ 54 - 1
fw/modules/io/mux.h

@@ -4,7 +4,6 @@
 #include <stdbool.h>
 
 //
-#define LED_NUMBER      28
 
 #define LINE_0_SET      GPIOE->scr = GPIO_PINS_3
 #define LINE_0_RESET    GPIOE->clr = GPIO_PINS_3
@@ -27,6 +26,10 @@
 #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
 {
@@ -66,7 +69,57 @@ typedef enum
     OUT_8_G,
       
 } led_t;
+/* -------------------------------------------------------------------------- */
+#elif defined (MAI_12)
 
+#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,
+    
+    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,
+        
+    STATUS_G,
+    STATUS_R,
+    RX_G,
+    TX_R,
+    
+} led_t;
+#endif
+/* -------------------------------------------------------------------------- */
 
 typedef enum
 {

+ 4 - 3
fw/user/main.c

@@ -45,7 +45,7 @@ int main(void)
     
     xTaskCreate(init_task, "init_task", 10*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
     
-    //xTaskCreate(test_hw_task, "hw_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+    xTaskCreate(test_hw_task, "hw_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
     
     xTaskCreate(test_gpio, "gpio_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
     
@@ -91,10 +91,11 @@ void init_task(void *argument)
     save_mode_init();
     // TODO Для теста отключаем безопасный режим работы
     save_mode_set(false);   
+/*    
     io_port_init();
     in_exint_init();
     cm_gpio_init();
-    
+*/    
 // -------------------------------------------------------------------------- //
 // Uptime    
     
@@ -119,7 +120,7 @@ void init_task(void *argument)
 // Базовая инициализация входов/выходов
 // TODO потом брать значения из настроек
 
-    io_init();
+    //io_init();
     
 // -------------------------------------------------------------------------- //        
 // Сброс счетчика попыток загрузок

二進制
output/fw.bin


文件差異過大導致無法顯示
+ 421 - 386
project/ewarm/iap/iap.dep


文件差異過大導致無法顯示
+ 597 - 608
project/ewarm/module_universal_io.dep


+ 1 - 0
project/ewarm/module_universal_io.ewp

@@ -225,6 +225,7 @@
                     <state>AT_START_F403A_V1</state>
                     <state>PRINTF_STDLIB</state>
                     <state>DEBUG</state>
+                    <state>MAI_12</state>
                 </option>
                 <option>
                     <name>CCPreprocFile</name>

部分文件因文件數量過多而無法顯示