|
@@ -13,31 +13,31 @@ uint16_t updatecnt = 0;
|
13
|
13
|
#define Bluecell_BootStart 0x0b
|
14
|
14
|
|
15
|
15
|
|
|
16
|
+uint8_t BootStartdata[6] = {0xbe,Bluecell_BootStart,0x03,4,0,0xeb};
|
16
|
17
|
void Firmware_BootStart_Signal(){
|
17
|
|
- uint8_t bootdata[5] = {0xbe,Bluecell_BootStart,0x02,0,0xeb};
|
18
|
|
- bootdata[bluecell_crc] = STH30_CreateCrc(&bootdata[bluecell_type],bootdata[bluecell_length]);
|
19
|
|
- Uart1_Data_Send(&bootdata[bluecell_stx],bootdata[bluecell_length] + 3);
|
|
18
|
+ BootStartdata[bluecell_crc] = STH30_CreateCrc(&BootStartdata[bluecell_type],BootStartdata[bluecell_length]);
|
|
19
|
+ Uart1_Data_Send(&BootStartdata[bluecell_stx],BootStartdata[bluecell_length] + 3);
|
20
|
20
|
}
|
21
|
21
|
|
|
22
|
+ uint8_t AckData_Buf[6] = {0xbe,FirmwareUpdataAck,0x03,5,0,0xbe};
|
22
|
23
|
void FirmwareUpdateStart(uint8_t* data){
|
23
|
24
|
uint8_t ret = 0,crccheck = 0;
|
24
|
|
- uint8_t tempdata[5] = {0xbe,FirmwareUpdataAck,0x02,0,0xbe};
|
25
|
25
|
crccheck = STH30_CheckCrc(&data[bluecell_type],data[bluecell_length],data[data[bluecell_length] + 1]);
|
26
|
26
|
if(crccheck == NO_ERROR){
|
27
|
|
- tempdata[bluecell_type] = FirmwareUpdataAck;
|
|
27
|
+ AckData_Buf[bluecell_type] = FirmwareUpdataAck;
|
28
|
28
|
if(data[bluecell_type] == 0xDD || data[bluecell_type] == 0xEE)//Start Firmware byte
|
29
|
29
|
ret = Flash_write(&data[0]);
|
30
|
30
|
if(ret == 1)
|
31
|
|
- tempdata[bluecell_type] = FirmwareUpdataNak;
|
|
31
|
+ AckData_Buf[bluecell_type] = FirmwareUpdataNak;
|
32
|
32
|
}else{
|
33
|
33
|
for(uint8_t i = 0; i < data[bluecell_length] + 3; i++)
|
34
|
34
|
printf("%02x ",data[i]);
|
35
|
35
|
printf("Check Sum error \n");
|
36
|
|
- tempdata[bluecell_type] = FirmwareUpdataNak;
|
|
36
|
+ AckData_Buf[bluecell_type] = FirmwareUpdataNak;
|
37
|
37
|
}
|
38
|
|
- tempdata[bluecell_crc] = STH30_CreateCrc(&tempdata[bluecell_type],tempdata[bluecell_length]);
|
|
38
|
+ AckData_Buf[bluecell_crc] = STH30_CreateCrc(&AckData_Buf[bluecell_type],AckData_Buf[bluecell_length]);
|
39
|
39
|
if(data[bluecell_type] != 0xEE && data[bluecell_type] != Bluecell_Reset){
|
40
|
|
- Uart1_Data_Send(&tempdata[bluecell_stx],tempdata[bluecell_length] + 3);
|
|
40
|
+ Uart1_Data_Send(&AckData_Buf[bluecell_stx],AckData_Buf[bluecell_length] + 3);
|
41
|
41
|
}
|
42
|
42
|
if(data[bluecell_type] == 0xEE)
|
43
|
43
|
printf("update Complete \n");
|