Browse Source

SelfTest 저장하도록 수정 / Status 변경시 EEPROM 저장하도록 수정

PYJ 5 years ago
parent
commit
d5174ffbb0
4 changed files with 95 additions and 56 deletions
  1. 1 1
      Bluecell_Inc/Bluecell_operate.h
  2. 51 12
      Bluecell_Src/Bluecell_operate.c
  3. 42 42
      STM32F103ZET_JDASMBIC.elf.launch
  4. 1 1
      Src/main.c

+ 1 - 1
Bluecell_Inc/Bluecell_operate.h

@@ -462,10 +462,10 @@ typedef struct{
462
     uint8_t bluecell_type;
462
     uint8_t bluecell_type;
463
     uint8_t bluecell_length;
463
     uint8_t bluecell_length;
464
     uint8_t bluecell_crcindex;
464
     uint8_t bluecell_crcindex;
465
-    uint8_t Selftest0;
466
     uint8_t Selftest1;
465
     uint8_t Selftest1;
467
     uint8_t Selftest2;
466
     uint8_t Selftest2;
468
     uint8_t Selftest3;
467
     uint8_t Selftest3;
468
+    uint8_t Selftest4;
469
     uint8_t ATT_DL1_PATH;
469
     uint8_t ATT_DL1_PATH;
470
     uint8_t ATT_DL2_PATH;
470
     uint8_t ATT_DL2_PATH;
471
     uint8_t ATT_DL3_PATH;
471
     uint8_t ATT_DL3_PATH;

+ 51 - 12
Bluecell_Src/Bluecell_operate.c

@@ -1071,6 +1071,7 @@ bool Bluecell_Operate(uint8_t* data){
1071
             HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1071
             HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1072
             HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1072
             HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1073
         }
1073
         }
1074
+        bluecell_Prevdatastatus.Selftest1 = data[BLUECELL_DATA];
1074
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1075
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1075
 		break;
1076
 		break;
1076
 	case ATT_DL2_PATH		 :
1077
 	case ATT_DL2_PATH		 :
@@ -1103,6 +1104,7 @@ bool Bluecell_Operate(uint8_t* data){
1103
             HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1104
             HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1104
             HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1105
             HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1105
         }
1106
         }
1107
+        bluecell_Prevdatastatus.Selftest2 = data[BLUECELL_DATA];
1106
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1108
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1107
 		break;
1109
 		break;
1108
 	case ATT_DL3_PATH :
1110
 	case ATT_DL3_PATH :
@@ -1138,6 +1140,7 @@ bool Bluecell_Operate(uint8_t* data){
1138
             HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1140
             HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1139
             HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1141
             HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1140
         }
1142
         }
1143
+        bluecell_Prevdatastatus.Selftest3 = data[BLUECELL_DATA];
1141
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1144
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1142
 		break;
1145
 		break;
1143
 	case ATT_DL4_PATH :
1146
 	case ATT_DL4_PATH :
@@ -1172,6 +1175,7 @@ bool Bluecell_Operate(uint8_t* data){
1172
 	    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1175
 	    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1173
 	    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1176
 	    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1174
 	  }
1177
 	  }
1178
+      bluecell_Prevdatastatus.Selftest4 = data[BLUECELL_DATA];
1175
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1179
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1176
 		break;
1180
 		break;
1177
     case ALC1_EN :
1181
     case ALC1_EN :
@@ -1323,6 +1327,10 @@ bool Bluecell_Operate(uint8_t* data){
1323
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1327
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1324
         break;
1328
         break;
1325
   }
1329
   }
1330
+  if(datatype != Bluecell_StatusReq){
1331
+      Bluecell_StructCpy(&DataWrite[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
1332
+      EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE),&DataWrite[0],sizeof(BLUESTATUS_st));
1333
+  }
1326
   return true;
1334
   return true;
1327
 }
1335
 }
1328
 void DataStatusSet(void){
1336
 void DataStatusSet(void){
@@ -1330,10 +1338,10 @@ void DataStatusSet(void){
1330
         bluecell_Currdatastatus.bluecell_type = Bluecell_StatusReq;
1338
         bluecell_Currdatastatus.bluecell_type = Bluecell_StatusReq;
1331
         bluecell_Currdatastatus.bluecell_length = sizeof(bluecell_Currdatastatus) - 3;    
1339
         bluecell_Currdatastatus.bluecell_length = sizeof(bluecell_Currdatastatus) - 3;    
1332
         bluecell_Currdatastatus.bluecell_crcindex = sizeof(bluecell_Currdatastatus) - 2 + 1;    
1340
         bluecell_Currdatastatus.bluecell_crcindex = sizeof(bluecell_Currdatastatus) - 2 + 1;    
1333
-        bluecell_Currdatastatus.Selftest0 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin);
1334
-        bluecell_Currdatastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin);
1335
-        bluecell_Currdatastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin);
1336
-        bluecell_Currdatastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin);
1341
+        bluecell_Currdatastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin);
1342
+        bluecell_Currdatastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin);
1343
+        bluecell_Currdatastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin);
1344
+        bluecell_Currdatastatus.Selftest4 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin);
1337
         bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin);//CLOCK;
1345
         bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin);//CLOCK;
1338
         bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin);//CLOCK;
1346
         bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin);//CLOCK;
1339
         bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin);//CLOCK;
1347
         bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin);//CLOCK;
@@ -1343,6 +1351,9 @@ void DataStatusSet(void){
1343
         bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
1351
         bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
1344
         bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
1352
         bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
1345
         bluecell_Currdatastatus.bluecell_etx = 0xeb;
1353
         bluecell_Currdatastatus.bluecell_etx = 0xeb;
1354
+             
1355
+        
1356
+     
1346
         /*bluecell_Currdatastatus.ATT_AGC1_ONOFF;
1357
         /*bluecell_Currdatastatus.ATT_AGC1_ONOFF;
1347
         bluecell_Currdatastatus.ATT_ALC1_ONOFF;
1358
         bluecell_Currdatastatus.ATT_ALC1_ONOFF;
1348
         bluecell_Currdatastatus.ATT_AGC2_ONOFF;
1359
         bluecell_Currdatastatus.ATT_AGC2_ONOFF;
@@ -1369,17 +1380,17 @@ void DataStatusSet(void){
1369
         bluecell_Currdatastatus.ATT_ALC4_MAX_L;  */
1380
         bluecell_Currdatastatus.ATT_ALC4_MAX_L;  */
1370
 }
1381
 }
1371
  void Bluecell_DataInit(){
1382
  void Bluecell_DataInit(){
1372
-    HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest0   );     
1373
-    HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest0   );     
1383
+    HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest1   );     
1384
+    HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest1   );     
1374
     
1385
     
1375
-    HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest1   );     
1376
-    HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest1   );     
1386
+    HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest2   );     
1387
+    HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest2   );     
1377
     
1388
     
1378
-    HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest2   );     
1379
-    HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest2   );     
1389
+    HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest3   );     
1390
+    HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest3   );     
1380
     
1391
     
1381
-    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest3   );     
1382
-    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest3   );     
1392
+    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest4   );     
1393
+    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest4   );     
1383
 
1394
 
1384
 
1395
 
1385
     
1396
     
@@ -1396,6 +1407,34 @@ void DataStatusSet(void){
1396
 
1407
 
1397
 
1408
 
1398
     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1409
     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1410
+    if(bluecell_Currdatastatus.Selftest1==0){
1411
+        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1412
+        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1413
+    }else{
1414
+        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1415
+        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1416
+    }
1417
+    if(bluecell_Currdatastatus.Selftest2=0){
1418
+        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1419
+        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1420
+    }else{
1421
+        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1422
+        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1423
+    }
1424
+    if(bluecell_Currdatastatus.Selftest3=0){
1425
+        HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1426
+        HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1427
+    }else{
1428
+        HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1429
+        HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1430
+    }
1431
+    if(bluecell_Currdatastatus.Selftest4=0){
1432
+        HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1433
+        HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1434
+    }else{
1435
+        HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1436
+        HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1437
+    }
1399
 
1438
 
1400
 
1439
 
1401
     DataStatusSet();
1440
     DataStatusSet();

File diff suppressed because it is too large
+ 42 - 42
STM32F103ZET_JDASMBIC.elf.launch


+ 1 - 1
Src/main.c

@@ -117,7 +117,7 @@ uint16_t adc3cnt = 0 ;
117
 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
117
 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
118
 {
118
 {
119
 //?��?��?�� 코드 ?��?��
119
 //?��?��?�� 코드 ?��?��
120
-//諤嵸烄 ?嚙踝蕭?嚙踝蕭 adc?嚙踝蕭嚙??? 嚙????嚙踝蕭?嚙踝蕭 ?嚙踝蕭 ?嚙踝蕭?嚙踝蕭嚙??? ?嚙踝蕭?嚙踝蕭嚙??? ?嚙踝蕭?嚙踝蕭?? 穈軤𦚯 魽國探嚙??? ?嚙踝蕭?嚙踝蕭
120
+//만약 ?��?�� adc?���??? �????��?�� ?�� ?��?���??? ?��?���??? ?��?��?? 같이 조건�??? ?��?��
121
 
121
 
122
     if(hadc->Instance == hadc1.Instance)
122
     if(hadc->Instance == hadc1.Instance)
123
     {
123
     {