Explorar el Código

Changed rtc::getTemperature to an in16_t (-214 bytes)

With this change, EEPROM historic data is unusable so version bump + config seed change
tags/v1.2.0
Bertrand Lemasle hace 6 años
padre
commit
c7b491f1f1
Se han modificado 8 ficheros con 15 adiciones y 15 borrados
  1. +2
    -2
      src/Config.h
  2. +1
    -1
      src/Core.cpp
  3. +2
    -2
      src/Debug.cpp
  4. +1
    -1
      src/NetworkPositionsBackup.cpp
  5. +2
    -2
      src/Positions.cpp
  6. +4
    -4
      src/Positions.h
  7. +2
    -2
      src/Rtc.cpp
  8. +1
    -1
      src/Rtc.h

+ 2
- 2
src/Config.h Ver fichero

@@ -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



+ 1
- 1
src/Core.cpp Ver fichero

@@ -76,7 +76,7 @@ namespace core {
}

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)) {


+ 2
- 2
src/Debug.cpp Ver fichero

@@ -123,7 +123,7 @@ namespace debug {
Log.notice(F("%d,%d,%d,%d,%d,%s"),
entry.metadata.batteryLevel,
entry.metadata.batteryVoltage,
static_cast<uint16_t>(entry.metadata.temperature * 100),
entry.metadata.temperature,
static_cast<uint8_t>(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() {


+ 1
- 1
src/NetworkPositionsBackup.cpp Ver fichero

@@ -31,7 +31,7 @@ namespace positions {
hardware::sim808::device.getSignalQuality().attenuation,
entry.metadata.batteryLevel,
entry.metadata.batteryVoltage,
static_cast<uint16_t>(entry.metadata.temperature * 100),
entry.metadata.temperature,
static_cast<uint8_t>(entry.metadata.status),
entry.metadata.timeToFix,
entry.position);


+ 2
- 2
src/Positions.cpp Ver fichero

@@ -117,7 +117,7 @@ namespace positions {
entryAddress,
entry.metadata.batteryLevel,
entry.metadata.batteryVoltage,
static_cast<uint16_t>(entry.metadata.temperature * 100),
entry.metadata.temperature,
static_cast<uint8_t>(entry.metadata.status),
entry.metadata.timeToFix,
entry.position);
@@ -147,7 +147,7 @@ namespace positions {
entryAddress,
entry.metadata.batteryLevel,
entry.metadata.batteryVoltage,
static_cast<uint16_t>(entry.metadata.temperature * 100),
entry.metadata.temperature,
static_cast<uint8_t>(entry.metadata.status),
entry.metadata.timeToFix,
entry.position);


+ 4
- 4
src/Positions.h Ver fichero

@@ -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 {



+ 2
- 2
src/Rtc.cpp Ver fichero

@@ -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<int16_t>(temperature * 100);
}

bool isAccurate() {


+ 1
- 1
src/Rtc.h Ver fichero

@@ -5,7 +5,7 @@
namespace rtc {
void setup();

float getTemperature();
int16_t getTemperature();

bool isAccurate();
timestamp_t getTime();


Cargando…
Cancelar
Guardar