Wykres commitów

583 Commity (de4914b33166f10030291f535eb1a35867b522c8)

Autor SHA1 Wiadomość Data
Thomas Osterried de4914b331 next typo fix
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 16:32:12 +02:00
Thomas Osterried ce4a07d5ed Next beauty fix
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 16:29:36 +02:00
Thomas Osterried 0f39eeed97 next fix in typo
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 16:27:58 +02:00
Thomas Osterried 601765d442 fixed formating
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 16:20:59 +02:00
Thomas Osterried 3505443696 - INSTALL.md: corrected library section
- taskWebserver: added wdt_reset's (tried to fix an issue)

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 16:13:27 +02:00
Thomas Osterried 42fce418ca - webserver docu in web for "Accept own positions via KISS" was wrong
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 10:12:37 +02:00
Thomas Osterried a0a00d267d - Fix for third-party traffic encoding.
- webserver docu in web for "Accept own positions via KISS" was wrong

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-02 10:06:09 +02:00
Thomas Osterried ed560ece19 - important bugfix (Q&D): in read_from_aprsis: header_end was 0 but
it was assured it's not. -> this lead to a memory access violation
- usb_serial_data_type & 2: now also traces own bacon and aprsis 3rd party packet

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-01 21:53:39 +02:00
Thomas Osterried bc808f533c There's a instability issue: Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Perhaps a String concatenation fuckup. Like the problem described here:
  https://forum.arduino.cc/t/guru-meditation-error-core-1-paniced-loadprohibited-exception-was-unhandled/876182/14

Perhaps, this patch solves the issue.
The modification in taskWebserer was quite new.
The other "+ int()" operation was in main .ino.
-> changed them both for this test.

..and fixed a typo

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-01 17:30:32 +02:00
Thomas Osterried 7739a5d1c0 There's a instability issue: Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Perhaps a String concatenation fuckup. Like the problem described here:
  https://forum.arduino.cc/t/guru-meditation-error-core-1-paniced-loadprohibited-exception-was-unhandled/876182/14

Perhaps, this patch solves the issue.
The modification in taskWebserer was quite new.
The other "+ int()" operation was in main .ino.
-> changed them both for this test.

..and fixed a typo

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-01 17:19:28 +02:00
Thomas Osterried a274a250c3 There's a instability issue: Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Perhaps a String concatenation fuckup. Like the problem described here:
  https://forum.arduino.cc/t/guru-meditation-error-core-1-paniced-loadprohibited-exception-was-unhandled/876182/14

Perhaps, this patch solves the issue.
The modification in taskWebserer was quite new.
The other "+ int()" operation was in main .ino.
-> changed them both for this test.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-10-01 16:52:52 +02:00
Thomas Osterried beb633e158 Add uptime to boot message
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-30 14:26:40 +02:00
Thomas Osterried ad44070476 String Rebooted -> Booted
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-29 12:24:34 +02:00
Thomas Osterried 5835bc9568 info about shutdown or reboot
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-29 11:08:57 +02:00
Thomas Osterried 01a909b7e3 Webinterface: better description of the hardware buttons of the TTGO T-Beam
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-29 09:13:00 +02:00
Thomas Osterried 94f8a976c9 New feature: usb-serial TNC-mode
usb-serial: 4 options: KISS, logging, tnc-format-trace, logging AND tnc-format-trace,
almost no logging

Test: platform.ini: enabled syslog for all devides

Moved spiffs config reading to the place before starting the webserver

Serial.println() uses obviously CRLF. Some Serial.printf() functions only \n;
changed them to \r\n.

Moved do_send_status_message_to_aprsis to connect_to_aprsis; displayed
fixes tries counter.

Changed syslog prio from KERN to LOG_LOCAL0. Tracker should not
mess up remote servers kernel warnings.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-25 10:15:58 +02:00
Thomas Osterried 8c2820ca88 New feature: usb-serial TNC-mode
usb-serial: 4 options: KISS, logging, tnc-format-trace, logging AND tnc-format-trace,
almost no logging

Test: platform.ini: enabled syslog for all devides

Moved spiffs config reading to the place before starting the webserver

Serial.println() uses obviously CRLF. Some Serial.printf() functions only \n;
changed them to \r\n.

Moved do_send_status_message_to_aprsis to connect_to_aprsis; displayed
fixes tries counter.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-25 09:51:57 +02:00
Thomas Osterried f4d5d4496c New feature: usb-serial TNC-mode
usb-serial: 4 options: KISS, logging, tnc-format-trace, logging AND tnc-format-trace,
                       almost no logging

Test: platform.ini: enabled syslog for all devides

Moved spiffs config reading to the place before starting the webserver

Serial.println() uses obviously CRLF. Some Serial.printf() functions only \n;
changed them to \r\n.

Moved do_send_status_message_to_aprsis to connect_to_aprsis; displayed
fixes tries counter.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-25 09:02:08 +02:00
Thomas Osterried f6bf611d65 Logging on Webserver events like reboot-button-pressed.
Thanks to dl3el for the idea

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-21 07:37:41 +02:00
Thomas Osterried 81c0b82e8b Shorter reconnect timer to aprs-is
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 22:39:47 +02:00
Thomas Osterried a4f3df510b Fix for preferences for statusmessage
..and some other smaller issues

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 22:08:44 +02:00
Thomas Osterried e574248503 Next fixes after the larger redesign
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 20:42:09 +02:00
Thomas Osterried 57ee8dc18c syslog fix
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 13:44:37 +02:00
Thomas Osterried a70f39294e Next try connection fix. Fix in receive_from_aprsis(). syslog: allow empty syslog server.
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 12:52:25 +02:00
Thomas Osterried 5924c838a6 Tried to separate code in functions in aprsis part.
It compiles, but still needs to be testet.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 11:36:51 +02:00
Thomas Osterried 49c9fae95f Q&D fix for broken aprs-connect
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-20 00:31:59 +02:00
Thomas Osterried 14a76e3e38 Testing bad connect behaviour to aprs-is since commit of yesterday.
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-19 22:59:06 +02:00
Thomas Osterried cc437ec79c Impportant changes to the last commit (broke things9
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-19 22:57:36 +02:00
Thomas Osterried 4b497ca2d2 Many Fixes. Still need testing.
Better docu in webinterface.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-19 16:57:29 +02:00
Thomas Osterried bb1a5b6196 Many changes again. Cave: needs testing!
- internet connction logging (reboot, wifi- or internet-loss, ..)
  as aprsis-status-message
- better logging logging
  - serial: try to don't corrupt serial kiss
  - syslog
  - both: wise choice of prefix for the log messages
- failback AP if you misconfigured your device.
  Edit data/wifi.cfg to your needs and upload it via pio ... -t uploadfs
  This file is on the device and survives the reset of preferences.
  Thanks to Thomaas dl3el

serial log and syslog are now configurable via web.
In the future, syslog compiled in by default for all devices in preferences.ini

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-17 23:35:44 +02:00
Thomas Osterried 5af482cd63 Bugfix on display.
Harmonized Text on display.

Logging: now two separate strings for weblist and syslog, due to different demands

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-14 06:15:43 +02:00
Thomas Osterried d89190864a Next try to fix locking issue.
And Thomas beautified webinterface

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-11 11:04:44 +02:00
Thomas Osterried 00e9c0db3e Changed reference aprsdirect.com to aprsdirect.de
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-11 10:16:37 +02:00
Thomas Osterried 90447e5756 Fix for sema locking
Was not reliable (and I had a found). Changed it to a volatile variable.
Made Webserver nicer.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-11 09:43:50 +02:00
Thomas Osterried 37378da915 Fix for sema locking
Was not reliable (and I had a found). Changed it to a volatile variable.

    Made Webserver nicer.

    Signed-off-by: Thomas Osterried <dl9sau@darc.de>

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-11 09:34:18 +02:00
Thomas Osterried 71d0a9021e Fix for sema locking
Was not reliable (and I had a found). Changed it to a volatile variable.

Made Webserver nicer.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-11 09:29:20 +02:00
Thomas Osterried fb4f5d6273 Bugfix. Endless loop. Rewrite of jsonEscape()
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-10 12:20:26 +02:00
Thomas Osterried 5967337e56 Better logging of frames with non-printable characters
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-09 01:49:19 +02:00
Thomas Osterried 1004433bd4 fix for syslog stuff
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-07 15:33:54 +02:00
Thomas Osterried 54fd6eab2f fixes and new tests
moved variables lora_RXBUFF and loraRXBUFF to the according functions, instead of global

sema lock for loraSend() and for lora receive

strip eol on received message for syslog and WebList

fix jsonEscape in taskWebserver:
  - "\"+String("\0x7f) is not allowed with '\'-escape-character
  - for (char i = 0; i < 0x20; i++): 0x20 is the first valid char; not 0x1f.
  - replace non-printable characters by '_' instead of \<char>.
    Author may had '\r' in mind for carriage return, but the repleacement would lead to \<cr> -> no valid json escape

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-07 10:50:33 +02:00
Thomas Osterried 45b97dd2df Web OledLine5 now with degrees character
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-06 11:30:27 +02:00
Thomas Osterried cd3c6758e7 Fix for mode AP bug
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-06 08:31:11 +02:00
Thomas Osterried 6271870fc1 small fix
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-09-04 05:38:58 +02:00
Thomas Osterried c02f35f153 Still testing
Mode AP / Mode STA

And fix for mheard list

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-08-31 15:08:32 +02:00
Thomas Osterried 11eb5b56d8 Fixes and new tests for Wifi mode STA and AP handling
Testing -- may be unstable!

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-08-27 12:01:34 +02:00
Thomas Osterried ba8c81ba74 Many fixes, improvements and new features
Changelog of 2022-08-21:

show time constantly in line1

show time now in line1 (comes from system clock, either set from gps
or by ntp-client)
show uptime in line1
show wifi / webserver state in line2 (CLI|AP|off)
show time until next tx in line
Text updates in index.html

Code beautifying

Signed-off-by: DL3EL <dl3el@darc.de>

Also code beautifying

Signed-off-by: Thomas Osterried <dl9sau@darc.de>

Changelog of 2022-08-20:

- new web option
  - Option Send Course/Speed along with Altitude.
    Option "Show Altitude in compressed position" removed.
- Added hint for min/max values in tooltip
- Tips for reducing power

- platformio.ini:
  - enabled ENABLE_TNC_SELF_TELEMETRY.
    Reason: imho, no really need for telemetry. But code is not much.
    Tried to configure it in web-iface for debug purpose and it had no effect
    (because it was not compiled in).

- always_send_cseSpd_AND_altitude feature (see also webconfig)
- sendpacket() now gets information (flags) why / for what it is called
  This is for deciding, if you send altitude with each transmission
  (then course/speed is always sent in compressed format, and /A=......
  is added to the message text). [Vice versa is not allowed due to spec]
  If disabled, one transmission has course/speed and the next one
  altitude (depending on altitude ratio). Pretty cewl ;)

- improvements on display output

- improvements for handling gps state change valid/invalid.
  Lesser (better) cpu-consuming storage of last position.
  It's now handled in one routine at start of the main loop.

- mheard list: json list was cuted.
  -> -  DynamicJsonDocument doc(MAX_RECEIVED_LIST_SIZE * 500);
     +  DynamicJsonDocument doc(MAX_RECEIVED_LIST_SIZE * 1000);
  But we still face the problem of empty mheard lists in the webinterface.
  -> STILL NEED FOR FIX

- webserver
  - wifi client / AP:
    Fix. If you loose connection to the AP, we now go to the
    algorithm again for reconnect, or start own AP. And if no client
    is associated in AP mode, we also try to re-determine.
    -> moved to new function restart_AP_or_STA()

    Reconnect also if we are STA and got no IP address by dhcp
    (there are some known compatibility issues with some dhcp-serrvers,
    where on dhcp refresh we lost the gateway):
    if (WiFi.getMode() == 1 && (WiFi.status() != WL_CONNECTED || WiFi.localIP() == IP_NULL || WiFi.subnetMask() == IP_SUBNET_NULL || WiFi.gatewayIP() == IP_GATEWAY_NULL))
  - wifi status now with one status variable, i.E.:
      wifi_connection_status = WIFI_RUNNING_AS_AP;
    Used in the main program for display routine.

  - system clock now set from gps time

===
dl3el's commit messages (newest on top)

- update time and sec of next beacon per second, even if rxshow is >0
- show gps time in OLED
- smoothen speed in OLED. display current Position, Uptime & Satt Info on
  Website
- bug fix in WebServer: Enable Wifi menu did not show the currently selected
  value

- Features:
  - Change gps reception in main loop
  - do not accept gps data when hdop is > 8
  - when gps data is invalid, show gps.location.age
  - when beacon is send manually and reset the timer for fixed beacon
  - when oled is constantly on, refresh screen every second
  - show wifi mode on screen (CLI or AP, run or stopped)
  - show SSID & IP on screen when manual tx (button, web) and as boot message

  - Bugfixes:
  - manual send works now, when oled is constantly o

- fix output to Oled Display
- reenable GPS: show alt in Display delay first AUT TX if fixed beacon is on
- show Discharge mA in OLED for optimization
===

And finally, from the old changelog with changes since the last release:

Changelog of 2022-08-09:

Fix
- logical error for setting lora chip to sleep after tx;
  affected users with digipeating mode switched off. -> They did not receive
  any RF packets.

Improvements:
- hack for re-enabling webserver if it was switched off_
  moved from the short-pressed beacon button to the long-pressed GPS button.
  Thanks to Thomas Beiderwieden <dl3el> for the patch.

Feature
- If you press the GPS button, on your OLED display now your AP name and
  IP address are displayed.
  Thanks to Thomas Beiderwieden <dl3el> for the patch.

- Known issues
  The first Menu in the webinterface, "Enable WIFI", stores the chosen
  value. You can see it in the json config, and how boot-up behaves
  (-> correctly stored in the preferences).
  But: the chooser always displays Menu item 1 as active.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>

Changelog of 2022-08-07:

 Major improvements and smaller bugfixes

- feature: option to disable wifi. Saves abt 80mA current
  3 options: 2 alaways on; 1 off if no bluetooth client is connected in between
  60s after boot (watch red oled button; goes off as soon as a
  bt client connects in the boot phase). 0 disable (re-enabl by pressing
  beacon button)
- pseudo csma/cd. ppersist / slottime as we know it from standard
  packet-radio / -APRS
  In loaSend. TODO: better concept with a tx-queue. But this is rather complex,
  because the queue must not grow too large, else we re-send old packts..
- feature to encode altitude in compressed position instead of /A=...
  compressed position can encode course/speed, altitude (and others). Option to
  send course/speed to 0%, 100% or something in between.
  altitude check button is obsolete. Switch off by setting alt ratio to 0.
- cross-digipeating: just for sure, clear rx queue after going back to main
  freq.
- if we are not a digipeater and we have no serial-bt-client, we may let the
  loraChip sleep (axp.setPowerOutPut(AXP192_LDO2, AXP202_OFF)) -> saves current
  (a bit)
- adjust_cpu_freq_to: change CPU frequency. May reduce cpu power consumption
  up to 20 %. Suggesting (and tested with) 80 MHz. USE WITH CARE! I.e.
  40 MHz or 20 MHz did not work with my device (boot phase never ended)
- options to start tncServer and gpsServer (if you don't need them, you
  may not like to expose these tcp ports to your LAN or HAMNET)
- changed preferences.getString(PREFxxxxx) to
  preferences.getString(PREFxxxxx, ""), because if variable is not set,
  the preferences library returns "the variable name itself" - wtf!.
  In the case of PREF_NTP_SERVER, we saw log messages that ntp server
  with fqdn "ntp_server" could not be resolved; it had no impact, because
  it did a failback to the compiled-in default.  Changed call for
  PREF_WIFI_PASSWORD, PREF_AP_PASSWORD, etc.. too.
- wifi-AP: is set to esp_wifi_set_max_tx_power(8) (for lesser power
  consumption of the devie). 8 dBm are too less fore some cases.
  -> New web config for setting max_tx_power in AP- and STA- modes.
- Fix: In mode wifi-client, it did not reconnect if association was lost.
- small improvement for comment-text ratelimiting

BG_RF95.cpp: BG_RF95::SignalDetected feature (needed for pseudo csma/cd)

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-08-21 22:08:47 +02:00
Thomas Osterried d97a3bb863
Merge pull request #4 from DL3EL/master
Fixes and enhancements
2022-08-21 21:36:59 +02:00
DL3EL 622dd5ac93 Text updates in index.html
Signed-off-by: DL3EL <dl3el@darc.de>
2022-08-21 20:43:05 +02:00
DL3EL 47840af0c1 show time constantly in line1
show uptime in line1
show wifi / webserver state in line2 (CLI|AP|off)
show time until next tx in lin

Signed-off-by: DL3EL <dl3el@darc.de>
2022-08-21 20:30:04 +02:00
Thomas Osterried 41e5b27ecd Many fixes, improvements and new features
- new web option
  - Otion Send Course/Speed along with Altitude.
    Removed option "Show Altitude in compressed position" removed.
- Added hint for min/max values in tooltip
- Tips for reducing power

- platformio.ini:
  - enabled ENABLE_TNC_SELF_TELEMETRY.
    Reason: imho, no really need for telemetry. But code is not much.
    Tried to configure it in web-iface for debug purpose and it had no effect:
    because it was not compiled in.

- always_send_cseSpd_AND_altitude feature (see also webconfig)
- sendpacket() now gets information (flags) why / for what it is called
  This is for deciding if you send altitude with each transmission
  (then course/speed is always sent in compressed format, and /A=......
  is added to the message text). [Vice versa is not allowed due to spec]
  If disabled, one transmission has course/speed and the next one
  altitude (depending on altitude ratio). Pretty cewl ;)

- improvements on display output

- improvements for handling gps state change valid/invalid.
  Lesser (better) cpu-consuming storage of last position.
  It's now handled in one routine at start of the main loop.

- mheard list: json list was cuted.
  -> -  DynamicJsonDocument doc(MAX_RECEIVED_LIST_SIZE * 500);
     +  DynamicJsonDocument doc(MAX_RECEIVED_LIST_SIZE * 1000);
  But we still face the problem of empty mheard lists in the webinterface.
  -> STILL NEED FOR FIX

- webserver
  - wifi client / AP:
    Fix. If you loose connection to the AP, we now go to the
    algorithm again for reconnect, or start own AP. And if no client
    is associated in AP mode, we also try to re-determine.
    -> moved to new function restart_AP_or_STA()

    Reconnect also if we are STA and got no IP address by dhcp
    (there are some known compatibility issues with some dhcp-serrvers,
    where on dhcp refresh we lost the gateway):
    if (WiFi.getMode() == 1 && (WiFi.status() != WL_CONNECTED || WiFi.localIP() == IP_NULL || WiFi.subnetMask() == IP_SUBNET_NULL || WiFi.gatewayIP() == IP_GATEWAY_NULL))
  - wifi status now with one status variable, i.E.:
      wifi_connection_status = WIFI_RUNNING_AS_AP;
    Used in the main program for display routine.

===
dl3el's commit messages (newest on top)

- update time and sec of next beacon per second, even if rxshow is >0
- show gps time in OLED  show gps time in OLED
- smoothen speed in OLED. display current Position, Uptime & Satt Info on
  Website
- bug fix in WebServer: Enable Wifi menu did not show the currently selected
  value

- Features:
  - Change gps reception in main loop
  - do not accept gps data when hdop is > 10
  - when gps data is invalid, show gps.location.age
  - when beacon is send manually and reset the timer for fixed beacon
  - when oled is constantly on, refresh screen every second
  - "." blinks in the upper left corner to show system is working
  - show wifi mode on screen (CLI or AP, run or stopped)
  - show SSID & IP on screen when manual tx (button, web) and as boot message

  - Bugfixes:
  - manual send works now, when oled is constantly o

- fix output to Oled Display
- reenable GPS: show alt in Display delay first AUT TX if fixed beacon is on
- show Discharge mA in OLED for optimization
===

And finally, from the old changelog with changes since the last release:

Changelog of 2022-08-09:

Fix
- logical error for setting lora chip to sleep after tx;
  affected users with digipeating mode switched off. -> They did not receive
  any RF packets.

Improvements:
- hack for re-enabling webserver if it was switched off_
  moved from the short-pressed beacon button to the long-pressed GPS button.
  Thanks to Thomas Beiderwieden <dl3el> for the patch.

Feature
- If you press the GPS button, on your OLED display now your AP name and
  IP address are displayed.
  Thanks to Thomas Beiderwieden <dl3el> for the patch.

- Known issues
  The first Menu in the webinterface, "Enable WIFI", stores the chosen
  value. You can see it in the json config, and how boot-up behaves
  (-> correctly stored in the preferences).
  But: the chooser always displays Menu item 1 as active.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>

Changelog of 2022-08-07:

 Major improvements and smaller bugfixes

- feature: option to disable wifi. Saves abt 80mA current
  3 options: 2 alaways on; 1 off if no bluetooth client is connected in between
  60s after boot (watch red oled button; goes off as soon as a
  bt client connects in the boot phase). 0 disable (re-enabl by pressing
  beacon button)
- pseudo csma/cd. ppersist / slottime as we know it from standard
  packet-radio / -APRS
  In loaSend. TODO: better concept with a tx-queue. But this is rather complex,
  because the queue must not grow too large, else we re-send old packts..
- feature to encode altitude in compressed position instead of /A=...
  compressed position can encode course/speed, altitude (and others). Option to
  send course/speed to 0%, 100% or something in between.
  altitude check button is obsolete. Switch off by setting alt ratio to 0.
- cross-digipeating: just for sure, clear rx queue after going back to main
  freq.
- if we are not a digipeater and we have no serial-bt-client, we may let the
  loraChip sleep (axp.setPowerOutPut(AXP192_LDO2, AXP202_OFF)) -> saves current
  (a bit)
- adjust_cpu_freq_to: change CPU frequency. May reduce cpu power consumption
  up to 20 %. Suggesting (and tested with) 80 MHz. USE WITH CARE! I.e.
  40 MHz or 20 MHz did not work with my device (boot phase never ended)
- options to start tncServer and gpsServer (if you don't need them, you
  may not like to expose these tcp ports to your LAN or HAMNET)
- changed preferences.getString(PREFxxxxx) to
  preferences.getString(PREFxxxxx, ""), because if variable is not set,
  the preferences library returns "the variable name itself" - wtf!.
  In the case of PREF_NTP_SERVER, we saw log messages that ntp server
  with fqdn "ntp_server" could not be resolved; it had no impact, because
  it did a failback to the compiled-in default.  Changed call for
  PREF_WIFI_PASSWORD, PREF_AP_PASSWORD, etc.. too.
- wifi-AP: is set to esp_wifi_set_max_tx_power(8) (for lesser power
  consumption of the devie). 8 dBm are too less fore some cases.
  -> New web config for setting max_tx_power in AP- and STA- modes.
- Fix: In mode wifi-client, it did not reconnect if association was lost.
- small improvement for comment-text ratelimiting

BG_RF95.cpp: BG_RF95::SignalDetected feature (needed for pseudo csma/cd)

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-08-20 08:34:28 +02:00