Bladeren bron

Lora Controller 갯수 저장 할 수 있도록 프로토콜 변경
printf 문 제거

june9152 6 jaren geleden
bovenliggende
commit
ef742f26af

BIN
Debug/STM32F103_RGB_Controller.bin


BIN
Debug/STM32F103_RGB_Controller.binary


BIN
Debug/STM32F103_RGB_Controller.elf


File diff suppressed because it is too large
+ 4518 - 4497
Debug/STM32F103_RGB_Controller.list


File diff suppressed because it is too large
+ 449 - 449
Debug/STM32F103_RGB_Controller.map


BIN
Debug/Src/RGB_Controller.o


+ 10 - 10
Debug/Src/RGB_Controller.su

@@ -1,13 +1,13 @@
1 1
 RGB_Controller.c:44:10:RGB_Limit_Address_Check	0	static
2 2
 RGB_Controller.c:58:10:RGB_Location_Address_Check	0	static
3 3
 RGB_Controller.c:17:6:RGB_Data_Init	48	static
4
-RGB_Controller.c:73:6:RGB_Response_Func	24	static
5
-RGB_Controller.c:134:6:RGB_Sensor_LED_Alarm_ON	8	static
6
-RGB_Controller.c:172:6:RGB_Sensor_LED_Alarm_OFF	8	static
7
-RGB_Controller.c:211:6:RGB_Alarm_Operate	32	static
8
-RGB_Controller.c:254:9:RGB_DeviceStatusCheck	12	static
9
-RGB_Controller.c:327:9:RGB_BufCal	0	static
10
-RGB_Controller.c:301:6:RGB_Data_Stack	24	static
11
-RGB_Controller.c:227:6:RGB_Alarm_Check	48	static
12
-RGB_Controller.c:341:9:RGB_LimitData_Get	0	static
13
-RGB_Controller.c:362:6:RGB_Controller_Func	128	static
4
+RGB_Controller.c:73:6:RGB_Response_Func	32	static
5
+RGB_Controller.c:144:6:RGB_Sensor_LED_Alarm_ON	8	static
6
+RGB_Controller.c:182:6:RGB_Sensor_LED_Alarm_OFF	8	static
7
+RGB_Controller.c:221:6:RGB_Alarm_Operate	32	static
8
+RGB_Controller.c:264:9:RGB_DeviceStatusCheck	12	static
9
+RGB_Controller.c:337:9:RGB_BufCal	0	static
10
+RGB_Controller.c:311:6:RGB_Data_Stack	24	static
11
+RGB_Controller.c:237:6:RGB_Alarm_Check	48	static
12
+RGB_Controller.c:351:9:RGB_LimitData_Get	0	static
13
+RGB_Controller.c:364:6:RGB_Controller_Func	120	static

BIN
Debug/Src/main.o


+ 2 - 2
Debug/Src/main.su

@@ -15,6 +15,6 @@ main.c:441:6:test_read	24	static
15 15
 main.c:460:6:Flash_RGB_Data_Write	16	static
16 16
 main.c:473:6:Flash_write	24	static
17 17
 main.c:526:6:Flash_InitRead	12	static
18
-main.c:757:6:SystemClock_Config	72	static
18
+main.c:760:6:SystemClock_Config	72	static
19 19
 main.c:564:5:main	296	static
20
-main.c:1031:6:Error_Handler	0	static
20
+main.c:1034:6:Error_Handler	0	static

+ 10 - 4
Inc/main.h

@@ -128,7 +128,7 @@ typedef enum{
128 128
     RGB_Reset,                      //10
129 129
     RGB_BootStart,                  //11
130 130
     RGB_ID_Allocate_Request,        //12
131
-    RGB_Lora_Data_Report,           //13
131
+    RGB_Lora_ControllerIDAmount_Report,           //13   /* ??? */
132 132
     RGB_Location_Report,           //14
133 133
     RGB_Location_Response,           //15
134 134
     RGB_ControllerID_GET,           //16
@@ -139,15 +139,21 @@ typedef enum{
139 139
     RGB_Lora_DataRequest,
140 140
     RGB_Lora_DataResponse,
141 141
 }RGB_CMD_T;
142
+typedef struct{
143
+    uint8_t Request_stx;
144
+    uint8_t Request_type;
145
+    uint8_t Request_length;
146
+    uint8_t Request_srcid;    
147
+    uint8_t Request_dstid;        
148
+    uint8_t Request_crc;    
149
+    uint8_t Request_etx;        
150
+}LoraDataRequest_t;
142 151
 
143 152
 #define     RGB_ControllerID_SET_Length         10 
144
-#define     RGB_SensorID_SET_Length             10 
145 153
 #define     RGB_SensorDataRequest_Length        7
146 154
 #define     RGB_SensorIDAutoSetRequest_Length   7
147
-#define     RGB_SensorIDCheckSetRequest_Length  4
148 155
 
149 156
 
150
-#define     RGB_SensorDataResponseData_Length   RGB_SensorDataResponse_Length - 3
151 157
 #define     Lora_Max_Amount                     5
152 158
 #define     LORA_MAX_DATA_CNT                   Lora_Max_Amount + 3
153 159
 

+ 14 - 15
Src/RGB_Controller.c

@@ -73,6 +73,7 @@ uint16_t RGB_Location_Address_Check(uint8_t id){
73 73
 void RGB_Response_Func(uint8_t* data){

74 74
 	RGB_CMD_T type = data[bluecell_type];
75 75
     uint16_t temp  = 0;
76
+    LoraDataRequest_t Lora_Tempdata;
76 77
 #if 0
77 78
 for(uint8_t i = 0; i < 10; i++){
78 79
             printf("%02x ",data[i]);
@@ -106,7 +107,7 @@ for(uint8_t i = 0; i < 10; i++){
106 107
         case RGB_Reset:
107 108
         case RGB_SensorID_SET_Success:
108 109
         case RGB_ID_Allocate_Request:
109
-        case RGB_Lora_Data_Report:
110
+        case RGB_Lora_ControllerIDAmount_Report:
110 111
             break;
111 112
         case RGB_Location_Report:
112 113
             M24C32_Data_Write(&hi2c2,&data[Location_stx],RGB_Location_Address_Check(data[bluecell_srcid]),data[bluecell_length] + 3); // EEPROM Controller ID Save 
@@ -127,6 +128,13 @@ for(uint8_t i = 0; i < 10; i++){
127 128
          case RGB_ControllerLimitGet:
128 129
              Uart1_Data_Send(data,data[bluecell_length] + 3);
129 130
              break;
131
+         case RGB_Lora_DataResponse:
132
+             memcpy(&Lora_Tempdata.Request_stx,&data[bluecell_stx],data[bluecell_length] + 3);
133
+             if(Lora_Tempdata.Request_dstid == MyControllerID)
134
+                 LoraDataSendSet(1);
135
+             else
136
+                 return;
137
+             break;
130 138
          
131 139
          default:break;
132 140
     }
@@ -304,7 +312,7 @@ void RGB_Data_Stack(uint8_t* rgb_buf){
304 312
     /*********************FIX DATA*************************************/
305 313
     Lora_Buf[bluecell_stx]         = 0xbe;
306 314
     Lora_Buf[bluecell_srcid + 4]   = 0xeb;
307
-    Lora_Buf[bluecell_type]        = RGB_Lora_Data_Report;
315
+    Lora_Buf[bluecell_type]        = RGB_Lora_DataResponse;
308 316
     Lora_Buf[bluecell_length]      = Lora_Max_Amount;// RGB Data 5byte
309 317
     Lora_Buf[bluecell_srcid]       = MyControllerID;
310 318
     /*********************FIX DATA*************************************/
@@ -350,19 +358,11 @@ uint8_t RGB_LimitData_Get(uint8_t id){
350 358
 }
351 359
 #endif // PYJ.2019.04.14_END -- 
352 360
 uint8_t datalosscnt[9] = {0,};
353
-typedef struct{
354
-    uint8_t Request_stx;
355
-    uint8_t Request_type;
356
-    uint8_t Request_length;
357
-    uint8_t Request_srcid;    
358
-    uint8_t Request_dstid;        
359
-    uint8_t Request_crc;    
360
-    uint8_t Request_etx;        
361
-}LoraDataRequest_t;
361
+
362 362
 
363 363
 void RGB_Controller_Func(uint8_t* data){
364 364
 	RGB_CMD_T type = data[bluecell_type];
365
-    LoraDataRequest_t Lora_Tempdata;
365
+  
366 366
    // static uint8_t temp_sensorid;
367 367
     uint8_t Result_buf[100] = {0,};
368 368
     uint8_t i = 0;
@@ -441,9 +441,8 @@ void RGB_Controller_Func(uint8_t* data){
441 441
             Result_buf[bluecell_srcid + 7]   = 0xeb;
442 442
             break;
443 443
         case RGB_Lora_DataRequest:
444
-            memcpy(&Lora_Tempdata.Request_stx,&data[bluecell_stx],data[bluecell_length] + 3);
445
-            if(Lora_Tempdata.Request_dstid == MyControllerID)
446
-                LoraDataSendSet(1);
444
+            memcpy(&Result_buf[bluecell_stx],&data[bluecell_stx],data[bluecell_length] + 3);
445
+            Result_buf[bluecell_type] = RGB_Lora_DataResponse;
447 446
             break;
448 447
         default:
449 448
             break;

+ 4 - 0
Src/main.c

@@ -660,6 +660,10 @@ int main(void)
660 660
         message_length = Lora_Max_Amount + 3;////RGB Data 60byte + stx + etx + crc
661 661
         ret = SX1276_LoRaEntryTx(&SX1276, message_length, 2000);
662 662
         ret = SX1276_LoRaTxPacket(&SX1276, &buffer[0], message_length, 2000);
663
+//        printf("Tx buffer : ");
664
+//        for(uint8_t i = 0; i < sizeof(LoraDataRequest_t); i++)
665
+//            printf("%02x ",buffer[i]);
666
+//        printf("\n");
663 667
         LoraDataSendSet(0);
664 668
         ret = SX1276_LoRaEntryRx(&SX1276, LORA_MAX_DATA_CNT, 2000);
665 669
     }else{