Ver a proveniência

Position attenuation is not metric worth to wait for each time a position is sent in a loop.

tags/v1.2.2
Bertrand Lemasle há 6 anos
ascendente
cometimento
c730fe08fb
2 ficheiros alterados com 7 adições e 4 eliminações
  1. +6
    -3
      src/NetworkPositionsBackup.cpp
  2. +1
    -1
      src/NetworkPositionsBackup.h

+ 6
- 3
src/NetworkPositionsBackup.cpp Ver ficheiro

@@ -26,11 +26,13 @@ namespace positions {
positions::count(config->network.lastSavedEntry) > (config->network.saveThreshold * networkUnavailablePostpone) - (forPrepare ? 1 : 0);
}
bool NetworkPositionsBackup::appendPosition(PositionEntry &entry) {
bool NetworkPositionsBackup::appendPosition(PositionEntry &entry, int8_t signalAttenuation = 0) {
char buffer[BUFFER_SIZE];
if(signalAttenuation == 0) signalAttenuation = hardware::sim808::device.getSignalQuality().attenuation;
snprintf_P(buffer, BUFFER_SIZE, PSTR("%d,%d,%d,%d,%d,%d,%d,%s"),
mainunit::freeRam(),
hardware::sim808::device.getSignalQuality().attenuation,
signalAttenuation,
entry.metadata.batteryLevel,
entry.metadata.batteryVoltage,
entry.metadata.temperature,
@@ -75,10 +77,11 @@ namespace positions {
networkUnavailableInARow = 0;
networkUnavailablePostpone = 1;
int8_t signalAttenuation = hardware::sim808::device.getSignalQuality().attenuation;
hardware::i2c::powerOn();
do {
if (!positions::get(currentEntryIndex, currentEntry)) break;
if (!appendPosition(currentEntry)) break;
if (!appendPosition(currentEntry, signalAttenuation)) break;
config::main::value.network.lastSavedEntry = currentEntryIndex;
config::main::save();


+ 1
- 1
src/NetworkPositionsBackup.h Ver ficheiro

@@ -10,7 +10,7 @@ namespace positions {
class NetworkPositionsBackup : public PositionsBackup {
private:
bool isBackupNeeded(bool forPrepare);
bool appendPosition(PositionEntry &entry);
bool appendPosition(PositionEntry &entry, int8_t signalAttenuation = 0);
void appendPositions();
public:


Carregando…
Cancelar
Guardar