v1.4.32
This commit is contained in:
parent
21621e54d5
commit
bd724557c1
@ -142,6 +142,7 @@ Hereafter described is the default *plain* format, which uses MSB bit numbering.
|
|||||||
byte 3-10: Uptime [seconds]
|
byte 3-10: Uptime [seconds]
|
||||||
byte 11: CPU temperature [°C]
|
byte 11: CPU temperature [°C]
|
||||||
bytes 12-15: Free RAM [bytes]
|
bytes 12-15: Free RAM [bytes]
|
||||||
|
bytes 16-17: Last CPU reset reason [core 0, core 1]
|
||||||
|
|
||||||
**Port #3:** Device configuration query result
|
**Port #3:** Device configuration query result
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
Parts of this file
|
||||||
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
Parts of this file
|
||||||
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -94,7 +95,7 @@ String BintrayClient::requestHTTPContent(const String &url) const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Serial.printf("GET request failed, error: %s\n", http.errorToString(httpCode).c_str());
|
ESP_LOGE(TAG, "GET request failed, error: %s", http.errorToString(httpCode).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
http.end();
|
http.end();
|
||||||
@ -109,7 +110,7 @@ String BintrayClient::getLatestVersion() const
|
|||||||
const size_t bufferSize = 1024;
|
const size_t bufferSize = 1024;
|
||||||
if (jsonResult.length() > bufferSize)
|
if (jsonResult.length() > bufferSize)
|
||||||
{
|
{
|
||||||
Serial.println("Error: Could parse JSON. Input data is too big!");
|
ESP_LOGE(TAG, "Error: Firmware version data invalid.");
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
StaticJsonBuffer<bufferSize> jsonBuffer;
|
StaticJsonBuffer<bufferSize> jsonBuffer;
|
||||||
@ -118,7 +119,7 @@ String BintrayClient::getLatestVersion() const
|
|||||||
// Check for errors in parsing
|
// Check for errors in parsing
|
||||||
if (!root.success())
|
if (!root.success())
|
||||||
{
|
{
|
||||||
Serial.println("Error: Could not parse JSON!");
|
ESP_LOGE(TAG, "Error: Firmware version data not found.");
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
return root.get<String>("name");
|
return root.get<String>("name");
|
||||||
@ -133,7 +134,7 @@ String BintrayClient::getBinaryPath(const String &version) const
|
|||||||
const size_t bufferSize = 1024;
|
const size_t bufferSize = 1024;
|
||||||
if (jsonResult.length() > bufferSize)
|
if (jsonResult.length() > bufferSize)
|
||||||
{
|
{
|
||||||
Serial.println("Error: Could parse JSON. Input data is too big!");
|
ESP_LOGE(TAG, "Error: Firmware download path data invalid.");
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
StaticJsonBuffer<bufferSize> jsonBuffer;
|
StaticJsonBuffer<bufferSize> jsonBuffer;
|
||||||
@ -142,7 +143,7 @@ String BintrayClient::getBinaryPath(const String &version) const
|
|||||||
JsonObject &firstItem = root[0];
|
JsonObject &firstItem = root[0];
|
||||||
if (!root.success())
|
if (!root.success())
|
||||||
{ //Check for errors in parsing
|
{ //Check for errors in parsing
|
||||||
Serial.println("Error: Could not parse JSON!");
|
ESP_LOGE(TAG, "Error: Firmware download path not found.");
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
return "/" + getUser() + "/" + getRepository() + "/" + firstItem.get<String>("path");
|
return "/" + getUser() + "/" + getRepository() + "/" + firstItem.get<String>("path");
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
Parts of this file
|
||||||
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
259
platformio.ini
259
platformio.ini
@ -11,8 +11,9 @@
|
|||||||
;env_default = heltec
|
;env_default = heltec
|
||||||
;env_default = ttgov1
|
;env_default = ttgov1
|
||||||
;env_default = ttgov2
|
;env_default = ttgov2
|
||||||
env_default = ttgov21
|
;env_default = ttgov21old
|
||||||
;env_default = ttgobeam
|
;env_default = ttgov21new
|
||||||
|
env_default = ttgobeam
|
||||||
;env_default = lopy
|
;env_default = lopy
|
||||||
;env_default = lopy4
|
;env_default = lopy4
|
||||||
;env_default = fipy
|
;env_default = fipy
|
||||||
@ -25,14 +26,11 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng
|
|||||||
[bintray]
|
[bintray]
|
||||||
user = cyberman54
|
user = cyberman54
|
||||||
repository = paxcounter-firmware
|
repository = paxcounter-firmware
|
||||||
package = ttgov21_old
|
|
||||||
api_token = 2e10f923df5d47b9c7e25752510322a1d65ee997
|
api_token = 2e10f923df5d47b9c7e25752510322a1d65ee997
|
||||||
|
|
||||||
[common]
|
|
||||||
release_version = 7
|
|
||||||
|
|
||||||
[ota]
|
[ota]
|
||||||
; build configuration based on Bintray and Wi-Fi settings
|
;release_version = max. 9 chars total, using decimal format "a.b.c"
|
||||||
|
release_version = 1.4.32
|
||||||
wifi_ssid = testnet
|
wifi_ssid = testnet
|
||||||
wifi_password = test0815
|
wifi_password = test0815
|
||||||
build_flags =
|
build_flags =
|
||||||
@ -40,18 +38,24 @@ build_flags =
|
|||||||
'-DWIFI_PASS="${ota.wifi_password}"'
|
'-DWIFI_PASS="${ota.wifi_password}"'
|
||||||
'-DBINTRAY_USER="${bintray.user}"'
|
'-DBINTRAY_USER="${bintray.user}"'
|
||||||
'-DBINTRAY_REPO="${bintray.repository}"'
|
'-DBINTRAY_REPO="${bintray.repository}"'
|
||||||
'-DBINTRAY_PACKAGE="${bintray.package}"'
|
'-DBINTRAY_PACKAGE="${PIOENV}"'
|
||||||
-DVERSION=${common.release_version}
|
'-DPROGVERSION="${ota.release_version}"'
|
||||||
lib_deps_ota =
|
|
||||||
https://github.com/platformio/bintray-secure-ota.git
|
|
||||||
|
|
||||||
[common_env_data]
|
[common]
|
||||||
|
; DEBUG LEVEL
|
||||||
|
; For production run setto 0, otherwise device will leak RAM while running!
|
||||||
|
; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
|
||||||
|
debug_level = 0
|
||||||
|
; UPLOAD MODE
|
||||||
|
; select esptool for USB/UART flashing, custom for OTA upload
|
||||||
|
upload_protocol = esptool
|
||||||
|
;upload_protocol = custom
|
||||||
|
extra_scripts = pre:publish_firmware.py
|
||||||
platform_espressif32 = espressif32@1.3.0
|
platform_espressif32 = espressif32@1.3.0
|
||||||
;platform_espressif32 = https://github.com/platformio/platform-espressif32.git#feature/stage
|
|
||||||
board_build.partitions = min_spiffs.csv
|
board_build.partitions = min_spiffs.csv
|
||||||
|
monitor_speed = 115200
|
||||||
lib_deps_all =
|
lib_deps_all =
|
||||||
ArduinoJson@^5.13.1
|
ArduinoJson@^5.13.1
|
||||||
; ArduinoJson${ota.lib_deps_ota}
|
|
||||||
lib_deps_display =
|
lib_deps_display =
|
||||||
U8g2@>=2.23.16
|
U8g2@>=2.23.16
|
||||||
lib_deps_rgbled =
|
lib_deps_rgbled =
|
||||||
@ -59,204 +63,227 @@ lib_deps_rgbled =
|
|||||||
lib_deps_gps =
|
lib_deps_gps =
|
||||||
TinyGPSPlus@>=1.0.2
|
TinyGPSPlus@>=1.0.2
|
||||||
Time@>=1.5
|
Time@>=1.5
|
||||||
build_flags =
|
build_flags =
|
||||||
; override lora settings from LMiC library in lmic/config.h and use main.h instead
|
; override lora settings from LMiC library in lmic/config.h and use main.h instead
|
||||||
-D_lmic_config_h_
|
-D_lmic_config_h_
|
||||||
-include "src/paxcounter.conf"
|
-include "src/paxcounter.conf"
|
||||||
-include "src/hal/${PIOENV}.h"
|
-include "src/hal/${PIOENV}.h"
|
||||||
${ota.build_flags}
|
${ota.build_flags}
|
||||||
-w
|
-w
|
||||||
; ---> NOTE: For production run set DEBUG_LEVEL level to NONE! <---
|
-DCORE_DEBUG_LEVEL=${common.debug_level}
|
||||||
; otherwise device may leak RAM
|
|
||||||
;
|
|
||||||
; None
|
|
||||||
; -DCORE_DEBUG_LEVEL=0
|
|
||||||
; Error
|
|
||||||
; -DCORE_DEBUG_LEVEL=1
|
|
||||||
; Warn
|
|
||||||
; -DCORE_DEBUG_LEVEL=2
|
|
||||||
; Info
|
|
||||||
-DCORE_DEBUG_LEVEL=3
|
|
||||||
; Debug
|
|
||||||
; -DCORE_DEBUG_LEVEL=4
|
|
||||||
; Verbose
|
|
||||||
; -DCORE_DEBUG_LEVEL=5
|
|
||||||
|
|
||||||
[env:ebox]
|
[env:ebox]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 115200
|
upload_speed = 115200
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:heltec]
|
[env:heltec]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = heltec_wifi_lora_32
|
board = heltec_wifi_lora_32
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 115200
|
upload_speed = 115200
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_display}
|
${common.lib_deps_display}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:ttgov1]
|
[env:ttgov1]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 115200
|
upload_speed = 115200
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_display}
|
${common.lib_deps_display}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:ttgov2]
|
[env:ttgov2]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_display}
|
${common.lib_deps_display}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:ttgov21]
|
[env:ttgov21old]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_display}
|
${common.lib_deps_display}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
;upload_protocol = custom
|
upload_protocol = ${common.upload_protocol}
|
||||||
;extra_scripts = pre:publish_firmware.py
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
|
[env:ttgov21new]
|
||||||
|
platform = ${common.platform_espressif32}
|
||||||
|
framework = arduino
|
||||||
|
board = esp32dev
|
||||||
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
|
upload_speed = 921600
|
||||||
|
lib_deps =
|
||||||
|
${common.lib_deps_all}
|
||||||
|
${common.lib_deps_display}
|
||||||
|
build_flags =
|
||||||
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:ttgobeam]
|
[env:ttgobeam]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_gps}
|
${common.lib_deps_gps}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
-mfix-esp32-psram-cache-issue
|
-mfix-esp32-psram-cache-issue
|
||||||
;upload_protocol = custom
|
upload_protocol = ${common.upload_protocol}
|
||||||
;extra_scripts = pre:publish_firmware.py
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:fipy]
|
[env:fipy]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:lopy]
|
[env:lopy]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
${common_env_data.lib_deps_gps}
|
${common.lib_deps_gps}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:lopy4]
|
[env:lopy4]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
${common_env_data.lib_deps_gps}
|
${common.lib_deps_gps}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
-mfix-esp32-psram-cache-issue
|
-mfix-esp32-psram-cache-issue
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:lolin32litelora]
|
[env:lolin32litelora]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = lolin32
|
board = lolin32
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:lolin32lora]
|
[env:lolin32lora]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = lolin32
|
board = lolin32
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:lolin32lite]
|
[env:lolin32lite]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = lolin32
|
board = lolin32
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
|
||||||
[env:generic]
|
[env:generic]
|
||||||
platform = ${common_env_data.platform_espressif32}
|
platform = ${common.platform_espressif32}
|
||||||
framework = arduino
|
framework = arduino
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
board_build.partitions = ${common_env_data.board_build.partitions}
|
board_build.partitions = ${common.board_build.partitions}
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
monitor_speed = 115200
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${common_env_data.lib_deps_all}
|
${common.lib_deps_all}
|
||||||
${common_env_data.lib_deps_rgbled}
|
${common.lib_deps_rgbled}
|
||||||
${common_env_data.lib_deps_gps}
|
${common.lib_deps_gps}
|
||||||
${common_env_data.lib_deps_display}
|
${common.lib_deps_display}
|
||||||
build_flags =
|
build_flags =
|
||||||
${common_env_data.build_flags}
|
${common.build_flags}
|
||||||
|
upload_protocol = ${common.upload_protocol}
|
||||||
|
extra_scripts = ${common.extra_scripts}
|
||||||
|
monitor_speed = ${common.monitor_speed}
|
||||||
|
@ -16,31 +16,30 @@ import requests
|
|||||||
from os.path import basename
|
from os.path import basename
|
||||||
from platformio import util
|
from platformio import util
|
||||||
|
|
||||||
Import('env')
|
Import("env")
|
||||||
|
|
||||||
project_config = util.load_project_config()
|
project_config = util.load_project_config()
|
||||||
bintray_config = {k: v for k, v in project_config.items("bintray")}
|
bintray_config = {k: v for k, v in project_config.items("bintray")}
|
||||||
version = project_config.get("common", "release_version")
|
version = project_config.get("ota", "release_version")
|
||||||
|
package = env.get("PIOENV")
|
||||||
|
|
||||||
#
|
#
|
||||||
# Push new firmware to the Bintray storage using API
|
# Push new firmware to the Bintray storage using API
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
def publish_firmware(source, target, env):
|
def publish_bintray(source, target, env):
|
||||||
firmware_path = str(source[0])
|
firmware_path = str(source[0])
|
||||||
firmware_name = basename(firmware_path)
|
firmware_name = basename(firmware_path)
|
||||||
|
|
||||||
print("Uploading {0} to Bintray. Version: {1}".format(
|
print("Uploading {0} to Bintray. Version: {1}".format(
|
||||||
firmware_name, version))
|
firmware_name, version))
|
||||||
|
|
||||||
print(firmware_path, firmware_name)
|
|
||||||
|
|
||||||
url = "/".join([
|
url = "/".join([
|
||||||
"https://api.bintray.com", "content",
|
"https://api.bintray.com", "content",
|
||||||
bintray_config.get("user"),
|
bintray_config.get("user"),
|
||||||
bintray_config.get("repository"),
|
bintray_config.get("repository"),
|
||||||
bintray_config.get("package"), version, firmware_name
|
package, version, firmware_name
|
||||||
])
|
])
|
||||||
|
|
||||||
print(url)
|
print(url)
|
||||||
@ -65,7 +64,8 @@ def publish_firmware(source, target, env):
|
|||||||
|
|
||||||
|
|
||||||
# Custom upload command and program name
|
# Custom upload command and program name
|
||||||
|
|
||||||
env.Replace(
|
env.Replace(
|
||||||
PROGNAME="firmware_v_%s" % version,
|
PROGNAME="firmware_" + package + "_v%s" % version,
|
||||||
UPLOADCMD=publish_firmware
|
UPLOADCMD=publish_bintray
|
||||||
)
|
)
|
39
src/OTA.cpp
39
src/OTA.cpp
@ -59,16 +59,16 @@ void checkFirmwareUpdates() {
|
|||||||
// Fetch the latest firmware version
|
// Fetch the latest firmware version
|
||||||
ESP_LOGI(TAG, "OTA mode, checking latest firmware version on server...");
|
ESP_LOGI(TAG, "OTA mode, checking latest firmware version on server...");
|
||||||
const String latest = bintray.getLatestVersion();
|
const String latest = bintray.getLatestVersion();
|
||||||
|
|
||||||
if (latest.length() == 0) {
|
if (latest.length() == 0) {
|
||||||
ESP_LOGI(
|
ESP_LOGI(
|
||||||
TAG,
|
TAG,
|
||||||
"Could not load info about the latest firmware. Rebooting to runmode.");
|
"Could not load info about the latest firmware. Rebooting to runmode.");
|
||||||
return;
|
return;
|
||||||
} else if (atoi(latest.c_str()) <= VERSION) {
|
} else if (version_compare(latest, cfg.version) <= 0) {
|
||||||
ESP_LOGI(TAG, "Current firmware is up to date. Rebooting to runmode.");
|
ESP_LOGI(TAG, "Current firmware is up to date. Rebooting to runmode.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ESP_LOGI(TAG, "New firmware version v%s available. Downloading...",
|
ESP_LOGI(TAG, "New firmware version v%s available. Downloading...",
|
||||||
latest.c_str());
|
latest.c_str());
|
||||||
processOTAUpdate(latest);
|
processOTAUpdate(latest);
|
||||||
@ -218,4 +218,39 @@ void processOTAUpdate(const String &version) {
|
|||||||
"There was no valid content in the response from the OTA server!");
|
"There was no valid content in the response from the OTA server!");
|
||||||
client.flush();
|
client.flush();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// helper function to compare two versions. Returns 1 if v2 is
|
||||||
|
// smaller, -1 if v1 is smaller, 0 if equal
|
||||||
|
|
||||||
|
int version_compare(const String v1, const String v2) {
|
||||||
|
// vnum stores each numeric part of version
|
||||||
|
int vnum1 = 0, vnum2 = 0;
|
||||||
|
|
||||||
|
// loop untill both string are processed
|
||||||
|
for (int i = 0, j = 0; (i < v1.length() || j < v2.length());) {
|
||||||
|
// storing numeric part of version 1 in vnum1
|
||||||
|
while (i < v1.length() && v1[i] != '.') {
|
||||||
|
vnum1 = vnum1 * 10 + (v1[i] - '0');
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// storing numeric part of version 2 in vnum2
|
||||||
|
while (j < v2.length() && v2[j] != '.') {
|
||||||
|
vnum2 = vnum2 * 10 + (v2[j] - '0');
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vnum1 > vnum2)
|
||||||
|
return 1;
|
||||||
|
if (vnum2 > vnum1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
// if equal, reset variables and go for next numeric
|
||||||
|
// part
|
||||||
|
vnum1 = vnum2 = 0;
|
||||||
|
i++;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef OTA_H
|
#ifndef OTA_H
|
||||||
#define OTA_H
|
#define OTA_H
|
||||||
|
|
||||||
|
#include "globals.h"
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
#include <WiFiClientSecure.h>
|
#include <WiFiClientSecure.h>
|
||||||
#include <Update.h>
|
#include <Update.h>
|
||||||
@ -9,5 +10,6 @@
|
|||||||
void checkFirmwareUpdates();
|
void checkFirmwareUpdates();
|
||||||
void processOTAUpdate(const String &version);
|
void processOTAUpdate(const String &version);
|
||||||
void start_ota_update();
|
void start_ota_update();
|
||||||
|
int version_compare(const String v1, const String v2);
|
||||||
|
|
||||||
#endif // OTA_H
|
#endif // OTA_H
|
@ -4,10 +4,6 @@
|
|||||||
// The mother of all embedded development...
|
// The mother of all embedded development...
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
// attn: increment version after modifications to configData_t truct!
|
|
||||||
#define PROGVERSION "1.4.30" // use max 10 chars here!
|
|
||||||
#define PROGNAME "PAXCNT"
|
|
||||||
|
|
||||||
// std::set for unified array functions
|
// std::set for unified array functions
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <array>
|
#include <array>
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
/* Hardware related definitions for TTGO V2.1 Board
|
|
||||||
/ ATTENTION: check your board version!
|
|
||||||
/ Different versions are on the market which need different settings in this file:
|
|
||||||
/ - without label -> use settings (2)
|
|
||||||
/ - labeled V1.5 on pcb -> use settings (2)
|
|
||||||
/ - labeled V1.6 on pcb -> use settings (1)
|
|
||||||
/ Choose the right configuration below
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
// (1) settings for board labeled "T3_V1.6" on pcb
|
|
||||||
|
|
||||||
#define HAS_LORA 1 // comment out if device shall not send data via LoRa
|
|
||||||
#define HAS_SPI 1 // comment out if device shall not send data via SPI
|
|
||||||
#define CFG_sx1276_radio 1 // HPD13A LoRa SoC
|
|
||||||
|
|
||||||
#define HAS_DISPLAY U8X8_SSD1306_128X64_NONAME_HW_I2C
|
|
||||||
#define HAS_LED GPIO_NUM_25 // green on board LED
|
|
||||||
#define HAS_BATTERY_PROBE ADC1_GPIO35_CHANNEL // uses GPIO7
|
|
||||||
#define BATT_FACTOR 2 // voltage divider 100k/100k on board
|
|
||||||
|
|
||||||
// re-define pin definitions of pins_arduino.h
|
|
||||||
#define PIN_SPI_SS GPIO_NUM_18 // ESP32 GPIO18 (Pin18) -- HPD13A NSS/SEL (Pin4) SPI Chip Select Input
|
|
||||||
#define PIN_SPI_MOSI GPIO_NUM_27 // ESP32 GPIO27 (Pin27) -- HPD13A MOSI/DSI (Pin6) SPI Data Input
|
|
||||||
#define PIN_SPI_MISO GPIO_NUM_19 // ESP32 GPIO19 (Pin19) -- HPD13A MISO/DSO (Pin7) SPI Data Output
|
|
||||||
#define PIN_SPI_SCK GPIO_NUM_5 // ESP32 GPIO5 (Pin5) -- HPD13A SCK (Pin5) SPI Clock Input
|
|
||||||
|
|
||||||
// non arduino pin definitions
|
|
||||||
#define RST GPIO_NUM_23 // ESP32 GPIO23 <-> HPD13A RESET
|
|
||||||
#define DIO0 GPIO_NUM_26 // ESP32 GPIO26 <-> HPD13A IO0
|
|
||||||
#define DIO1 GPIO_NUM_33 // ESP32 GPIO33 <-> HPDIO1 <-> HPD13A IO1
|
|
||||||
#define DIO2 GPIO_NUM_32 // ESP32 GPIO32 <-> HPDIO2 <-> HPD13A IO2
|
|
||||||
|
|
||||||
// Hardware pin definitions for TTGO V2 Board with OLED SSD1306 0,96" I2C Display
|
|
||||||
#define OLED_RST U8X8_PIN_NONE // connected to CPU RST/EN
|
|
||||||
#define OLED_SDA GPIO_NUM_21 // ESP32 GPIO21 -- SD1306 D1+D2
|
|
||||||
#define OLED_SCL GPIO_NUM_22 // ESP32 GPIO22 -- SD1306 D0
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
// (2) settings for boards without label on pcb, or labeled v1.5 on pcb
|
|
||||||
|
|
||||||
#define HAS_LORA 1 // comment out if device shall not send data via LoRa
|
|
||||||
#define HAS_SPI 1 // comment out if device shall not send data via SPI
|
|
||||||
#define CFG_sx1276_radio 1 // HPD13A LoRa SoC
|
|
||||||
#define HAS_LED NOT_A_PIN // no usable LED on board
|
|
||||||
|
|
||||||
#define HAS_DISPLAY U8X8_SSD1306_128X64_NONAME_HW_I2C
|
|
||||||
#define DISPLAY_FLIP 1 // rotated display
|
|
||||||
#define HAS_BATTERY_PROBE ADC1_GPIO35_CHANNEL // uses GPIO7
|
|
||||||
#define BATT_FACTOR 2 // voltage divider 100k/100k on board
|
|
||||||
|
|
||||||
// re-define pin definitions of pins_arduino.h
|
|
||||||
#define PIN_SPI_SS GPIO_NUM_18 // ESP32 GPIO18 (Pin18) -- HPD13A NSS/SEL (Pin4) SPI Chip Select Input
|
|
||||||
#define PIN_SPI_MOSI GPIO_NUM_27 // ESP32 GPIO27 (Pin27) -- HPD13A MOSI/DSI (Pin6) SPI Data Input
|
|
||||||
#define PIN_SPI_MISO GPIO_NUM_19 // ESP32 GPIO19 (Pin19) -- HPD13A MISO/DSO (Pin7) SPI Data Output
|
|
||||||
#define PIN_SPI_SCK GPIO_NUM_5 // ESP32 GPIO5 (Pin5) -- HPD13A SCK (Pin5) SPI Clock Input
|
|
||||||
|
|
||||||
// non arduino pin definitions
|
|
||||||
#define RST LMIC_UNUSED_PIN // connected to ESP32 RST/EN (old board)
|
|
||||||
//#define RST GPIO_NUM_12 // (boards labeled v1.5)
|
|
||||||
#define DIO0 GPIO_NUM_26 // ESP32 GPIO26 <-> HPD13A IO0
|
|
||||||
#define DIO1 GPIO_NUM_33 // ESP32 GPIO33 <-> HPDIO1 <-> HPD13A IO1
|
|
||||||
#define DIO2 GPIO_NUM_32 // ESP32 GPIO32 <-> HPDIO2 <-> HPD13A IO2
|
|
||||||
|
|
||||||
// Hardware pin definitions for TTGO V2 Board with OLED SSD1306 0,96" I2C Display
|
|
||||||
#define OLED_RST U8X8_PIN_NONE // connected to CPU RST/EN
|
|
||||||
#define OLED_SDA GPIO_NUM_21 // ESP32 GPIO21 -- SD1306 D1+D2
|
|
||||||
#define OLED_SCL GPIO_NUM_22 // ESP32 GPIO22 -- SD1306 D0
|
|
30
src/hal/ttgov21new.h
Normal file
30
src/hal/ttgov21new.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* Hardware related definitions for TTGO V2.1 Board
|
||||||
|
// ATTENTION: check your board version!
|
||||||
|
// This settings are for boards labeled v1.6 on pcb, NOT for v1.5 or older
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define HAS_LORA 1 // comment out if device shall not send data via LoRa
|
||||||
|
#define HAS_SPI 1 // comment out if device shall not send data via SPI
|
||||||
|
#define CFG_sx1276_radio 1 // HPD13A LoRa SoC
|
||||||
|
|
||||||
|
#define HAS_DISPLAY U8X8_SSD1306_128X64_NONAME_HW_I2C
|
||||||
|
#define HAS_LED GPIO_NUM_25 // green on board LED
|
||||||
|
#define HAS_BATTERY_PROBE ADC1_GPIO35_CHANNEL // uses GPIO7
|
||||||
|
#define BATT_FACTOR 2 // voltage divider 100k/100k on board
|
||||||
|
|
||||||
|
// re-define pin definitions of pins_arduino.h
|
||||||
|
#define PIN_SPI_SS GPIO_NUM_18 // ESP32 GPIO18 (Pin18) -- HPD13A NSS/SEL (Pin4) SPI Chip Select Input
|
||||||
|
#define PIN_SPI_MOSI GPIO_NUM_27 // ESP32 GPIO27 (Pin27) -- HPD13A MOSI/DSI (Pin6) SPI Data Input
|
||||||
|
#define PIN_SPI_MISO GPIO_NUM_19 // ESP32 GPIO19 (Pin19) -- HPD13A MISO/DSO (Pin7) SPI Data Output
|
||||||
|
#define PIN_SPI_SCK GPIO_NUM_5 // ESP32 GPIO5 (Pin5) -- HPD13A SCK (Pin5) SPI Clock Input
|
||||||
|
|
||||||
|
// non arduino pin definitions
|
||||||
|
#define RST GPIO_NUM_23 // ESP32 GPIO23 <-> HPD13A RESET
|
||||||
|
#define DIO0 GPIO_NUM_26 // ESP32 GPIO26 <-> HPD13A IO0
|
||||||
|
#define DIO1 GPIO_NUM_33 // ESP32 GPIO33 <-> HPDIO1 <-> HPD13A IO1
|
||||||
|
#define DIO2 GPIO_NUM_32 // ESP32 GPIO32 <-> HPDIO2 <-> HPD13A IO2
|
||||||
|
|
||||||
|
// Hardware pin definitions for TTGO V2 Board with OLED SSD1306 0,96" I2C Display
|
||||||
|
#define OLED_RST U8X8_PIN_NONE // connected to CPU RST/EN
|
||||||
|
#define OLED_SDA GPIO_NUM_21 // ESP32 GPIO21 -- SD1306 D1+D2
|
||||||
|
#define OLED_SCL GPIO_NUM_22 // ESP32 GPIO22 -- SD1306 D0
|
32
src/hal/ttgov21old.h
Normal file
32
src/hal/ttgov21old.h
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
/* Hardware related definitions for TTGO V2.1 Board
|
||||||
|
// ATTENTION: check your board version!
|
||||||
|
// This settings are for boards without label on pcb, or labeled v1.5 on pcb
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define HAS_LORA 1 // comment out if device shall not send data via LoRa
|
||||||
|
#define HAS_SPI 1 // comment out if device shall not send data via SPI
|
||||||
|
#define CFG_sx1276_radio 1 // HPD13A LoRa SoC
|
||||||
|
#define HAS_LED NOT_A_PIN // no usable LED on board
|
||||||
|
|
||||||
|
#define HAS_DISPLAY U8X8_SSD1306_128X64_NONAME_HW_I2C
|
||||||
|
#define DISPLAY_FLIP 1 // rotated display
|
||||||
|
#define HAS_BATTERY_PROBE ADC1_GPIO35_CHANNEL // uses GPIO7
|
||||||
|
#define BATT_FACTOR 2 // voltage divider 100k/100k on board
|
||||||
|
|
||||||
|
// re-define pin definitions of pins_arduino.h
|
||||||
|
#define PIN_SPI_SS GPIO_NUM_18 // ESP32 GPIO18 (Pin18) -- HPD13A NSS/SEL (Pin4) SPI Chip Select Input
|
||||||
|
#define PIN_SPI_MOSI GPIO_NUM_27 // ESP32 GPIO27 (Pin27) -- HPD13A MOSI/DSI (Pin6) SPI Data Input
|
||||||
|
#define PIN_SPI_MISO GPIO_NUM_19 // ESP32 GPIO19 (Pin19) -- HPD13A MISO/DSO (Pin7) SPI Data Output
|
||||||
|
#define PIN_SPI_SCK GPIO_NUM_5 // ESP32 GPIO5 (Pin5) -- HPD13A SCK (Pin5) SPI Clock Input
|
||||||
|
|
||||||
|
// non arduino pin definitions
|
||||||
|
#define RST LMIC_UNUSED_PIN // connected to ESP32 RST/EN (old board)
|
||||||
|
//#define RST GPIO_NUM_12 // (boards labeled v1.5)
|
||||||
|
#define DIO0 GPIO_NUM_26 // ESP32 GPIO26 <-> HPD13A IO0
|
||||||
|
#define DIO1 GPIO_NUM_33 // ESP32 GPIO33 <-> HPDIO1 <-> HPD13A IO1
|
||||||
|
#define DIO2 GPIO_NUM_32 // ESP32 GPIO32 <-> HPDIO2 <-> HPD13A IO2
|
||||||
|
|
||||||
|
// Hardware pin definitions for TTGO V2 Board with OLED SSD1306 0,96" I2C Display
|
||||||
|
#define OLED_RST U8X8_PIN_NONE // connected to CPU RST/EN
|
||||||
|
#define OLED_SDA GPIO_NUM_21 // ESP32 GPIO21 -- SD1306 D1+D2
|
||||||
|
#define OLED_SCL GPIO_NUM_22 // ESP32 GPIO22 -- SD1306 D0
|
@ -90,7 +90,7 @@ void setup() {
|
|||||||
esp_log_set_vprintf(redirect_log);
|
esp_log_set_vprintf(redirect_log);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Starting %s v%s", PROGNAME, PROGVERSION);
|
ESP_LOGI(TAG, "Starting %s v%s", PRODUCTNAME, PROGVERSION);
|
||||||
|
|
||||||
// initialize system event handler for wifi task, needed for
|
// initialize system event handler for wifi task, needed for
|
||||||
// wifi_sniffer_init()
|
// wifi_sniffer_init()
|
||||||
@ -213,7 +213,7 @@ void setup() {
|
|||||||
#ifdef HAS_DISPLAY
|
#ifdef HAS_DISPLAY
|
||||||
strcat_P(features, " OLED");
|
strcat_P(features, " OLED");
|
||||||
DisplayState = cfg.screenon;
|
DisplayState = cfg.screenon;
|
||||||
init_display(PROGNAME, PROGVERSION);
|
init_display(PRODUCTNAME, PROGVERSION);
|
||||||
|
|
||||||
// setup display refresh trigger IRQ using esp32 hardware timer
|
// setup display refresh trigger IRQ using esp32 hardware timer
|
||||||
// https://techtutorialsx.com/2017/10/07/esp32-arduino-timer-interrupts/
|
// https://techtutorialsx.com/2017/10/07/esp32-arduino-timer-interrupts/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
//
|
//
|
||||||
// Note: After editing, before "build", use "clean" button in PlatformIO!
|
// Note: After editing, before "build", use "clean" button in PlatformIO!
|
||||||
|
|
||||||
|
#define PRODUCTNAME "PAXCNT"
|
||||||
|
|
||||||
// Verbose enables serial output
|
// Verbose enables serial output
|
||||||
#define VERBOSE 1 // comment out to silence the device, for mute use build option
|
#define VERBOSE 1 // comment out to silence the device, for mute use build option
|
||||||
|
|
||||||
|
@ -52,8 +52,8 @@ void PayloadConvert::addConfig(configData_t value) {
|
|||||||
cursor += 10;
|
cursor += 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PayloadConvert::addStatus(uint16_t voltage, uint64_t uptime,
|
void PayloadConvert::addStatus(uint16_t voltage, uint64_t uptime, float cputemp,
|
||||||
float cputemp, uint32_t mem) {
|
uint32_t mem, uint8_t reset1, uint8_t reset2) {
|
||||||
|
|
||||||
buffer[cursor++] = highByte(voltage);
|
buffer[cursor++] = highByte(voltage);
|
||||||
buffer[cursor++] = lowByte(voltage);
|
buffer[cursor++] = lowByte(voltage);
|
||||||
@ -124,6 +124,7 @@ void PayloadConvert::addConfig(configData_t value) {
|
|||||||
value.screenon ? true : false, value.countermode ? true : false,
|
value.screenon ? true : false, value.countermode ? true : false,
|
||||||
value.blescan ? true : false, value.wifiant ? true : false,
|
value.blescan ? true : false, value.wifiant ? true : false,
|
||||||
value.vendorfilter ? true : false, value.gpsmode ? true : false);
|
value.vendorfilter ? true : false, value.gpsmode ? true : false);
|
||||||
|
writeVersion(value.version);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PayloadConvert::addStatus(uint16_t voltage, uint64_t uptime, float cputemp,
|
void PayloadConvert::addStatus(uint16_t voltage, uint64_t uptime, float cputemp,
|
||||||
@ -160,6 +161,11 @@ void PayloadConvert::writeUptime(uint64_t uptime) {
|
|||||||
intToBytes(cursor, uptime, 8);
|
intToBytes(cursor, uptime, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PayloadConvert::writeVersion(char * version) {
|
||||||
|
memcpy(buffer + cursor, version, 10);
|
||||||
|
cursor += 10;
|
||||||
|
}
|
||||||
|
|
||||||
void PayloadConvert::writeLatLng(double latitude, double longitude) {
|
void PayloadConvert::writeLatLng(double latitude, double longitude) {
|
||||||
intToBytes(cursor, latitude, 4);
|
intToBytes(cursor, latitude, 4);
|
||||||
intToBytes(cursor, longitude, 4);
|
intToBytes(cursor, longitude, 4);
|
||||||
|
@ -64,6 +64,7 @@ private:
|
|||||||
void writeUint8(uint8_t i);
|
void writeUint8(uint8_t i);
|
||||||
void writeHumidity(float humidity);
|
void writeHumidity(float humidity);
|
||||||
void writeTemperature(float temperature);
|
void writeTemperature(float temperature);
|
||||||
|
void writeVersion(char * version);
|
||||||
void writeBitmap(bool a, bool b, bool c, bool d, bool e, bool f, bool g,
|
void writeBitmap(bool a, bool b, bool c, bool d, bool e, bool f, bool g,
|
||||||
bool h);
|
bool h);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user