Index: firmware/App/Tasks/TaskBG.c =================================================================== diff -u -r84f337383202622f14cd6148e26bab8f68333847 -r893caf9f58a08a2bd31068806e09603041d64add --- firmware/App/Tasks/TaskBG.c (.../TaskBG.c) (revision 84f337383202622f14cd6148e26bab8f68333847) +++ firmware/App/Tasks/TaskBG.c (.../TaskBG.c) (revision 893caf9f58a08a2bd31068806e09603041d64add) @@ -5,36 +5,16 @@ * Author: fw */ -#include "CommBuffers.h" -#include "NVDataMgmt.h" +#include "Download.h" +#include "TaskBG.h" void taskBackground( void ) { #ifndef _VECTORCAST_ // Cannot have infinite loop in unit test tool while ( 1 ) #endif { - SW_UPDATE_BUFFER_STATUS_T bufferStatus; - - getSWUpdateBufferStatus( &bufferStatus ); - - if ( ( TRUE == bufferStatus.isSWUpdateBufferReady ) && ( UPDATE_FIRMWARE == bufferStatus.dest ) ) - { - _disable_IRQ(); - U08 dataToWriteToFlash[ SW_UPDATE_FLASH_BUFFER_SIZE ]; - ACK_NACK_STATUS_T ackNackStatus; - - BOOL status = FALSE; - - getSWUpdateBuffer( dataToWriteToFlash ); - - status = handleUpdatingFlash( dataToWriteToFlash ); - _enable_IRQ(); - - ackNackStatus = ( TRUE == status ? ACK : NACK ); - sendAckNackStatusFromFirmware( ackNackStatus, SW_UPDATE_TD_UPDATE ); - clearSWUpdateBuffer( SW_UPDATE_TD_UPDATE ); - } + execDownload(); } }