浏览代码

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

tags/v1.2.2
Bertrand Lemasle 6 年前
父节点
当前提交
c730fe08fb
共有 2 个文件被更改,包括 7 次插入4 次删除
  1. +6
    -3
      src/NetworkPositionsBackup.cpp
  2. +1
    -1
      src/NetworkPositionsBackup.h

+ 6
- 3
src/NetworkPositionsBackup.cpp 查看文件

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


+ 1
- 1
src/NetworkPositionsBackup.h 查看文件

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


正在加载...
取消
保存