소스 검색

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 4697
             Uart1_Data_Send(data,data[bluecell_length] + 3);
4698 4698
             M24C32_Data_Write(&hi2c2,&data[bluecell_red_H],RGB_Limit_Address_Check(data[bluecell_dstid]),6); // EEPROM Controller ID Save 
4699 4699
  8005e04:	4835      	ldr	r0, [pc, #212]	; (8005edc <RGB_Response_Func+0x10c>)
4700
+             else
4700 4701
                  return;
4701 4702
              break;
4702
-         
4703 4703
          default:break;
4704 4704
     }
4705 4705
 }
@@ -5042,7 +5042,7 @@ void RGB_Alarm_Operate(void){
5042 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 5046
  800606a:	bb05      	cbnz	r5, 80060ae <RGB_Alarm_Operate+0x5e>
5047 5047
         HAL_GPIO_WritePin(LED_ALARM_GPIO_Port, LED_ALARM_Pin, GPIO_PIN_RESET); //표지 LED
5048 5048
  800606c:	462a      	mov	r2, r5
@@ -5086,7 +5086,7 @@ void RGB_Alarm_Operate(void){
5086 5086
  80060c0:	2000008c 	.word	0x2000008c
5087 5087
 
5088 5088
 080060c4 <RGB_DeviceStatusCheck>:
5089
-//         LoraDataSendSet(1);
5089
+//         LoraDataSendSet(LoraTx_mode);
5090 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 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 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 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 226
 #define SX1276_POWER_20DBM		0
179 227
 #define SX1276_POWER_17DBM		1
180 228
 #define SX1276_POWER_14DBM		2
@@ -186,27 +234,31 @@ static const uint8_t SX1276_Power[4] = { 0xFF, //20dbm
186 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 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 262
 static const uint8_t SX1276_LoRaBandwidth[10] = { 0, //   7.8KHz,
211 263
 		1, //  10.4KHz,
212 264
 		2, //  15.6KHz,

+ 19 - 6
Inc/main.h

@@ -134,10 +134,11 @@ typedef enum{
134 134
     RGB_ControllerID_GET,           //16
135 135
     RGB_Controller_Update_Ack,      //17
136 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 142
 }RGB_CMD_T;
142 143
 typedef struct{
143 144
     uint8_t Request_stx;
@@ -227,8 +228,20 @@ typedef struct{
227 228
 #define RGB6_LOCATION_ADDRESS        RGB5_LOCATION_ADDRESS + 50
228 229
 #define RGB7_LOCATION_ADDRESS        RGB6_LOCATION_ADDRESS + 50
229 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 135
              else
136 136
                  return;
137 137
              break;
138
-         
139 138
          default:break;
140 139
     }
141 140
 }
@@ -228,7 +227,7 @@ void RGB_Alarm_Operate(void){
228 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 231
         HAL_GPIO_WritePin(LED_ALARM_GPIO_Port, LED_ALARM_Pin, GPIO_PIN_RESET); //표지 LED
233 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 255
     RGB_Data_Stack(&LED_Alarm[1]);
257 256
     if(Prev_Alarm_occur != Alarm_occur){
258
-//         LoraDataSendSet(1);
257
+//         LoraDataSendSet(LoraTx_mode);//경고 발생 시 바로 Data 전송 하는 Option
259 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 656
     RGB_Alarm_Operate();//LED ALARM CHECK
657 657
     if(LoraDataSendGet() == LoraTx_mode){
658
-//        LoraDataSendSet(0);
658
+//        LoraDataSendSet(LoraRx_mode);
659 659
         memcpy(&buffer[0],&Lora_Buf[0],LORA_MAX_DATA_CNT);
660 660
         message_length = Lora_Max_Amount + 3;////RGB Data 60byte + stx + etx + crc
661 661
         ret = SX1276_LoRaEntryTx(&SX1276, message_length, 2000);
@@ -664,7 +664,7 @@ int main(void)
664 664
 //        for(uint8_t i = 0; i < sizeof(LoraDataRequest_t); i++)
665 665
 //            printf("%02x ",buffer[i]);
666 666
 //        printf("\n");
667
-        LoraDataSendSet(0);
667
+        LoraDataSendSet(LoraRx_mode);
668 668
         ret = SX1276_LoRaEntryRx(&SX1276, LORA_MAX_DATA_CNT, 2000);
669 669
     }else{
670 670
            ret = SX1276_LoRaRxPacket(&SX1276);