소스 검색

sx1276 tyepdef enum 추가

june9152 6 년 전
부모
커밋
d845cab802

BIN
Debug/STM32F103_RGB_Controller.bin


BIN
Debug/STM32F103_RGB_Controller.binary


BIN
Debug/STM32F103_RGB_Controller.elf


+ 3 - 3
Debug/STM32F103_RGB_Controller.list

@@ -4697,9 +4697,9 @@ void RGB_Response_Func(uint8_t* data){
4697
             Uart1_Data_Send(data,data[bluecell_length] + 3);
4697
             Uart1_Data_Send(data,data[bluecell_length] + 3);
4698
             M24C32_Data_Write(&hi2c2,&data[bluecell_red_H],RGB_Limit_Address_Check(data[bluecell_dstid]),6); // EEPROM Controller ID Save 
4698
             M24C32_Data_Write(&hi2c2,&data[bluecell_red_H],RGB_Limit_Address_Check(data[bluecell_dstid]),6); // EEPROM Controller ID Save 
4699
  8005e04:	4835      	ldr	r0, [pc, #212]	; (8005edc <RGB_Response_Func+0x10c>)
4699
  8005e04:	4835      	ldr	r0, [pc, #212]	; (8005edc <RGB_Response_Func+0x10c>)
4700
+             else
4700
                  return;
4701
                  return;
4701
              break;
4702
              break;
4702
-         
4703
          default:break;
4703
          default:break;
4704
     }
4704
     }
4705
 }
4705
 }
@@ -5042,7 +5042,7 @@ void RGB_Alarm_Operate(void){
5042
             RGB_Sensor_LED_Alarm_OFF(SensorID_buf[i]);
5042
             RGB_Sensor_LED_Alarm_OFF(SensorID_buf[i]);
5043
         }
5043
         }
5044
     }
5044
     }
5045
-    if(temp_warning == 0){ // 8개의 Sensor가 전부 정상일 때 만 동작
5045
+    if(temp_warning == 0){          // 8개의 Sensor가 전부 정상일 때 만 동작
5046
  800606a:	bb05      	cbnz	r5, 80060ae <RGB_Alarm_Operate+0x5e>
5046
  800606a:	bb05      	cbnz	r5, 80060ae <RGB_Alarm_Operate+0x5e>
5047
         HAL_GPIO_WritePin(LED_ALARM_GPIO_Port, LED_ALARM_Pin, GPIO_PIN_RESET); //표지 LED
5047
         HAL_GPIO_WritePin(LED_ALARM_GPIO_Port, LED_ALARM_Pin, GPIO_PIN_RESET); //표지 LED
5048
  800606c:	462a      	mov	r2, r5
5048
  800606c:	462a      	mov	r2, r5
@@ -5086,7 +5086,7 @@ void RGB_Alarm_Operate(void){
5086
  80060c0:	2000008c 	.word	0x2000008c
5086
  80060c0:	2000008c 	.word	0x2000008c
5087
 
5087
 
5088
 080060c4 <RGB_DeviceStatusCheck>:
5088
 080060c4 <RGB_DeviceStatusCheck>:
5089
-//         LoraDataSendSet(1);
5089
+//         LoraDataSendSet(LoraTx_mode);
5090
          Prev_Alarm_occur = Alarm_occur;
5090
          Prev_Alarm_occur = Alarm_occur;
5091
     }
5091
     }
5092
 }
5092
 }

BIN
Debug/Src/RGB_Controller.o


+ 9 - 9
Debug/Src/RGB_Controller.su

@@ -2,12 +2,12 @@ RGB_Controller.c:44:10:RGB_Limit_Address_Check	0	static
2
 RGB_Controller.c:58:10:RGB_Location_Address_Check	0	static
2
 RGB_Controller.c:58:10:RGB_Location_Address_Check	0	static
3
 RGB_Controller.c:17:6:RGB_Data_Init	48	static
3
 RGB_Controller.c:17:6:RGB_Data_Init	48	static
4
 RGB_Controller.c:73:6:RGB_Response_Func	32	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
5
+RGB_Controller.c:143:6:RGB_Sensor_LED_Alarm_ON	8	static
6
+RGB_Controller.c:181:6:RGB_Sensor_LED_Alarm_OFF	8	static
7
+RGB_Controller.c:220:6:RGB_Alarm_Operate	32	static
8
+RGB_Controller.c:263:9:RGB_DeviceStatusCheck	12	static
9
+RGB_Controller.c:336:9:RGB_BufCal	0	static
10
+RGB_Controller.c:310:6:RGB_Data_Stack	24	static
11
+RGB_Controller.c:236:6:RGB_Alarm_Check	48	static
12
+RGB_Controller.c:350:9:RGB_LimitData_Get	0	static
13
+RGB_Controller.c:363:6:RGB_Controller_Func	120	static

BIN
Debug/Src/main.o


+ 73 - 21
Inc/SX1276.h

@@ -170,11 +170,59 @@
170
 /**********************************************************
170
 /**********************************************************
171
  **Parameter table define
171
  **Parameter table define
172
  **********************************************************/
172
  **********************************************************/
173
-#define SX1276_917MHZ			0
173
+typedef enum{
174
+     SX1276_917MHZ			=0,
175
+     SX1276_917_5MHZ		,	
176
+     SX1276_918MHZ			,
177
+     SX1276_918_5MHZ		,	
178
+     SX1276_919MHZ			,
179
+     SX1276_919_5MHZ		,	
180
+     SX1276_920MHZ			,
181
+     SX1276_920_5MHZ		,	
182
+     SX1276_921MHZ			,
183
+     SX1276_921_5MHZ		,	
184
+     SX1276_922MHZ			,
185
+     SX1276_922_5MHZ		,
186
+     SX1276_923MHZ			,
187
+     SX1276_923_5MHZ		,	
188
+};
174
 
189
 
175
-static const uint8_t SX1276_Frequency[1][3] = { { 0xE5, 0x40, 0x26 }, //916.9MHz
176
-		};/*°ø½Ä  :  61.035 * 0xE5 40 26    = 916.9Mhz
177
-                            (À̰ªÀÌ º¯¼ö)  */
190
+
191
+
192
+
193
+/*
194
+    917.000000 : e5 40 26
195
+    917.500000 : e5 60 26
196
+    918.000000 : e5 80 26
197
+    918.500000 : e5 a0 26
198
+    919.000000 : e5 c0 26
199
+    919.500000 : e5 e0 26
200
+    920.000000 : e6 00 26
201
+    920.500000 : e6 20 26
202
+    921.000000 : e6 40 26
203
+    921.500000 : e6 60 26
204
+    922.000000 : e6 80 26
205
+    922.500000 : e6 a0 26
206
+    923.000000 : e6 c0 26
207
+    923.500000 : e6 e0 26
208
+*/
209
+static const uint8_t SX1276_Frequency[14][3] = { 
210
+    { 0xE5, 0x40, 0x26 }, //About 917
211
+    { 0xE5, 0x60, 0x26 }, //917.5
212
+    { 0xE5, 0x80, 0x26 }, //918
213
+    { 0xE5, 0xa0, 0x26 }, //918.5
214
+    { 0xE5, 0xc0, 0x26 }, //919
215
+    { 0xE5, 0xe0, 0x26 }, //919.5
216
+    { 0xE6, 0x00, 0x26 }, //920
217
+    { 0xE6, 0x20, 0x26 }, //920.5
218
+    { 0xE6, 0x40, 0x26 }, //921
219
+    { 0xE6, 0x60, 0x26 }, //921.5
220
+    { 0xE6, 0x80, 0x26 }, //922
221
+    { 0xE6, 0xa0, 0x26 }, //922.5
222
+    { 0xE6, 0xc0, 0x26 }, //923
223
+    { 0xE6, 0xe0, 0x26 }, //923.5    
224
+};/*°ø½Ä  :  61.035 * 0xE5 40 26    = 916.9Mhz// ê³µì‹�  = ì›�하는 주파수 /61.035(recommad Freq/61.035)
225
+(À̰ªÀÌ º¯¼ö)  */
178
 #define SX1276_POWER_20DBM		0
226
 #define SX1276_POWER_20DBM		0
179
 #define SX1276_POWER_17DBM		1
227
 #define SX1276_POWER_17DBM		1
180
 #define SX1276_POWER_14DBM		2
228
 #define SX1276_POWER_14DBM		2
@@ -186,27 +234,31 @@ static const uint8_t SX1276_Power[4] = { 0xFF, //20dbm
186
 		0xF6, //11dbm
234
 		0xF6, //11dbm
187
 		};
235
 		};
188
 
236
 
189
-#define SX1276_LORA_SF_6		0
190
-#define SX1276_LORA_SF_7		1
191
-#define SX1276_LORA_SF_8		2
192
-#define SX1276_LORA_SF_9		3
193
-#define SX1276_LORA_SF_10		4
194
-#define SX1276_LORA_SF_11		5
195
-#define SX1276_LORA_SF_12		6
196
 
237
 
238
+typedef enum{
239
+ SX1276_LORA_SF_6		=0,
240
+ SX1276_LORA_SF_7		=1,
241
+ SX1276_LORA_SF_8		=2,
242
+ SX1276_LORA_SF_9		=3,
243
+ SX1276_LORA_SF_10		=4,
244
+ SX1276_LORA_SF_11		=5,
245
+ SX1276_LORA_SF_12		=6,
246
+};
197
 static const uint8_t SX1276_SpreadFactor[7] = { 6, 7, 8, 9, 10, 11, 12 };
247
 static const uint8_t SX1276_SpreadFactor[7] = { 6, 7, 8, 9, 10, 11, 12 };
198
 
248
 
199
-#define	SX1276_LORA_BW_7_8KHZ		0
200
-#define	SX1276_LORA_BW_10_4KHZ		1
201
-#define	SX1276_LORA_BW_15_6KHZ		2
202
-#define	SX1276_LORA_BW_20_8KHZ		3
203
-#define	SX1276_LORA_BW_31_2KHZ		4
204
-#define	SX1276_LORA_BW_41_7KHZ		5
205
-#define	SX1276_LORA_BW_62_5KHZ		6
206
-#define	SX1276_LORA_BW_125KHZ		7
207
-#define	SX1276_LORA_BW_250KHZ		8
208
-#define	SX1276_LORA_BW_500KHZ		9
209
 
249
 
250
+typedef enum{
251
+	SX1276_LORA_BW_7_8KHZ		= 0,
252
+	SX1276_LORA_BW_10_4KHZ		,
253
+	SX1276_LORA_BW_15_6KHZ		,
254
+	SX1276_LORA_BW_20_8KHZ		,
255
+	SX1276_LORA_BW_31_2KHZ		,
256
+	SX1276_LORA_BW_41_7KHZ		,
257
+	SX1276_LORA_BW_62_5KHZ		,
258
+	SX1276_LORA_BW_125KHZ		,
259
+	SX1276_LORA_BW_250KHZ		,
260
+	SX1276_LORA_BW_500KHZ		,
261
+};
210
 static const uint8_t SX1276_LoRaBandwidth[10] = { 0, //   7.8KHz,
262
 static const uint8_t SX1276_LoRaBandwidth[10] = { 0, //   7.8KHz,
211
 		1, //  10.4KHz,
263
 		1, //  10.4KHz,
212
 		2, //  15.6KHz,
264
 		2, //  15.6KHz,

+ 19 - 6
Inc/main.h

@@ -134,10 +134,11 @@ typedef enum{
134
     RGB_ControllerID_GET,           //16
134
     RGB_ControllerID_GET,           //16
135
     RGB_Controller_Update_Ack,      //17
135
     RGB_Controller_Update_Ack,      //17
136
     RGB_ControllerLimitGet ,        //18    
136
     RGB_ControllerLimitGet ,        //18    
137
-    RGB_Lora_Init_Request,
138
-    RGB_Lora_Init_Response,
139
-    RGB_Lora_DataRequest,
140
-    RGB_Lora_DataResponse,
137
+    RGB_Lora_Init_Request,          //19
138
+    RGB_Lora_Init_Response,         //20
139
+    RGB_Lora_DataRequest,           //21
140
+    RGB_Lora_DataResponse,          //22
141
+    RGB_Lora_ConfigSet,             //23
141
 }RGB_CMD_T;
142
 }RGB_CMD_T;
142
 typedef struct{
143
 typedef struct{
143
     uint8_t Request_stx;
144
     uint8_t Request_stx;
@@ -227,8 +228,20 @@ typedef struct{
227
 #define RGB6_LOCATION_ADDRESS        RGB5_LOCATION_ADDRESS + 50
228
 #define RGB6_LOCATION_ADDRESS        RGB5_LOCATION_ADDRESS + 50
228
 #define RGB7_LOCATION_ADDRESS        RGB6_LOCATION_ADDRESS + 50
229
 #define RGB7_LOCATION_ADDRESS        RGB6_LOCATION_ADDRESS + 50
229
 #define RGB8_LOCATION_ADDRESS        RGB7_LOCATION_ADDRESS + 50
230
 #define RGB8_LOCATION_ADDRESS        RGB7_LOCATION_ADDRESS + 50
230
-/*reserved*/
231
-#define RESERVED_ADDRESS             RGB8_LOCATION_ADDRESS + 50
231
+/* Lora */
232
+#define RGB_LORA_FREQ_ADDRESS        RGB8_LOCATION_ADDRESS      + 50
233
+#define RGB_LORA_PABOOST_ADDRESS     RGB_LORA_FREQ_ADDRESS      + 1
234
+#define RGB_LORA_BANDWIDTH_ADDRESS   RGB_LORA_PABOOST_ADDRESS   + 1
235
+#define RGB_LORA_LNA_ADDRESS         RGB_LORA_BANDWIDTH_ADDRESS + 1
236
+#define RGB_LORA_SF_ADDRESS          RGB_LORA_SF_ADDRESS        + 1
237
+
238
+#define Reserved_ADDRESS             RGB_LORA_SF_ADDRESS        + 1
239
+
240
+
241
+
242
+
243
+
244
+
232
 
245
 
233
 
246
 
234
 
247
 

+ 2 - 3
Src/RGB_Controller.c

@@ -135,7 +135,6 @@ for(uint8_t i = 0; i < 10; i++){
135
              else
135
              else
136
                  return;
136
                  return;
137
              break;
137
              break;
138
-         
139
          default:break;
138
          default:break;
140
     }
139
     }
141
 }
140
 }
@@ -228,7 +227,7 @@ void RGB_Alarm_Operate(void){
228
             RGB_Sensor_LED_Alarm_OFF(SensorID_buf[i]);
227
             RGB_Sensor_LED_Alarm_OFF(SensorID_buf[i]);
229
         }
228
         }
230
     }
229
     }
231
-    if(temp_warning == 0){ // 8개의 Sensor가 전부 정상일 때 만 동작
230
+    if(temp_warning == 0){          // 8개의 Sensor가 전부 정상일 때 만 동작
232
         HAL_GPIO_WritePin(LED_ALARM_GPIO_Port, LED_ALARM_Pin, GPIO_PIN_RESET); //표지 LED
231
         HAL_GPIO_WritePin(LED_ALARM_GPIO_Port, LED_ALARM_Pin, GPIO_PIN_RESET); //표지 LED
233
         RGB_Sensor_LED_Alarm_OFF(0); //모든 Sensor가 정상일 때는 LED 가 켜지지 않는다.
232
         RGB_Sensor_LED_Alarm_OFF(0); //모든 Sensor가 정상일 때는 LED 가 켜지지 않는다.
234
     }
233
     }
@@ -255,7 +254,7 @@ void RGB_Alarm_Check(uint8_t* data){
255
     }
254
     }
256
     RGB_Data_Stack(&LED_Alarm[1]);
255
     RGB_Data_Stack(&LED_Alarm[1]);
257
     if(Prev_Alarm_occur != Alarm_occur){
256
     if(Prev_Alarm_occur != Alarm_occur){
258
-//         LoraDataSendSet(1);
257
+//         LoraDataSendSet(LoraTx_mode);//경고 발생 시 바로 Data 전송 하는 Option
259
          Prev_Alarm_occur = Alarm_occur;
258
          Prev_Alarm_occur = Alarm_occur;
260
     }
259
     }
261
 }
260
 }

+ 2 - 2
Src/main.c

@@ -655,7 +655,7 @@ int main(void)
655
     }
655
     }
656
     RGB_Alarm_Operate();//LED ALARM CHECK
656
     RGB_Alarm_Operate();//LED ALARM CHECK
657
     if(LoraDataSendGet() == LoraTx_mode){
657
     if(LoraDataSendGet() == LoraTx_mode){
658
-//        LoraDataSendSet(0);
658
+//        LoraDataSendSet(LoraRx_mode);
659
         memcpy(&buffer[0],&Lora_Buf[0],LORA_MAX_DATA_CNT);
659
         memcpy(&buffer[0],&Lora_Buf[0],LORA_MAX_DATA_CNT);
660
         message_length = Lora_Max_Amount + 3;////RGB Data 60byte + stx + etx + crc
660
         message_length = Lora_Max_Amount + 3;////RGB Data 60byte + stx + etx + crc
661
         ret = SX1276_LoRaEntryTx(&SX1276, message_length, 2000);
661
         ret = SX1276_LoRaEntryTx(&SX1276, message_length, 2000);
@@ -664,7 +664,7 @@ int main(void)
664
 //        for(uint8_t i = 0; i < sizeof(LoraDataRequest_t); i++)
664
 //        for(uint8_t i = 0; i < sizeof(LoraDataRequest_t); i++)
665
 //            printf("%02x ",buffer[i]);
665
 //            printf("%02x ",buffer[i]);
666
 //        printf("\n");
666
 //        printf("\n");
667
-        LoraDataSendSet(0);
667
+        LoraDataSendSet(LoraRx_mode);
668
         ret = SX1276_LoRaEntryRx(&SX1276, LORA_MAX_DATA_CNT, 2000);
668
         ret = SX1276_LoRaEntryRx(&SX1276, LORA_MAX_DATA_CNT, 2000);
669
     }else{
669
     }else{
670
            ret = SX1276_LoRaRxPacket(&SX1276);
670
            ret = SX1276_LoRaRxPacket(&SX1276);