Esp32 ULP/RTC time drift
Posted: Sat May 02, 2020 6:40 pm
Hi,
I have written a simple ULP program which takes BME280 I2C data and the sample time by querying the RTC registers and saves it into a buffer in RTC memory. After having collected 180 samples, it wakes up the ESP32 in order to copy these samples from RTC memory to SPIFFS. While copying the data I print all the sampled values and I see that sometimes the rtc timestamps skips a sample (the ULP program is scheduled to run every second, debug output is below, the drift happens at 17:52:38). I double checked all the time functions to record the data and to print the values and they seem to be correct (I attach them below). Has anybody experienced also this drift in its ULP code ? I strongly doubt that it's RTC drift since it happens only after 1:06 mins since last NTP synchronization.
ULP code to sample RTC value
C++ code to convert RTC raw value to printable text (parts borrowed from ESP-IDF framework)
Debug output of the program
I have written a simple ULP program which takes BME280 I2C data and the sample time by querying the RTC registers and saves it into a buffer in RTC memory. After having collected 180 samples, it wakes up the ESP32 in order to copy these samples from RTC memory to SPIFFS. While copying the data I print all the sampled values and I see that sometimes the rtc timestamps skips a sample (the ULP program is scheduled to run every second, debug output is below, the drift happens at 17:52:38). I double checked all the time functions to record the data and to print the values and they seem to be correct (I attach them below). Has anybody experienced also this drift in its ULP code ? I strongly doubt that it's RTC drift since it happens only after 1:06 mins since last NTP synchronization.
ULP code to sample RTC value
Code: Select all
move R2,sdata
// READ RTC 48 bit counter
WRITE_RTC_FIELD(RTC_CNTL_TIME_UPDATE_REG, RTC_CNTL_TIME_UPDATE, 1)
waitSampleRtc:
READ_RTC_FIELD(RTC_CNTL_TIME_UPDATE_REG, RTC_CNTL_TIME_VALID)
jumpr waitSampleRtc, 0, EQ
READ_RTC_REG(RTC_CNTL_TIME1_REG, 0, 16) //[47:32]
st R0,R2,0 // sdata[0]
READ_RTC_REG(RTC_CNTL_TIME0_REG, 16, 16) //[31:16]
st R0,R2,4*1 // sdata[1]
READ_RTC_REG(RTC_CNTL_TIME0_REG, 0, 16) //[15:0]
st R0,R2,4*2 // sdata[2]
C++ code to convert RTC raw value to printable text (parts borrowed from ESP-IDF framework)
Code: Select all
uint32_t *sdata=&ulp_sdata;
for (int i=0;i<MAX_BME280_SAMPLES;i++) {
int offset=i*8;
uint64_t rawTimestamp=(((uint64_t) (sdata[offset+0]&0xFFFF))<<32)|((sdata[offset+1]&0xFFFF)<<16)|(sdata[offset+2]&0xFFFF);
// ntpSynchedTime is the number of seconds returned from a NTP, synched at the boot of ESP32 before starting the ulp program
// rtcOffset is the RTC clock value just following the assignment of ntpSynchedTime variable.
uint32_t timestamp=(ntpSynchedTime+get_rtc_time_us(rawTimestamp-rtcOffset)/1000000);
// timestamp is printed with TimeToString below
}
char *TimeToString(long timestamp) {
struct tm *timeinfo = localtime(×tamp);
return asctime(timeinfo);
}
void DoNTPSynch() {
SERDBG("Performing NTP query...");
timeClient.begin();
while (!timeClient.update()) {
SERDBG("Could not get time from NTP, retrying...");
delay(100);
}
ntpSynchedTime=timeClient.getEpochTime();
setUnixtime(ntpSynchedTime);
rtcOffset=rtc_time_get();
SERDBG("Successfully set time to %s\n",TimeToString(ntpSynchedTime));
}
static uint32_t esp_clk_slowclk_cal_get(void)
{
return REG_READ(RTC_SLOW_CLK_CAL_REG);
}
static uint64_t get_rtc_time_us(uint64_t ticks)
{
if (ticks==0)
ticks = rtc_time_get();
const uint32_t cal = esp_clk_slowclk_cal_get();
/* RTC counter result is up to 2^48, calibration factor is up to 2^24,
* for a 32kHz clock. We need to calculate (assuming no overflow):
* (ticks * cal) >> RTC_CLK_CAL_FRACT
*
* An overflow in the (ticks * cal) multiplication would cause time to
* wrap around after approximately 13 days, which is probably not enough
* for some applications.
* Therefore multiplication is split into two terms, for the lower 32-bit
* and the upper 16-bit parts of "ticks", i.e.:
* ((ticks_low + 2^32 * ticks_high) * cal) >> RTC_CLK_CAL_FRACT
*/
const uint64_t ticks_low = ticks & UINT32_MAX;
const uint64_t ticks_high = ticks >> 32;
return ((ticks_low * cal) >> RTC_CLK_CAL_FRACT) +
((ticks_high * cal) << (32 - RTC_CLK_CAL_FRACT));
}
Debug output of the program
Code: Select all
19:51:29.483 -> ⸮ets Jun 8 2016 00:22:57
19:51:29.483 ->
19:51:29.483 -> rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
19:51:29.854 -> ets Jun 8 2016 00:22:57
19:51:29.854 ->
19:51:29.854 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
19:51:29.854 -> configsip: 0, SPIWP:0xee
19:51:29.889 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
19:51:29.889 -> mode:DIO, clock div:1
19:51:29.889 -> load:0x3fff0018,len:4
19:51:29.889 -> load:0x3fff001c,len:1044
19:51:29.889 -> load:0x40078000,len:8896
19:51:29.889 -> load:0x40080400,len:5816
19:51:29.889 -> entry 0x400806ac
19:51:30.193 -> EspWeatherSensor starts...
19:51:30.193 -> Initing SPIFFS...
19:51:30.394 -> SPIFFS total 2757KB free 2485KB
19:51:30.394 -> ReadCalibrationData: Read i2c id 60
19:51:30.394 -> BME280 test read RawTemperature 7fc20 Val 22.995354
19:51:30.394 -> BME280 test read RawPressure 483b0 Val 1004.175415
19:51:30.394 -> BME280 test read RawHumidity 82fc Val 65.657318
19:51:30.394 -> BME280 CalibrationData
19:51:30.394 -> --------------
19:51:30.394 -> Dig[0]=eb
19:51:30.394 -> Dig[1]=6d
19:51:30.394 -> Dig[2]=1b
19:51:30.394 -> Dig[3]=67
19:51:30.394 -> Dig[4]=32
19:51:30.394 -> Dig[5]=0
19:51:30.394 -> Dig[6]=59
19:51:30.394 -> Dig[7]=96
19:51:30.394 -> Dig[8]=7
19:51:30.394 -> Dig[9]=d6
19:51:30.394 -> Dig[10]=d0
19:51:30.427 -> Dig[11]=b
19:51:30.427 -> Dig[12]=34
19:51:30.427 -> Dig[13]=20
19:51:30.427 -> Dig[14]=b3
19:51:30.427 -> Dig[15]=ff
19:51:30.427 -> Dig[16]=f9
19:51:30.427 -> Dig[17]=ff
19:51:30.427 -> Dig[18]=c
19:51:30.427 -> Dig[19]=30
19:51:30.427 -> Dig[20]=20
19:51:30.427 -> Dig[21]=d1
19:51:30.427 -> Dig[22]=88
19:51:30.427 -> Dig[23]=13
19:51:30.427 -> Dig[24]=0
19:51:30.427 -> Dig[25]=63
19:51:30.427 -> Dig[26]=1
19:51:30.427 -> Dig[27]=0
19:51:30.427 -> Dig[28]=15
19:51:30.427 -> Dig[29]=20
19:51:30.427 -> Dig[30]=3
19:51:30.427 -> Dig[31]=1e
19:51:30.427 -> Attempting to connect to WPA SSID: Telecom-2G
19:51:31.000 -> Status=3
19:51:31.000 -> Performing NTP query...
19:51:31.068 -> Successfully set time to Sat May 2 17:51:31 2020
19:51:31.068 ->
19:51:31.068 -> init_run_ulp starts...
19:51:31.068 -> init_run_ulp ends
19:51:31.068 -> start_ulp_program starts...
19:51:31.068 -> start_ulp_program ends...
19:54:31.609 -> ets Jun 8 2016 00:22:57
19:54:31.609 ->
19:54:31.609 -> rst:0x5 (DEEPSLEEP_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
19:54:31.609 -> configsip: 0, SPIWP:0xee
19:54:31.609 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
19:54:31.643 -> mode:DIO, clock div:1
19:54:31.643 -> load:0x3fff0018,len:4
19:54:31.643 -> load:0x3fff001c,len:1044
19:54:31.643 -> load:0x40078000,len:8896
19:54:31.643 -> load:0x40080400,len:5816
19:54:31.643 -> entry 0x400806ac
19:54:31.920 -> Deep sleep wakeup from ULP
19:54:31.920 -> SampleCount 180
19:54:31.920 -> AppendToSPIFFS starts Sat May 2 17:54:32 2020
19:54:31.920 ->
19:54:31.920 -> Finished copying 180 samples from RTC memory
19:54:32.226 -> SPIWrite Sample 0 Time Sat May 2 17:51:31 2020
19:54:32.226 -> T 22.995 H 65.663 P 1004.149
19:54:32.260 -> SPIWrite Sample 1 Time Sat May 2 17:51:32 2020
19:54:32.260 -> T 23.010 H 66.199 P 1004.175
19:54:32.260 -> SPIWrite Sample 2 Time Sat May 2 17:51:33 2020
19:54:32.260 -> T 23.005 H 66.237 P 1004.244
19:54:32.260 -> SPIWrite Sample 3 Time Sat May 2 17:51:34 2020
19:54:32.260 -> T 23.010 H 65.901 P 1004.227
19:54:32.260 -> SPIWrite Sample 4 Time Sat May 2 17:51:35 2020
19:54:32.260 -> T 23.005 H 65.879 P 1004.244
19:54:32.260 -> SPIWrite Sample 5 Time Sat May 2 17:51:36 2020
19:54:32.260 -> T 23.010 H 66.419 P 1004.227
19:54:32.294 -> SPIWrite Sample 6 Time Sat May 2 17:51:37 2020
19:54:32.294 -> T 23.000 H 66.138 P 1004.132
19:54:32.294 -> SPIWrite Sample 7 Time Sat May 2 17:51:38 2020
19:54:32.294 -> T 23.010 H 66.105 P 1004.227
19:54:32.294 -> SPIWrite Sample 8 Time Sat May 2 17:51:39 2020
19:54:32.294 -> T 23.010 H 65.995 P 1004.201
19:54:32.294 -> SPIWrite Sample 9 Time Sat May 2 17:51:40 2020
19:54:32.294 -> T 23.010 H 66.127 P 1004.175
19:54:32.294 -> SPIWrite Sample 10 Time Sat May 2 17:51:41 2020
19:54:32.294 -> T 23.000 H 65.922 P 1004.236
19:54:32.294 -> SPIWrite Sample 11 Time Sat May 2 17:51:42 2020
19:54:32.328 -> T 23.000 H 66.016 P 1004.210
19:54:32.328 -> SPIWrite Sample 12 Time Sat May 2 17:51:43 2020
19:54:32.328 -> T 23.000 H 65.939 P 1004.236
19:54:32.328 -> SPIWrite Sample 13 Time Sat May 2 17:51:44 2020
19:54:32.328 -> T 22.990 H 65.696 P 1004.167
19:54:32.328 -> SPIWrite Sample 14 Time Sat May 2 17:51:45 2020
19:54:32.328 -> T 23.000 H 65.867 P 1004.236
19:54:32.361 -> SPIWrite Sample 15 Time Sat May 2 17:51:46 2020
19:54:32.361 -> T 23.005 H 65.774 P 1004.218
19:54:32.361 -> SPIWrite Sample 16 Time Sat May 2 17:51:47 2020
19:54:32.361 -> T 23.000 H 65.939 P 1004.236
19:54:32.361 -> SPIWrite Sample 17 Time Sat May 2 17:51:48 2020
19:54:32.361 -> T 23.000 H 65.663 P 1004.184
19:54:32.361 -> SPIWrite Sample 18 Time Sat May 2 17:51:49 2020
19:54:32.395 -> T 23.005 H 66.077 P 1004.244
19:54:32.395 -> SPIWrite Sample 19 Time Sat May 2 17:51:50 2020
19:54:32.395 -> T 23.000 H 65.619 P 1004.210
19:54:32.395 -> SPIWrite Sample 20 Time Sat May 2 17:51:51 2020
19:54:32.395 -> T 23.000 H 65.575 P 1004.262
19:54:32.395 -> SPIWrite Sample 21 Time Sat May 2 17:51:52 2020
19:54:32.395 -> T 23.005 H 65.873 P 1004.192
19:54:32.395 -> SPIWrite Sample 22 Time Sat May 2 17:51:53 2020
19:54:32.395 -> T 23.005 H 65.537 P 1004.192
19:54:32.395 -> SPIWrite Sample 23 Time Sat May 2 17:51:54 2020
19:54:32.428 -> T 23.005 H 65.597 P 1004.244
19:54:32.428 -> SPIWrite Sample 24 Time Sat May 2 17:51:55 2020
19:54:32.428 -> T 22.995 H 65.635 P 1004.149
19:54:32.428 -> SPIWrite Sample 25 Time Sat May 2 17:51:56 2020
19:54:32.428 -> T 23.010 H 65.294 P 1004.201
19:54:32.428 -> SPIWrite Sample 26 Time Sat May 2 17:51:57 2020
19:54:32.428 -> T 22.995 H 65.393 P 1004.175
19:54:32.428 -> SPIWrite Sample 27 Time Sat May 2 17:51:58 2020
19:54:32.428 -> T 23.000 H 65.713 P 1004.236
19:54:32.463 -> SPIWrite Sample 28 Time Sat May 2 17:51:59 2020
19:54:32.463 -> T 23.000 H 65.729 P 1004.210
19:54:32.463 -> SPIWrite Sample 29 Time Sat May 2 17:52:00 2020
19:54:32.463 -> T 23.005 H 65.603 P 1004.192
19:54:32.463 -> SPIWrite Sample 30 Time Sat May 2 17:52:01 2020
19:54:32.463 -> T 23.010 H 65.382 P 1004.253
19:54:32.463 -> SPIWrite Sample 31 Time Sat May 2 17:52:02 2020
19:54:32.463 -> T 23.010 H 65.995 P 1004.149
19:54:32.463 -> SPIWrite Sample 32 Time Sat May 2 17:52:03 2020
19:54:32.463 -> T 23.000 H 65.470 P 1004.236
19:54:32.463 -> SPIWrite Sample 33 Time Sat May 2 17:52:04 2020
19:54:32.497 -> T 23.000 H 65.376 P 1004.184
19:54:32.497 -> SPIWrite Sample 34 Time Sat May 2 17:52:05 2020
19:54:32.497 -> T 23.000 H 65.613 P 1004.184
19:54:32.497 -> SPIWrite Sample 35 Time Sat May 2 17:52:06 2020
19:54:32.497 -> T 23.005 H 65.421 P 1004.192
19:54:32.497 -> SPIWrite Sample 36 Time Sat May 2 17:52:07 2020
19:54:32.497 -> T 23.010 H 65.537 P 1004.201
19:54:32.497 -> SPIWrite Sample 37 Time Sat May 2 17:52:08 2020
19:54:32.497 -> T 23.005 H 65.663 P 1004.192
19:54:32.497 -> SPIWrite Sample 38 Time Sat May 2 17:52:09 2020
19:54:32.531 -> T 23.005 H 65.581 P 1004.192
19:54:32.531 -> SPIWrite Sample 39 Time Sat May 2 17:52:10 2020
19:54:32.531 -> T 23.000 H 65.487 P 1004.184
19:54:32.531 -> SPIWrite Sample 40 Time Sat May 2 17:52:11 2020
19:54:32.531 -> T 23.000 H 65.619 P 1004.158
19:54:32.531 -> SPIWrite Sample 41 Time Sat May 2 17:52:12 2020
19:54:32.531 -> T 23.010 H 65.675 P 1004.253
19:54:32.531 -> SPIWrite Sample 42 Time Sat May 2 17:52:13 2020
19:54:32.531 -> T 23.010 H 65.918 P 1004.149
19:54:32.565 -> SPIWrite Sample 43 Time Sat May 2 17:52:14 2020
19:54:32.565 -> T 23.005 H 65.730 P 1004.192
19:54:32.565 -> SPIWrite Sample 44 Time Sat May 2 17:52:15 2020
19:54:32.565 -> T 23.005 H 65.625 P 1004.192
19:54:32.565 -> SPIWrite Sample 45 Time Sat May 2 17:52:16 2020
19:54:32.565 -> T 23.010 H 65.906 P 1004.201
19:54:32.565 -> SPIWrite Sample 46 Time Sat May 2 17:52:17 2020
19:54:32.565 -> T 23.015 H 65.576 P 1004.235
19:54:32.565 -> SPIWrite Sample 47 Time Sat May 2 17:52:18 2020
19:54:32.565 -> T 23.010 H 65.697 P 1004.175
19:54:32.598 -> SPIWrite Sample 48 Time Sat May 2 17:52:19 2020
19:54:32.598 -> T 23.021 H 65.554 P 1004.217
19:54:32.598 -> SPIWrite Sample 49 Time Sat May 2 17:52:20 2020
19:54:32.598 -> T 23.005 H 65.663 P 1004.218
19:54:32.598 -> SPIWrite Sample 50 Time Sat May 2 17:52:21 2020
19:54:32.598 -> T 23.010 H 65.686 P 1004.279
19:54:32.598 -> SPIWrite Sample 51 Time Sat May 2 17:52:22 2020
19:54:32.598 -> T 23.005 H 65.647 P 1004.218
19:54:32.598 -> SPIWrite Sample 52 Time Sat May 2 17:52:23 2020
19:54:32.598 -> T 23.015 H 65.802 P 1004.209
19:54:32.631 -> SPIWrite Sample 53 Time Sat May 2 17:52:24 2020
19:54:32.631 -> T 23.000 H 65.751 P 1004.210
19:54:32.631 -> SPIWrite Sample 54 Time Sat May 2 17:52:25 2020
19:54:32.631 -> T 23.010 H 65.846 P 1004.175
19:54:32.631 -> SPIWrite Sample 55 Time Sat May 2 17:52:26 2020
19:54:32.631 -> T 23.000 H 65.939 P 1004.236
19:54:32.631 -> SPIWrite Sample 56 Time Sat May 2 17:52:27 2020
19:54:32.631 -> T 23.021 H 65.819 P 1004.191
19:54:32.631 -> SPIWrite Sample 57 Time Sat May 2 17:52:28 2020
19:54:32.665 -> T 23.000 H 65.602 P 1004.236
19:54:32.665 -> SPIWrite Sample 58 Time Sat May 2 17:52:29 2020
19:54:32.665 -> T 23.010 H 65.653 P 1004.149
19:54:32.665 -> SPIWrite Sample 59 Time Sat May 2 17:52:30 2020
19:54:32.665 -> T 23.010 H 65.697 P 1004.201
19:54:32.665 -> SPIWrite Sample 60 Time Sat May 2 17:52:31 2020
19:54:32.665 -> T 23.010 H 66.171 P 1004.175
19:54:32.665 -> SPIWrite Sample 61 Time Sat May 2 17:52:32 2020
19:54:32.665 -> T 23.005 H 65.873 P 1004.166
19:54:32.665 -> SPIWrite Sample 62 Time Sat May 2 17:52:33 2020
19:54:32.699 -> T 23.010 H 66.089 P 1004.201
19:54:32.699 -> SPIWrite Sample 63 Time Sat May 2 17:52:34 2020
19:54:32.699 -> T 23.010 H 65.862 P 1004.149
19:54:32.699 -> SPIWrite Sample 64 Time Sat May 2 17:52:35 2020
19:54:32.699 -> T 23.005 H 65.526 P 1004.192
19:54:32.699 -> SPIWrite Sample 65 Time Sat May 2 17:52:36 2020
19:54:32.699 -> T 23.005 H 65.752 P 1004.192
19:54:32.699 -> SPIWrite Sample 66 Time Sat May 2 17:52:38 2020 // TIME DRIFT 1 SEC!!
19:54:32.699 -> T 23.000 H 65.873 P 1004.184
19:54:32.699 -> SPIWrite Sample 67 Time Sat May 2 17:52:39 2020
19:54:32.699 -> T 23.005 H 65.658 P 1004.140
19:54:32.732 -> SPIWrite Sample 68 Time Sat May 2 17:52:40 2020
19:54:32.732 -> T 23.000 H 65.387 P 1004.210
19:54:32.732 -> SPIWrite Sample 69 Time Sat May 2 17:52:41 2020
19:54:32.732 -> T 23.005 H 65.355 P 1004.166
19:54:32.732 -> SPIWrite Sample 70 Time Sat May 2 17:52:42 2020
19:54:32.732 -> T 23.005 H 65.355 P 1004.192
19:54:32.732 -> SPIWrite Sample 71 Time Sat May 2 17:52:43 2020
19:54:32.732 -> T 23.010 H 65.167 P 1004.201
19:54:32.732 -> SPIWrite Sample 72 Time Sat May 2 17:52:44 2020
19:54:32.766 -> T 23.010 H 65.234 P 1004.149
19:54:32.766 -> SPIWrite Sample 73 Time Sat May 2 17:52:45 2020
19:54:32.766 -> T 23.005 H 65.344 P 1004.140
19:54:32.766 -> SPIWrite Sample 74 Time Sat May 2 17:52:46 2020
19:54:32.766 -> T 23.010 H 65.300 P 1004.175
19:54:32.766 -> SPIWrite Sample 75 Time Sat May 2 17:52:47 2020
19:54:32.766 -> T 23.015 H 65.587 P 1004.209
19:54:32.766 -> SPIWrite Sample 76 Time Sat May 2 17:52:48 2020
19:54:32.766 -> T 22.995 H 65.100 P 1004.228
19:54:32.766 -> SPIWrite Sample 77 Time Sat May 2 17:52:49 2020
19:54:32.799 -> T 23.010 H 65.151 P 1004.227
19:54:32.799 -> SPIWrite Sample 78 Time Sat May 2 17:52:50 2020
19:54:32.799 -> T 23.010 H 65.465 P 1004.175
19:54:32.799 -> SPIWrite Sample 79 Time Sat May 2 17:52:51 2020
19:54:32.799 -> T 23.015 H 65.532 P 1004.209
19:54:32.799 -> SPIWrite Sample 80 Time Sat May 2 17:52:52 2020
19:54:32.799 -> T 23.010 H 65.234 P 1004.201
19:54:32.799 -> SPIWrite Sample 81 Time Sat May 2 17:52:53 2020
19:54:32.799 -> T 23.000 H 65.332 P 1004.236
19:54:32.833 -> SPIWrite Sample 82 Time Sat May 2 17:52:54 2020
19:54:32.833 -> T 23.010 H 65.068 P 1004.201
19:54:32.833 -> SPIWrite Sample 83 Time Sat May 2 17:52:55 2020
19:54:32.833 -> T 23.005 H 65.448 P 1004.192
19:54:32.833 -> SPIWrite Sample 84 Time Sat May 2 17:52:56 2020
19:54:32.833 -> T 23.010 H 65.002 P 1004.227
19:54:32.833 -> SPIWrite Sample 85 Time Sat May 2 17:52:57 2020
19:54:32.833 -> T 23.010 H 65.002 P 1004.201
19:54:32.833 -> SPIWrite Sample 86 Time Sat May 2 17:52:58 2020
19:54:32.833 -> T 23.010 H 65.046 P 1004.253
19:54:32.833 -> SPIWrite Sample 87 Time Sat May 2 17:52:59 2020
19:54:32.867 -> T 23.015 H 65.217 P 1004.235
19:54:32.867 -> SPIWrite Sample 88 Time Sat May 2 17:53:00 2020
19:54:32.867 -> T 23.005 H 65.139 P 1004.192
19:54:32.867 -> SPIWrite Sample 89 Time Sat May 2 17:53:01 2020
19:54:32.867 -> T 23.005 H 65.244 P 1004.218
19:54:32.867 -> SPIWrite Sample 90 Time Sat May 2 17:53:02 2020
19:54:32.867 -> T 23.010 H 65.454 P 1004.201
19:54:32.867 -> SPIWrite Sample 91 Time Sat May 2 17:53:03 2020
19:54:32.867 -> T 23.021 H 65.648 P 1004.165
19:54:32.901 -> SPIWrite Sample 92 Time Sat May 2 17:53:04 2020
19:54:32.901 -> T 23.010 H 65.664 P 1004.201
19:54:32.901 -> SPIWrite Sample 93 Time Sat May 2 17:53:05 2020
19:54:32.901 -> T 23.021 H 65.383 P 1004.165
19:54:32.901 -> SPIWrite Sample 94 Time Sat May 2 17:53:06 2020
19:54:32.901 -> T 23.005 H 65.487 P 1004.088
19:54:32.901 -> SPIWrite Sample 95 Time Sat May 2 17:53:07 2020
19:54:32.901 -> T 23.000 H 65.608 P 1004.158
19:54:32.901 -> SPIWrite Sample 96 Time Sat May 2 17:53:08 2020
19:54:32.901 -> T 23.005 H 65.796 P 1004.192
19:54:32.935 -> SPIWrite Sample 97 Time Sat May 2 17:53:09 2020
19:54:32.935 -> T 23.010 H 65.796 P 1004.175
19:54:32.935 -> SPIWrite Sample 98 Time Sat May 2 17:53:10 2020
19:54:32.935 -> T 23.010 H 65.509 P 1004.201
19:54:32.935 -> SPIWrite Sample 99 Time Sat May 2 17:53:11 2020
19:54:32.935 -> T 23.015 H 65.587 P 1004.183
19:54:32.935 -> SPIWrite Sample 100 Time Sat May 2 17:53:12 2020
19:54:32.935 -> T 23.015 H 65.719 P 1004.209
19:54:32.935 -> SPIWrite Sample 101 Time Sat May 2 17:53:13 2020
19:54:32.935 -> T 23.010 H 65.868 P 1004.175
19:54:32.969 -> SPIWrite Sample 102 Time Sat May 2 17:53:14 2020
19:54:32.969 -> T 23.010 H 65.465 P 1004.201
19:54:32.969 -> SPIWrite Sample 103 Time Sat May 2 17:53:15 2020
19:54:32.969 -> T 23.010 H 65.526 P 1004.201
19:54:32.969 -> SPIWrite Sample 104 Time Sat May 2 17:53:16 2020
19:54:32.969 -> T 23.010 H 65.851 P 1004.149
19:54:32.969 -> SPIWrite Sample 105 Time Sat May 2 17:53:17 2020
19:54:32.969 -> T 23.000 H 65.487 P 1004.236
19:54:32.969 -> SPIWrite Sample 106 Time Sat May 2 17:53:18 2020
19:54:32.969 -> T 23.005 H 65.481 P 1004.140
19:54:33.003 -> SPIWrite Sample 107 Time Sat May 2 17:53:19 2020
19:54:33.003 -> T 23.010 H 65.664 P 1004.201
19:54:33.003 -> SPIWrite Sample 108 Time Sat May 2 17:53:20 2020
19:54:33.003 -> T 23.021 H 65.675 P 1004.217
19:54:33.003 -> SPIWrite Sample 109 Time Sat May 2 17:53:21 2020
19:54:33.003 -> T 23.010 H 65.741 P 1004.149
19:54:33.003 -> SPIWrite Sample 110 Time Sat May 2 17:53:22 2020
19:54:33.003 -> T 23.010 H 65.625 P 1004.149
19:54:33.003 -> SPIWrite Sample 111 Time Sat May 2 17:53:23 2020
19:54:33.003 -> T 23.005 H 65.906 P 1004.192
19:54:33.038 -> SPIWrite Sample 112 Time Sat May 2 17:53:24 2020
19:54:33.038 -> T 23.010 H 65.438 P 1004.201
19:54:33.038 -> SPIWrite Sample 113 Time Sat May 2 17:53:25 2020
19:54:33.038 -> T 23.010 H 65.614 P 1004.149
19:54:33.038 -> SPIWrite Sample 114 Time Sat May 2 17:53:26 2020
19:54:33.038 -> T 23.010 H 65.267 P 1004.149
19:54:33.038 -> SPIWrite Sample 115 Time Sat May 2 17:53:27 2020
19:54:33.038 -> T 23.010 H 65.399 P 1004.201
19:54:33.038 -> SPIWrite Sample 116 Time Sat May 2 17:53:28 2020
19:54:33.038 -> T 23.005 H 65.492 P 1004.166
19:54:33.071 -> SPIWrite Sample 117 Time Sat May 2 17:53:29 2020
19:54:33.071 -> T 23.010 H 65.857 P 1004.149
19:54:33.071 -> SPIWrite Sample 118 Time Sat May 2 17:53:30 2020
19:54:33.071 -> T 23.010 H 65.702 P 1004.096
19:54:33.071 -> SPIWrite Sample 119 Time Sat May 2 17:53:31 2020
19:54:33.071 -> T 23.000 H 65.244 P 1004.184
19:54:33.071 -> SPIWrite Sample 120 Time Sat May 2 17:53:32 2020
19:54:33.071 -> T 23.000 H 65.465 P 1004.184
19:54:33.071 -> SPIWrite Sample 121 Time Sat May 2 17:53:33 2020
19:54:33.071 -> T 23.000 H 65.696 P 1004.132
19:54:33.104 -> SPIWrite Sample 122 Time Sat May 2 17:53:34 2020
19:54:33.104 -> T 23.005 H 65.724 P 1004.192
19:54:33.104 -> SPIWrite Sample 123 Time Sat May 2 17:53:35 2020
19:54:33.104 -> T 23.010 H 65.427 P 1004.149
19:54:33.104 -> SPIWrite Sample 124 Time Sat May 2 17:53:36 2020
19:54:33.104 -> T 23.015 H 65.460 P 1004.157
19:54:33.104 -> SPIWrite Sample 125 Time Sat May 2 17:53:37 2020
19:54:33.104 -> T 23.015 H 65.234 P 1004.157
19:54:33.104 -> SPIWrite Sample 126 Time Sat May 2 17:53:38 2020
19:54:33.141 -> T 23.005 H 65.106 P 1004.192
19:54:33.141 -> SPIWrite Sample 127 Time Sat May 2 17:53:39 2020
19:54:33.141 -> T 23.015 H 65.532 P 1004.157
19:54:33.141 -> SPIWrite Sample 128 Time Sat May 2 17:53:40 2020
19:54:33.141 -> T 23.015 H 64.925 P 1004.183
19:54:33.141 -> SPIWrite Sample 129 Time Sat May 2 17:53:41 2020
19:54:33.141 -> T 23.010 H 65.785 P 1004.175
19:54:33.141 -> SPIWrite Sample 130 Time Sat May 2 17:53:42 2020
19:54:33.141 -> T 23.010 H 65.393 P 1004.201
19:54:33.141 -> SPIWrite Sample 131 Time Sat May 2 17:53:44 2020
19:54:33.174 -> T 23.010 H 65.581 P 1004.096
19:54:33.174 -> SPIWrite Sample 132 Time Sat May 2 17:53:45 2020
19:54:33.174 -> T 23.015 H 65.675 P 1004.183
19:54:33.174 -> SPIWrite Sample 133 Time Sat May 2 17:53:46 2020
19:54:33.174 -> T 23.010 H 65.929 P 1004.227
19:54:33.174 -> SPIWrite Sample 134 Time Sat May 2 17:53:47 2020
19:54:33.174 -> T 23.010 H 65.504 P 1004.149
19:54:33.174 -> SPIWrite Sample 135 Time Sat May 2 17:53:48 2020
19:54:33.174 -> T 23.010 H 65.493 P 1004.149
19:54:33.174 -> SPIWrite Sample 136 Time Sat May 2 17:53:49 2020
19:54:33.209 -> T 23.010 H 65.344 P 1004.149
19:54:33.209 -> SPIWrite Sample 137 Time Sat May 2 17:53:50 2020
19:54:33.209 -> T 23.021 H 65.554 P 1004.113
19:54:33.209 -> SPIWrite Sample 138 Time Sat May 2 17:53:51 2020
19:54:33.209 -> T 23.015 H 65.995 P 1004.183
19:54:33.209 -> SPIWrite Sample 139 Time Sat May 2 17:53:52 2020
19:54:33.209 -> T 23.010 H 65.576 P 1004.149
19:54:33.209 -> SPIWrite Sample 140 Time Sat May 2 17:53:53 2020
19:54:33.209 -> T 23.010 H 65.884 P 1004.149
19:54:33.209 -> SPIWrite Sample 141 Time Sat May 2 17:53:54 2020
19:54:33.242 -> T 23.010 H 66.061 P 1004.149
19:54:33.242 -> SPIWrite Sample 142 Time Sat May 2 17:53:55 2020
19:54:33.242 -> T 23.010 H 65.857 P 1004.149
19:54:33.242 -> SPIWrite Sample 143 Time Sat May 2 17:53:56 2020
19:54:33.242 -> T 23.010 H 66.105 P 1004.201
19:54:33.242 -> SPIWrite Sample 144 Time Sat May 2 17:53:57 2020
19:54:33.242 -> T 23.010 H 65.818 P 1004.175
19:54:33.242 -> SPIWrite Sample 145 Time Sat May 2 17:53:58 2020
19:54:33.242 -> T 23.010 H 65.531 P 1004.149
19:54:33.242 -> SPIWrite Sample 146 Time Sat May 2 17:53:59 2020
19:54:33.276 -> T 23.021 H 65.460 P 1004.217
19:54:33.276 -> SPIWrite Sample 147 Time Sat May 2 17:54:00 2020
19:54:33.276 -> T 23.010 H 65.576 P 1004.149
19:54:33.276 -> SPIWrite Sample 148 Time Sat May 2 17:54:01 2020
19:54:33.276 -> T 23.005 H 65.509 P 1004.192
19:54:33.276 -> SPIWrite Sample 149 Time Sat May 2 17:54:02 2020
19:54:33.276 -> T 23.015 H 65.587 P 1004.157
19:54:33.276 -> SPIWrite Sample 150 Time Sat May 2 17:54:03 2020
19:54:33.276 -> T 23.010 H 66.105 P 1004.149
19:54:33.309 -> SPIWrite Sample 151 Time Sat May 2 17:54:04 2020
19:54:33.309 -> T 23.015 H 65.907 P 1004.157
19:54:33.309 -> SPIWrite Sample 152 Time Sat May 2 17:54:05 2020
19:54:33.309 -> T 23.010 H 65.758 P 1004.123
19:54:33.309 -> SPIWrite Sample 153 Time Sat May 2 17:54:06 2020
19:54:33.309 -> T 23.010 H 65.542 P 1004.149
19:54:33.309 -> SPIWrite Sample 154 Time Sat May 2 17:54:07 2020
19:54:33.309 -> T 23.021 H 65.350 P 1004.165
19:54:33.309 -> SPIWrite Sample 155 Time Sat May 2 17:54:08 2020
19:54:33.309 -> T 23.031 H 65.533 P 1004.156
19:54:33.342 -> SPIWrite Sample 156 Time Sat May 2 17:54:09 2020
19:54:33.342 -> T 23.010 H 66.033 P 1004.149
19:54:33.342 -> SPIWrite Sample 157 Time Sat May 2 17:54:10 2020
19:54:33.342 -> T 23.021 H 65.444 P 1004.113
19:54:33.342 -> SPIWrite Sample 158 Time Sat May 2 17:54:11 2020
19:54:33.342 -> T 23.010 H 65.520 P 1004.123
19:54:33.342 -> SPIWrite Sample 159 Time Sat May 2 17:54:12 2020
19:54:33.342 -> T 23.021 H 65.444 P 1004.035
19:54:33.342 -> SPIWrite Sample 160 Time Sat May 2 17:54:13 2020
19:54:33.376 -> T 23.021 H 66.106 P 1004.217
19:54:33.376 -> SPIWrite Sample 161 Time Sat May 2 17:54:14 2020
19:54:33.376 -> T 23.021 H 65.929 P 1004.165
19:54:33.376 -> SPIWrite Sample 162 Time Sat May 2 17:54:15 2020
19:54:33.376 -> T 23.010 H 65.576 P 1004.123
19:54:33.376 -> SPIWrite Sample 163 Time Sat May 2 17:54:16 2020
19:54:33.376 -> T 23.010 H 65.752 P 1004.149
19:54:33.376 -> SPIWrite Sample 164 Time Sat May 2 17:54:17 2020
19:54:33.376 -> T 23.021 H 65.725 P 1004.191
19:54:33.376 -> SPIWrite Sample 165 Time Sat May 2 17:54:18 2020
19:54:33.411 -> T 23.010 H 65.526 P 1004.123
19:54:33.411 -> SPIWrite Sample 166 Time Sat May 2 17:54:19 2020
19:54:33.411 -> T 23.021 H 65.449 P 1004.139
19:54:33.411 -> SPIWrite Sample 167 Time Sat May 2 17:54:20 2020
19:54:33.411 -> T 23.005 H 65.332 P 1004.088
19:54:33.411 -> SPIWrite Sample 168 Time Sat May 2 17:54:21 2020
19:54:33.411 -> T 23.010 H 65.598 P 1004.175
19:54:33.411 -> SPIWrite Sample 169 Time Sat May 2 17:54:22 2020
19:54:33.411 -> T 23.010 H 65.796 P 1004.096
19:54:33.411 -> SPIWrite Sample 170 Time Sat May 2 17:54:23 2020
19:54:33.444 -> T 23.005 H 66.215 P 1004.088
19:54:33.444 -> SPIWrite Sample 171 Time Sat May 2 17:54:24 2020
19:54:33.444 -> T 23.015 H 66.149 P 1004.157
19:54:33.444 -> SPIWrite Sample 172 Time Sat May 2 17:54:25 2020
19:54:33.444 -> T 23.010 H 65.708 P 1004.044
19:54:33.444 -> SPIWrite Sample 173 Time Sat May 2 17:54:26 2020
19:54:33.444 -> T 23.010 H 66.072 P 1004.044
19:54:33.444 -> SPIWrite Sample 174 Time Sat May 2 17:54:27 2020
19:54:33.444 -> T 23.021 H 65.984 P 1004.113
19:54:33.444 -> SPIWrite Sample 175 Time Sat May 2 17:54:28 2020
19:54:33.478 -> T 23.015 H 65.598 P 1004.052
19:54:33.478 -> SPIWrite Sample 176 Time Sat May 2 17:54:29 2020
19:54:33.478 -> T 23.010 H 65.763 P 1004.096
19:54:33.478 -> SPIWrite Sample 177 Time Sat May 2 17:54:30 2020
19:54:33.478 -> T 23.031 H 65.637 P 1004.182
19:54:33.478 -> SPIWrite Sample 178 Time Sat May 2 17:54:31 2020
19:54:33.478 -> T 23.021 H 65.885 P 1004.113
19:54:33.478 -> SPIWrite Sample 179 Time Sat May 2 17:54:32 2020
19:54:33.478 -> T 23.005 H 65.487 P 1004.114
19:54:33.478 -> Written to SPI 180 Samples FileLen 279360
19:54:33.512 -> AppendToSPIFFS ends Sat May 2 17:54:34 2020