Merge pull request #814 from zhitaoh/fix-nrf-zero-temp-read

fix temperature sensor reading in nrf52dk platform, which was stuck a…
This commit is contained in:
George Oikonomou 2019-01-11 13:12:56 +00:00 committed by GitHub
commit e2c0964091
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -64,7 +64,16 @@ static int
value(int type)
{
#ifndef SOFTDEVICE_PRESENT
return nrf_temp_read();
int32_t volatile temp;
NRF_TEMP->TASKS_START = 1;
/* nRF52832 datasheet: one temperature measurement takes typically 36 us */
RTIMER_BUSYWAIT_UNTIL(NRF_TEMP->EVENTS_DATARDY, RTIMER_SECOND * 72 / 1000000);
NRF_TEMP->EVENTS_DATARDY = 0;
temp = nrf_temp_read();
NRF_TEMP->TASKS_STOP = 1;
return temp;
#else
int32_t temp;
sd_temp_get(&temp);