comparison Discovery/Src/tComm.c @ 467:5387e684d797 Improve_Logtansfer

Cmd Get profile: transmit dummy profile if necessary In previous version a invalid profile was identified by a deleted profile information in the header. This was now replaced by checking the modified OSTC header for usage of dummy profile data
author ideenmodellierer
date Tue, 14 Apr 2020 19:29:23 +0200
parents 05c5c3d10902
children 0ad0b26ec56b
comparison
equal deleted inserted replaced
466:538eb1c976e9 467:5387e684d797
588 uint8_t count; 588 uint8_t count;
589 uint8_t aTxBuffer[128]; 589 uint8_t aTxBuffer[128];
590 uint8_t aRxBuffer[68]; 590 uint8_t aRxBuffer[68];
591 uint8_t answer; 591 uint8_t answer;
592 uint16_t index; 592 uint16_t index;
593 uint32_t header_profileLength, OSTC3_profileLength;
593 aTxBuffer[0] = type; 594 aTxBuffer[0] = type;
594 aTxBuffer[1] = prompt4D4C(receiveStartByteUart); 595 aTxBuffer[1] = prompt4D4C(receiveStartByteUart);
595 uint8_t tempHigh, tempLow; 596 uint8_t tempHigh, tempLow;
596 count = 0; 597 count = 0;
597 598
1229 logbook_getHeader(255 - aRxBuffer[0], &logbookHeader); 1230 logbook_getHeader(255 - aRxBuffer[0], &logbookHeader);
1230 plogbookHeaderOSTC3 = logbook_build_ostc3header(&logbookHeader); 1231 plogbookHeaderOSTC3 = logbook_build_ostc3header(&logbookHeader);
1231 if(HAL_UART_Transmit(&UartHandle, (uint8_t*)plogbookHeaderOSTC3, 256,5000)!= HAL_OK) 1232 if(HAL_UART_Transmit(&UartHandle, (uint8_t*)plogbookHeaderOSTC3, 256,5000)!= HAL_OK)
1232 return 0; 1233 return 0;
1233 1234
1234 if((logbookHeader.pBeginProfileData[0]==0) /* no sample information */ 1235 OSTC3_profileLength = (plogbookHeaderOSTC3->profileLength[2] << 16) + (plogbookHeaderOSTC3->profileLength[1] << 8)
1235 && (logbookHeader.pBeginProfileData[1]==0) 1236 + plogbookHeaderOSTC3->profileLength[0] -3;
1236 && (logbookHeader.pBeginProfileData[2]==0)) 1237 header_profileLength = (logbookHeader.profileLength[2] << 16) + (logbookHeader.profileLength[1] << 8) + logbookHeader.profileLength[0];
1238
1239 if(OSTC3_profileLength != header_profileLength) /* has headerdata been changed to dummy data? */
1237 { 1240 {
1238 sampleTotalLength = logbook_fillDummySampleBuffer(&logbookHeader); 1241 sampleTotalLength = logbook_fillDummySampleBuffer(&logbookHeader);
1239 while(sampleTotalLength >= 128) 1242 while(sampleTotalLength >= 128)
1240 { 1243 {
1241 logbook_readDummySamples(aTxBuffer,128); 1244 logbook_readDummySamples(aTxBuffer,128);
1247 { 1250 {
1248 logbook_readDummySamples(aTxBuffer,sampleTotalLength); 1251 logbook_readDummySamples(aTxBuffer,sampleTotalLength);
1249 if(HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer, sampleTotalLength,5000)!= HAL_OK) 1252 if(HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer, sampleTotalLength,5000)!= HAL_OK)
1250 return 0; 1253 return 0;
1251 } 1254 }
1252
1253 } 1255 }
1254 else 1256 else
1255 { 1257 {
1256 ext_flash_open_read_sample(255 - aRxBuffer[0], &sampleTotalLength); 1258 ext_flash_open_read_sample(255 - aRxBuffer[0], &sampleTotalLength);
1257 while(sampleTotalLength >= 128) 1259 while(sampleTotalLength >= 128)