Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

45 рядки
866 B

  1. #include "Core.h"
  2. #include "Config.h"
  3. #include "Flash.h"
  4. #define LOGGER_NAME "Core"
  5. using namespace utils;
  6. namespace core {
  7. uint16_t sleepTime = SLEEP_DEFAULT_TIME_SECONDS;;
  8. void main() {
  9. VERBOSE("main");
  10. PositionEntryMetadata metadata;
  11. if (positions::acquire(metadata)) {
  12. positions::appendLast(metadata);
  13. setSleepTime();
  14. }
  15. if (positions::needsToSend()) {
  16. positions::send();
  17. }
  18. }
  19. void setSleepTime() {
  20. setSleepTime(gps::getVelocity());
  21. }
  22. void setSleepTime(uint8_t velocity) {
  23. sleepTime = SLEEP_DEFAULT_TIME_SECONDS;
  24. for (uint8_t i = 0; i < flash::getArraySize(config::defaultSleepTimings); i++) {
  25. sleepTimings_t timing;
  26. flash::read(&config::defaultSleepTimings[i], timing);
  27. if (velocity > timing.speed) continue;
  28. sleepTime = timing.seconds;
  29. break;
  30. }
  31. VERBOSE_FORMAT("setSleepTime", "%d", sleepTime);
  32. }
  33. }