diff --git a/src/Config.h b/src/Config.h index d509e69..6d7c0a4 100644 --- a/src/Config.h +++ b/src/Config.h @@ -13,8 +13,8 @@ #define CONFIG_ADDR 0 #define CONFIG_RESERVED_SIZE 128 -#define CONFIG_SEED 13 -#define VERSION "1.10" +#define CONFIG_SEED 14 +#define VERSION "1.20" #define SLEEP_TIMING_TIME(hours, minutes) hours * 60 + minutes diff --git a/src/Core.cpp b/src/Core.cpp index f366a48..b460052 100644 --- a/src/Core.cpp +++ b/src/Core.cpp @@ -76,7 +76,7 @@ namespace core { } if (bitRead(triggered, ALERT_RTC_TEMPERATURE_FAILURE)) { - details::appendToSmsBuffer(buffer, PSTR("\n- Temperature is %dC.%S"), static_cast(metadata.temperature * 100), backupFailureString); + details::appendToSmsBuffer(buffer, PSTR("\n- Temperature is %dC.%S"), metadata.temperature, backupFailureString); } if (bitRead(triggered, ALERT_RTC_CLOCK_FAILURE)) { diff --git a/src/Debug.cpp b/src/Debug.cpp index 1bb41bb..7c1c97f 100644 --- a/src/Debug.cpp +++ b/src/Debug.cpp @@ -123,7 +123,7 @@ namespace debug { Log.notice(F("%d,%d,%d,%d,%d,%s"), entry.metadata.batteryLevel, entry.metadata.batteryVoltage, - static_cast(entry.metadata.temperature * 100), + entry.metadata.temperature, static_cast(entry.metadata.status), entry.metadata.timeToFix, entry.position); @@ -203,7 +203,7 @@ namespace debug { tmElements_t time; rtc::getTime(time); - NOTICE_FORMAT("getAndDisplayRtcTime", "%d/%d/%d %d:%d:%d %t %d", tmYearToCalendar(time.Year), time.Month, time.Day, time.Hour, time.Minute, time.Second, rtc::isAccurate(), (uint16_t)(rtc::getTemperature() * 1000)); + NOTICE_FORMAT("getAndDisplayRtcTime", "%d/%d/%d %d:%d:%d %t %d", tmYearToCalendar(time.Year), time.Month, time.Day, time.Hour, time.Minute, time.Second, rtc::isAccurate(), rtc::getTemperature()); } void setRtcTime() { diff --git a/src/NetworkPositionsBackup.cpp b/src/NetworkPositionsBackup.cpp index 1e387c9..8961120 100644 --- a/src/NetworkPositionsBackup.cpp +++ b/src/NetworkPositionsBackup.cpp @@ -31,7 +31,7 @@ namespace positions { hardware::sim808::device.getSignalQuality().attenuation, entry.metadata.batteryLevel, entry.metadata.batteryVoltage, - static_cast(entry.metadata.temperature * 100), + entry.metadata.temperature, static_cast(entry.metadata.status), entry.metadata.timeToFix, entry.position); diff --git a/src/Positions.cpp b/src/Positions.cpp index 15ac889..d99e6c5 100644 --- a/src/Positions.cpp +++ b/src/Positions.cpp @@ -117,7 +117,7 @@ namespace positions { entryAddress, entry.metadata.batteryLevel, entry.metadata.batteryVoltage, - static_cast(entry.metadata.temperature * 100), + entry.metadata.temperature, static_cast(entry.metadata.status), entry.metadata.timeToFix, entry.position); @@ -147,7 +147,7 @@ namespace positions { entryAddress, entry.metadata.batteryLevel, entry.metadata.batteryVoltage, - static_cast(entry.metadata.temperature * 100), + entry.metadata.temperature, static_cast(entry.metadata.status), entry.metadata.timeToFix, entry.position); diff --git a/src/Positions.h b/src/Positions.h index 33da1d0..574ddcc 100644 --- a/src/Positions.h +++ b/src/Positions.h @@ -7,15 +7,15 @@ struct PositionEntryMetadata { int8_t batteryLevel; //sizeof = 1 int16_t batteryVoltage; //sizeof = 2 - float temperature; //sizeof = 4 + int16_t temperature; //sizeof = 2 uint16_t timeToFix; //sizeof = 2 SIM808_GPS_STATUS status; //sizeof = 1 -}; //sizeof = 10 +}; //sizeof = 8 struct PositionEntry { - PositionEntryMetadata metadata; //sizeof = 10 + PositionEntryMetadata metadata; //sizeof = 8 char position[POSITION_SIZE]; //sizeof = 115 -}; //sizeof = 125 +}; //sizeof = 123 namespace positions { diff --git a/src/Rtc.cpp b/src/Rtc.cpp index 861e3a2..2123f37 100644 --- a/src/Rtc.cpp +++ b/src/Rtc.cpp @@ -21,12 +21,12 @@ namespace rtc { hardware::i2c::powerOff(); } - float getTemperature() { + int16_t getTemperature() { hardware::i2c::powerOn(); float temperature = RTC.readTempRegister(); hardware::i2c::powerOff(); - return temperature; + return static_cast(temperature * 100); } bool isAccurate() { diff --git a/src/Rtc.h b/src/Rtc.h index e752893..15b271f 100644 --- a/src/Rtc.h +++ b/src/Rtc.h @@ -5,7 +5,7 @@ namespace rtc { void setup(); - float getTemperature(); + int16_t getTemperature(); bool isAccurate(); timestamp_t getTime();