/* * TaskBG.c * * Created on: Jul 31, 2024 * Author: fw */ #include "CommBuffers.h" static SW_UPDATE_BUFFER_STATUS_T bufferStatus; void taskBackground( void ) { #ifndef _VECTORCAST_ // Cannot have infinite loop in unit test tool while ( 1 ) #endif { getSWUpdateBufferStatus( &bufferStatus ); if ( ( TRUE == bufferStatus.isSWUpdateBufferReady ) && ( UPDATE_FIRMWARE == bufferStatus.dest ) ) { U08 dataToWriteToFlash[ SW_UPDATE_FLASH_BUFFER_SIZE ]; getSWUpdateBuffer( dataToWriteToFlash ); // TODO prepare for a write to NV // TODO Disable/enable irq and fiq // TODO get ack/nack from NV data sendAckNackStatusFromFirmware( ACK, FALSE ); clearSWUpdateBuffer( FALSE ); //_disable_FIQ(); //_enable_FIQ(); } } }