bugfix payload encoder (txpower was missing)
This commit is contained in:
parent
477b6bd749
commit
d55899a83f
76
README.md
76
README.md
@ -131,35 +131,37 @@ Hereafter described is the default *plain* format, which uses MSB bit numbering.
|
|||||||
|
|
||||||
**Port #2:** Device status query result
|
**Port #2:** Device status query result
|
||||||
|
|
||||||
byte 1-2: Voltage [mV]
|
byte 1-2: Battery or USB Voltage [mV], 0 if unreadable
|
||||||
byte 3-11: Uptime [seconds]
|
byte 3-10: Uptime [seconds]
|
||||||
bytes 12-16: CPU temperature [°C]
|
bytes 11-14: CPU temperature [°C]
|
||||||
|
|
||||||
**Port #3:** Device configuration query result
|
**Port #3:** Device configuration query result
|
||||||
|
|
||||||
byte 1: LoRa spread factor
|
byte 1: Lora SF (7..12) [default 9]
|
||||||
byte 2: ADR mode on/off
|
byte 2: Lora TXpower (2..15) [default 15]
|
||||||
byte 3: Screensaver on/off
|
byte 3: Lora ADR (1=on, 0=off) [default 1]
|
||||||
byte 4: Display on/off
|
byte 4: Screensaver status (1=on, 0=off) [default 0]
|
||||||
byte 5: Counter mode
|
byte 5: Display status (1=on, 0=off) [default 0]
|
||||||
bytes 6-7: RSSI limit
|
byte 6: Counter mode (0=cyclic unconfirmed, 1=cumulative, 2=cyclic confirmed) [default 0]
|
||||||
byte 8: Payload send cycle [sec/2]
|
bytes 7-8: RSSI limiter threshold value (negative) [default 0]
|
||||||
byte 9: Wifi channel switch cycle [sec/100]
|
byte 9: Lora Payload send cycle in seconds/2 (0..255) [default 120]
|
||||||
byte 10: Bluetooth scan duration [sec/100]
|
byte 10: Wifi channel switch interval in seconds/100 (0..255) [default 50]
|
||||||
byte 11: Bluetooth scanning on/off
|
byte 11: Bluetooth channel switch interval in seconds/100 (0..255) [efault 10]
|
||||||
byte 12: Wifi antenna internal/external
|
byte 12: Bluetooth scanner status (1=on, 0=0ff) [default 1]
|
||||||
byte 13: Vendorfilter on/off
|
byte 13: Wifi antenna switch (0=internal, 1=external) [default 0]
|
||||||
byte 14: RGB Led luminosity [%]
|
byte 14: Vendorfilter mode (0=disabled, 1=enabled) [default 0]
|
||||||
byte 15: GPS data on/off
|
byte 15: RGB LED luminosity (0..100 %) [default 30]
|
||||||
bytes 16-26: Software version [ASCII]
|
byte 16: GPS send data mode (1=on, 0=ff) [default 1]
|
||||||
|
bytes 17-27: Software version (ASCII format, terminating with zero)
|
||||||
|
|
||||||
|
|
||||||
**Port #4:** GPS query result
|
**Port #4:** GPS query result
|
||||||
|
|
||||||
bytes 1-4: Latitude
|
bytes 1-4: Latitude
|
||||||
bytes 5-8: Longitude
|
bytes 5-8: Longitude
|
||||||
bytes 9-10: Number of satellites
|
byte 9: Number of satellites
|
||||||
bytes 11-12: HDOP
|
bytes 10-11: HDOP
|
||||||
bytes 13-14: Altitude [meter]
|
bytes 12-13: Altitude [meter]
|
||||||
|
|
||||||
|
|
||||||
[**plain_decoder.js**](src/TTN/plain_decoder.js)
|
[**plain_decoder.js**](src/TTN/plain_decoder.js)
|
||||||
@ -297,39 +299,17 @@ Note: all settings are stored in NVRAM and will be reloaded when device starts.
|
|||||||
|
|
||||||
0x80 get device configuration
|
0x80 get device configuration
|
||||||
|
|
||||||
device answers with it's current configuration. The configuration is a C structure declared in file [main.h](src/main.h#L13-L31) with the following definition:
|
Device answers with it's current configuration on Port 3.
|
||||||
|
|
||||||
byte 1: Lora SF (7..12) [default 9]
|
|
||||||
byte 2: Lora TXpower (2..15) [default 15]
|
|
||||||
byte 3: Lora ADR (1=on, 0=off) [default 1]
|
|
||||||
byte 4: Screensaver status (1=on, 0=off) [default 0]
|
|
||||||
byte 5: Display status (1=on, 0=off) [default 0]
|
|
||||||
byte 6: Counter mode (0=cyclic unconfirmed, 1=cumulative, 2=cyclic confirmed) [default 0]
|
|
||||||
bytes 7-8: RSSI limiter threshold value (negative) [default 0]
|
|
||||||
byte 9: Lora Payload send cycle in seconds/2 (0..255) [default 120]
|
|
||||||
byte 10: Wifi channel switch interval in seconds/100 (0..255) [default 50]
|
|
||||||
byte 11: Bluetooth channel switch interval in seconds/100 (0..255) [efault 10]
|
|
||||||
byte 12: Bluetooth scanner status (1=on, 0=0ff) [default 1]
|
|
||||||
byte 13: Wifi antenna switch (0=internal, 1=external) [default 0]
|
|
||||||
byte 14: Vendorfilter mode (0=disabled, 1=enabled) [default 0]
|
|
||||||
byte 15: RGB LED luminosity (0..100 %) [default 30]
|
|
||||||
byte 16: GPS send data mode (1=on, 0=ff) [default 1]
|
|
||||||
bytes 17-27: Software version (ASCII format, terminating with zero)
|
|
||||||
|
|
||||||
0x81 get device status
|
0x81 get device status
|
||||||
|
|
||||||
bytes 1-2: Battery voltage in millivolt, 0 if unreadable
|
Device answers with it's current status on Port 2.
|
||||||
bytes 3-10: Uptime in seconds
|
|
||||||
bytes 11-14: Chip temperature in degrees celsius
|
|
||||||
|
|
||||||
0x84 get device GPS status
|
0x84 get device GPS status
|
||||||
|
|
||||||
bytes 1-4: Latitude
|
Device answers with it's current status on Port 4.
|
||||||
bytes 5-8: Longitude
|
|
||||||
byte 9: Number of satellites
|
|
||||||
byte 10-11: HDOP
|
|
||||||
bytes 12-13: Altidute [meter]
|
|
||||||
|
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
Copyright 2018 Oliver Brandmueller <ob@sysadm.in>
|
Copyright 2018 Oliver Brandmueller <ob@sysadm.in>
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
; ---> SELECT TARGET PLATFORM HERE! <---
|
; ---> SELECT TARGET PLATFORM HERE! <---
|
||||||
[platformio]
|
[platformio]
|
||||||
env_default = generic
|
;env_default = generic
|
||||||
;env_default = heltec
|
env_default = heltec
|
||||||
;env_default = ttgov1
|
;env_default = ttgov1
|
||||||
;env_default = ttgov2
|
;env_default = ttgov2
|
||||||
;env_default = ttgov21
|
;env_default = ttgov21
|
||||||
|
@ -24,7 +24,7 @@ function Decoder(bytes, port) {
|
|||||||
|
|
||||||
if (port === 3) {
|
if (port === 3) {
|
||||||
// device config data
|
// device config data
|
||||||
return decode(bytes, [uint8, uint16, uint8, uint8, uint8, uint8, bitmap], ['lorasf', 'rssilimit', 'sendcycle', 'wifichancycle', 'blescantime', 'rgblum', 'flags']);
|
return decode(bytes, [uint8, uint8, uint16, uint8, uint8, uint8, uint8, bitmap], ['lorasf', 'txpower', 'rssilimit', 'sendcycle', 'wifichancycle', 'blescantime', 'rgblum', 'flags']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (port === 4) {
|
if (port === 4) {
|
||||||
|
10
src/main.cpp
10
src/main.cpp
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
ESP32-Paxcounter
|
|
||||||
|
//////////////////////// ESP32-Paxcounter \\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||||
|
|
||||||
Copyright 2018 Oliver Brandmueller <ob@sysadm.in>
|
Copyright 2018 Oliver Brandmueller <ob@sysadm.in>
|
||||||
Copyright 2018 Klaus Wilting <verkehrsrot@arcor.de>
|
Copyright 2018 Klaus Wilting <verkehrsrot@arcor.de>
|
||||||
@ -28,11 +29,10 @@ licenses. Refer to LICENSE.txt file in repository for more details.
|
|||||||
// Initialize global variables
|
// Initialize global variables
|
||||||
configData_t cfg; // struct holds current device configuration
|
configData_t cfg; // struct holds current device configuration
|
||||||
char display_line6[16], display_line7[16]; // display buffers
|
char display_line6[16], display_line7[16]; // display buffers
|
||||||
uint64_t uptimecounter = 0; // timer global for uptime counter
|
uint8_t DisplayState = 0, channel = 0; // globals for state machine
|
||||||
uint8_t DisplayState = 0; // globals for state machine
|
|
||||||
uint16_t macs_total = 0, macs_wifi = 0,
|
uint16_t macs_total = 0, macs_wifi = 0,
|
||||||
macs_ble = 0; // MAC counters globals for display
|
macs_ble = 0; // MAC counters globals for display
|
||||||
uint8_t channel = 0; // wifi channel rotation counter global for display
|
uint64_t uptimecounter = 0; // timer global for uptime counter
|
||||||
hw_timer_t *channelSwitch = NULL, *displaytimer = NULL,
|
hw_timer_t *channelSwitch = NULL, *displaytimer = NULL,
|
||||||
*sendCycle = NULL; // configure hardware timer for cyclic tasks
|
*sendCycle = NULL; // configure hardware timer for cyclic tasks
|
||||||
|
|
||||||
|
@ -39,8 +39,6 @@
|
|||||||
#define PROGVERSION "1.3.91" // use max 10 chars here!
|
#define PROGVERSION "1.3.91" // use max 10 chars here!
|
||||||
#define PROGNAME "PAXCNT"
|
#define PROGNAME "PAXCNT"
|
||||||
|
|
||||||
//--- Declarations ---
|
|
||||||
|
|
||||||
// Struct holding devices's runtime configuration
|
// Struct holding devices's runtime configuration
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t lorasf; // 7-12, lora spreadfactor
|
uint8_t lorasf; // 7-12, lora spreadfactor
|
||||||
|
@ -44,6 +44,7 @@ void TTNplain::addGPS(gpsStatus_t value) {
|
|||||||
|
|
||||||
void TTNplain::addConfig(configData_t value) {
|
void TTNplain::addConfig(configData_t value) {
|
||||||
buffer[cursor++] = value.lorasf;
|
buffer[cursor++] = value.lorasf;
|
||||||
|
buffer[cursor++] = value.txpower;
|
||||||
buffer[cursor++] = value.adrmode;
|
buffer[cursor++] = value.adrmode;
|
||||||
buffer[cursor++] = value.screensaver;
|
buffer[cursor++] = value.screensaver;
|
||||||
buffer[cursor++] = value.screenon;
|
buffer[cursor++] = value.screenon;
|
||||||
@ -112,6 +113,7 @@ void TTNpacked::addGPS(gpsStatus_t value) {
|
|||||||
|
|
||||||
void TTNpacked::addConfig(configData_t value) {
|
void TTNpacked::addConfig(configData_t value) {
|
||||||
writeUint8(value.lorasf);
|
writeUint8(value.lorasf);
|
||||||
|
writeUint8(value.txpower);
|
||||||
writeUint16(value.rssilimit);
|
writeUint16(value.rssilimit);
|
||||||
writeUint8(value.sendcycle);
|
writeUint8(value.sendcycle);
|
||||||
writeUint8(value.wifichancycle);
|
writeUint8(value.wifichancycle);
|
||||||
|
Loading…
Reference in New Issue
Block a user