![]() - 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> |
||
---|---|---|
.. | ||
README | ||
images.h | ||
preference_storage.h | ||
syslog_log.h | ||
taskGPS.h | ||
taskTNC.h | ||
taskWebServer.h | ||
wifi_clients.h |
README
This directory is intended for project header files. A header file is a file containing C declarations and macro definitions to be shared between several project source files. You request the use of a header file in your project source file (C, C++, etc) located in `src` folder by including it, with the C preprocessing directive `#include'. ```src/main.c #include "header.h" int main (void) { ... } ``` Including a header file produces the same results as copying the header file into each source file that needs it. Such copying would be time-consuming and error-prone. With a header file, the related declarations appear in only one place. If they need to be changed, they can be changed in one place, and programs that include the header file will automatically use the new version when next recompiled. The header file eliminates the labor of finding and changing all the copies as well as the risk that a failure to find one copy will result in inconsistencies within a program. In C, the usual convention is to give header files names that end with `.h'. It is most portable to use only letters, digits, dashes, and underscores in header file names, and at most one dot. Read more about using header files in official GCC documentation: * Include Syntax * Include Operation * Once-Only Headers * Computed Includes https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html