FDS write 콜백 무한 대기 조건 변경
- fstorage.c: FDS write 콜백 무한 대기 -> 3초 타임아웃
This commit is contained in:
@@ -244,6 +244,7 @@ void config_load( void )
|
|||||||
fds_record_desc_t desc = { 0 };
|
fds_record_desc_t desc = { 0 };
|
||||||
fds_find_token_t tok = { 0 };
|
fds_find_token_t tok = { 0 };
|
||||||
uint8_t cfg_retry = 0;
|
uint8_t cfg_retry = 0;
|
||||||
|
uint32_t fds_wait_cnt = 0; // FDS write 대기 카운터
|
||||||
|
|
||||||
cfg_load_start:
|
cfg_load_start:
|
||||||
memset((char *)&desc, 0, sizeof(desc));
|
memset((char *)&desc, 0, sizeof(desc));
|
||||||
@@ -330,9 +331,19 @@ void config_load( void )
|
|||||||
fds_flag_write = false;
|
fds_flag_write = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
while( fds_flag_write )
|
fds_wait_cnt = 0; //
|
||||||
|
|
||||||
|
while(fds_flag_write && fds_wait_cnt < 3000) // FDS write 최대 3초 타임아웃
|
||||||
{
|
{
|
||||||
nrf_pwr_mgmt_run();
|
nrf_pwr_mgmt_run();
|
||||||
|
nrf_delay_ms(1);
|
||||||
|
fds_wait_cnt++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(fds_flag_write) // FDS write 타임아웃 시 플래그 강제 해제
|
||||||
|
{
|
||||||
|
DBG_PRINTF("[FDS] write TIMEOUT! forcing flag clear\r\n");
|
||||||
|
fds_flag_write = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( (rc != NRF_SUCCESS) && (rc == FDS_ERR_NO_SPACE_IN_FLASH) )
|
if( (rc != NRF_SUCCESS) && (rc == FDS_ERR_NO_SPACE_IN_FLASH) )
|
||||||
|
|||||||
Reference in New Issue
Block a user