With this change, EEPROM historic data is unusable so version bump + config seed changetags/v1.2.0
@@ -13,8 +13,8 @@ | |||||
#define CONFIG_ADDR 0 | #define CONFIG_ADDR 0 | ||||
#define CONFIG_RESERVED_SIZE 128 | #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 | #define SLEEP_TIMING_TIME(hours, minutes) hours * 60 + minutes | ||||
@@ -76,7 +76,7 @@ namespace core { | |||||
} | } | ||||
if (bitRead(triggered, ALERT_RTC_TEMPERATURE_FAILURE)) { | if (bitRead(triggered, ALERT_RTC_TEMPERATURE_FAILURE)) { | ||||
details::appendToSmsBuffer(buffer, PSTR("\n- Temperature is %dC.%S"), static_cast<uint16_t>(metadata.temperature * 100), backupFailureString); | |||||
details::appendToSmsBuffer(buffer, PSTR("\n- Temperature is %dC.%S"), metadata.temperature, backupFailureString); | |||||
} | } | ||||
if (bitRead(triggered, ALERT_RTC_CLOCK_FAILURE)) { | if (bitRead(triggered, ALERT_RTC_CLOCK_FAILURE)) { | ||||
@@ -123,7 +123,7 @@ namespace debug { | |||||
Log.notice(F("%d,%d,%d,%d,%d,%s"), | Log.notice(F("%d,%d,%d,%d,%d,%s"), | ||||
entry.metadata.batteryLevel, | entry.metadata.batteryLevel, | ||||
entry.metadata.batteryVoltage, | entry.metadata.batteryVoltage, | ||||
static_cast<uint16_t>(entry.metadata.temperature * 100), | |||||
entry.metadata.temperature, | |||||
static_cast<uint8_t>(entry.metadata.status), | static_cast<uint8_t>(entry.metadata.status), | ||||
entry.metadata.timeToFix, | entry.metadata.timeToFix, | ||||
entry.position); | entry.position); | ||||
@@ -203,7 +203,7 @@ namespace debug { | |||||
tmElements_t time; | tmElements_t time; | ||||
rtc::getTime(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() { | void setRtcTime() { | ||||
@@ -31,7 +31,7 @@ namespace positions { | |||||
hardware::sim808::device.getSignalQuality().attenuation, | hardware::sim808::device.getSignalQuality().attenuation, | ||||
entry.metadata.batteryLevel, | entry.metadata.batteryLevel, | ||||
entry.metadata.batteryVoltage, | entry.metadata.batteryVoltage, | ||||
static_cast<uint16_t>(entry.metadata.temperature * 100), | |||||
entry.metadata.temperature, | |||||
static_cast<uint8_t>(entry.metadata.status), | static_cast<uint8_t>(entry.metadata.status), | ||||
entry.metadata.timeToFix, | entry.metadata.timeToFix, | ||||
entry.position); | entry.position); | ||||
@@ -117,7 +117,7 @@ namespace positions { | |||||
entryAddress, | entryAddress, | ||||
entry.metadata.batteryLevel, | entry.metadata.batteryLevel, | ||||
entry.metadata.batteryVoltage, | entry.metadata.batteryVoltage, | ||||
static_cast<uint16_t>(entry.metadata.temperature * 100), | |||||
entry.metadata.temperature, | |||||
static_cast<uint8_t>(entry.metadata.status), | static_cast<uint8_t>(entry.metadata.status), | ||||
entry.metadata.timeToFix, | entry.metadata.timeToFix, | ||||
entry.position); | entry.position); | ||||
@@ -147,7 +147,7 @@ namespace positions { | |||||
entryAddress, | entryAddress, | ||||
entry.metadata.batteryLevel, | entry.metadata.batteryLevel, | ||||
entry.metadata.batteryVoltage, | entry.metadata.batteryVoltage, | ||||
static_cast<uint16_t>(entry.metadata.temperature * 100), | |||||
entry.metadata.temperature, | |||||
static_cast<uint8_t>(entry.metadata.status), | static_cast<uint8_t>(entry.metadata.status), | ||||
entry.metadata.timeToFix, | entry.metadata.timeToFix, | ||||
entry.position); | entry.position); | ||||
@@ -7,15 +7,15 @@ | |||||
struct PositionEntryMetadata { | struct PositionEntryMetadata { | ||||
int8_t batteryLevel; //sizeof = 1 | int8_t batteryLevel; //sizeof = 1 | ||||
int16_t batteryVoltage; //sizeof = 2 | int16_t batteryVoltage; //sizeof = 2 | ||||
float temperature; //sizeof = 4 | |||||
int16_t temperature; //sizeof = 2 | |||||
uint16_t timeToFix; //sizeof = 2 | uint16_t timeToFix; //sizeof = 2 | ||||
SIM808_GPS_STATUS status; //sizeof = 1 | SIM808_GPS_STATUS status; //sizeof = 1 | ||||
}; //sizeof = 10 | |||||
}; //sizeof = 8 | |||||
struct PositionEntry { | struct PositionEntry { | ||||
PositionEntryMetadata metadata; //sizeof = 10 | |||||
PositionEntryMetadata metadata; //sizeof = 8 | |||||
char position[POSITION_SIZE]; //sizeof = 115 | char position[POSITION_SIZE]; //sizeof = 115 | ||||
}; //sizeof = 125 | |||||
}; //sizeof = 123 | |||||
namespace positions { | namespace positions { | ||||
@@ -21,12 +21,12 @@ namespace rtc { | |||||
hardware::i2c::powerOff(); | hardware::i2c::powerOff(); | ||||
} | } | ||||
float getTemperature() { | |||||
int16_t getTemperature() { | |||||
hardware::i2c::powerOn(); | hardware::i2c::powerOn(); | ||||
float temperature = RTC.readTempRegister(); | float temperature = RTC.readTempRegister(); | ||||
hardware::i2c::powerOff(); | hardware::i2c::powerOff(); | ||||
return temperature; | |||||
return static_cast<int16_t>(temperature * 100); | |||||
} | } | ||||
bool isAccurate() { | bool isAccurate() { | ||||
@@ -5,7 +5,7 @@ | |||||
namespace rtc { | namespace rtc { | ||||
void setup(); | void setup(); | ||||
float getTemperature(); | |||||
int16_t getTemperature(); | |||||
bool isAccurate(); | bool isAccurate(); | ||||
timestamp_t getTime(); | timestamp_t getTime(); | ||||