diff --git a/README.md b/README.md index dc9bae6c..e8ad0b69 100644 --- a/README.md +++ b/README.md @@ -252,16 +252,17 @@ These cheap devices often handle SD-cards up to 32GB, not bigger ones. They can The software included here writes data in a file named PAXCOUNT.xx, where xx can range from 00 to 99. The software starts with 00, checks to see if such a file already exists and if yes it will continue with the next number (up to 99 - in this case it will return no sd-card). So an existing file will not be overwritten. -The data is written to the card and after 3 write-operations the data is flushed to the disk. So maybe the last 3 minutes of data get lost when you disconnect the PAXCOUNTER from power. +The data is written to the card and after 3 write-operations the data is flushed to the disk. Thus, up to the last 3 records of data will get lost when the PAXCOUNTER looses power. And finally: this is the data written to the disk: - timestamp, wifi, ble + timestamp,wifi,ble[,voltage] 2022-01-28T19:36:35Z,17,48 2022-01-28T19:37:35Z,21,52 2022-01-28T19:38:35Z,14,49 Format of the data is CSV, timestamp is ISO8601, which can easily imported into LibreOffice, Excel, Influx, etc. +Voltage is logged, if the device has a battery voltage sensor (to be configure in board hal file). If you want to change this please look into src/sdcard.cpp and include/sdcard.h. diff --git a/include/sdcard.h b/include/sdcard.h index 8d20ced5..4d04f3ab 100644 --- a/include/sdcard.h +++ b/include/sdcard.h @@ -55,10 +55,10 @@ #endif #define SDCARD_FILE_NAME "/paxcount.%02d" -#define SDCARD_FILE_HEADER "timestamp, wifi, ble" +#define SDCARD_FILE_HEADER "timestamp,wifi,ble" -#if (COUNT_ENS) -#define SDCARD_FILE_HEADER_CWA ",cwa" +#if (defined BAT_MEASURE_ADC || defined HAS_PMU) +#define SDCARD_FILE_HEADER_VOLTAGE ",voltage" #endif bool sdcard_init(void); diff --git a/src/sdcard.cpp b/src/sdcard.cpp index 783cf657..396f5257 100644 --- a/src/sdcard.cpp +++ b/src/sdcard.cpp @@ -40,7 +40,7 @@ bool sdcard_init() { } void sdcardWriteData(uint16_t noWifi, uint16_t noBle, - __attribute__((unused)) uint16_t noBleCWA) { + __attribute__((unused)) uint16_t voltage) { static int counterWrites = 0; char tempBuffer[20 + 1]; time_t t = time(NULL); @@ -59,8 +59,8 @@ void sdcardWriteData(uint16_t noWifi, uint16_t noBle, fileSDCard.print(tempBuffer); snprintf(tempBuffer, sizeof(tempBuffer), ",%d,%d", noWifi, noBle); fileSDCard.print(tempBuffer); -#if (COUNT_ENS) - snprintf(tempBuffer, sizeof(tempBuffer), ",%d", noBleCWA); +#if (defined BAT_MEASURE_ADC || defined HAS_PMU) + snprintf(tempBuffer, sizeof(tempBuffer), ",%d", voltage); fileSDCard.print(tempBuffer); #endif #if (HAS_SDS011) @@ -105,8 +105,8 @@ void createFile(void) { if (fileSDCard) { ESP_LOGD(TAG, "SD: file opened: <%s>", bufferFilename); fileSDCard.print(SDCARD_FILE_HEADER); -#if (COUNT_ENS) - fileSDCard.print(SDCARD_FILE_HEADER_CWA); // for Corona-data (CWA) +#if (defined BAT_MEASURE_ADC || defined HAS_PMU) + fileSDCard.print(SDCARD_FILE_HEADER_VOLTAGE); // for battery level data #endif #if (HAS_SDS011) fileSDCard.print(SDCARD_FILE_HEADER_SDS011); diff --git a/src/senddata.cpp b/src/senddata.cpp index fce1d325..bc9ee702 100644 --- a/src/senddata.cpp +++ b/src/senddata.cpp @@ -120,9 +120,9 @@ void sendData() { #endif #if (HAS_SDCARD) sdcardWriteData(libpax_macs_wifi, libpax_macs_ble -#if (COUNT_ENS) +#if (defined BAT_MEASURE_ADC || defined HAS_PMU) , - cwa_report() + read_voltage() #endif ); #endif // HAS_SDCARD