Wykres commitów

532 Commity (e489b5720537f421a1d78542b7318c915eaef667)

Autor SHA1 Wiadomość Data
Thomas Osterried e489b57205 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-07 20:01:24 +02:00
Thomas Osterried bd42756395
Merge pull request #3 from DL3EL/master
Website tooltips: Enhancdments and fixes from dl3el
2022-06-14 17:06:18 +02:00
DL3EL 1e82c6a2aa it should read reboot, not reset
Signed-off-by: DL3EL <dl3el@darc.de>
2022-06-14 15:53:22 +02:00
DL3EL 73acf60884 reflect info on the latest changes in tooltip of website
Signed-off-by: DL3EL <dl3el@darc.de>
2022-06-14 11:39:11 +02:00
Thomas Osterried 669e033517 Small fix for displaying invalid gps position
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-06-11 19:20:01 +02:00
Thomas Osterried e958b9abbb More improvements to smart beaconing when GPS has no fix
Signed-off-by: Thomas Osterried <dl9sau@github>
2022-06-11 18:58:40 +02:00
Thomas Osterried b72f865b60 If fixed_beacon_enabled is enavled, no smartbeaconing will now happen.
Assurance for sendpacket: variable sendpacket_was_called_twice:
avoid making duplicates (if sendpacket() is called
more than one time in the loop).

prepareAPRSFrame() and sendpacket() (who calls it) now with argument
force_fixed:
if fixed position should be sent, or position from gps.

Beauty: reduced code
    create_lat_aprs(const char *delimiter, RawDegrees lat)
    create_lon_aprs(const char *delimiter, RawDegrees lng)
  instead of
    create_lat_aprs_s(RawDegrees lat)
    create_long_aprs(RawDegrees lng)
    create_lat_aprs_s(RawDegrees lat)
    create_long_aprs_s(RawDegrees lng)
  which did almost the same (difference in string only one char)
~

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-06-11 16:56:41 +02:00
Thomas Osterried 93ae68f04b Fix for smart beaconing
nextTX = sb_min_interval * sb_max_speed / average_speed_final;

-> nextTX could become sb_max_interval, but shouldn't.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-06-11 13:08:14 +02:00
Thomas Osterried 24ea1df2ad
Merge pull request #1 from DL3EL/master
DL3EL's display improvements
2022-06-11 12:49:51 +02:00
DL3EL 001cf78f88 delete debug output
correct lentgh of default ap passwd

Signed-off-by: DL3EL <dl3el@darc.de>
2022-06-03 14:46:36 +02:00
DL3EL bac8b9e281 make s_min_nn() more general to reduce code
Signed-off-by: DL3EL <dl3el@darc.de>
2022-06-02 23:17:07 +02:00
DL3EL 9a97e8be7a Replace aprsLatPreset (and Lon) by last valid GPS Pos
Signed-off-by: DL3EL <dl3el@darc.de>
2022-06-02 21:37:59 +02:00
DL3EL e48c2eb5e9 display Lat/Lon in format gg-mm.ss 2022-06-02 11:50:09 +02:00
Thomas Osterried 6baa3faeff small fix
small fix

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-25 00:42:07 +01:00
Thomas Osterried fbb0ecf374 New features and bugfixes
Bugffix
  - apris-is filter argument was ignored

New features
  - We make use of hardware watchdog for esp32.
    -> Measurement against bugs or mis-behaviour
  - automatic reboot affter n hours (i.e. if the wifi client does not reconnect)
  - In Wen handle_Cfg we now show System Uptime (in resolution of a minute)

Documentation:
  - improved description for apris-filter

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-24 23:56:22 +01:00
Thomas Osterried 8e50d09562 New feature: fine-tune aprs-is -> rf
You can now specify, if aprs-is third-party traffic goes
to main freq, secondary freq, both frequencies, or blocked-

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-23 22:54:41 +01:00
Thomas Osterried d87e41f659 Small docu fix
Signed-off-by: Thomas Osterried <dl9sau@github>
2022-03-23 13:24:15 +01:00
Thomas Osterried 8e37d15119 Some fixes. Upgrade recoommended
Bugfixes
  - Path short elements (len < 3) like Q or QQ are configured, they were omittied due to a bug
  - fixed location: did function only if gps was disabled. -> bug fixed.
      -    if (millis() >= next_fixed_beacon && !gps_state) {
      +    if (millis() >= next_fixed_beacon && (!gps_state || !gps.location.isValid())) {
  - maidenhead grid locator setting: JO30AA did work, JO33AA11 did not, JO33AA11BB did. -> fixed

Web:
  - added recommendation for path 'Q' when fyling in higher altitude, like i.e. a balloon
  - added example for an APRS-IS filter
  - deleted word "Preset" at Lat/Lon

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-23 10:44:30 +01:00
Thomas Osterried c4b84bba60 Moved espressif32 lib to v3.5.0
- plaformio:
  - removed Lock to BusIO version 1.9.7.
    The fixed their library.
  - old espressif32 library 3.0.0 is not compatible to current BusIO.
    Version 3.1.1 is.
    Moved all platforms to current stable 3.5.0.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-22 03:08:43 +01:00
Thomas Osterried 103e9102c6 fix for compilation without KISS support
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-21 01:08:23 +01:00
Thomas Osterried 894a941956 Fix for WiFi / BT on TTGO LoRa32 V2.1 (aka T3 V1.6.1)
TTGO LoRa32 V2.1 (aka T3 V1.6.1) has a bug if you use wifi and bt at the
same time. Then web-server will not function anymore.

My hack waits up to 60s during boot if a BT client connects. Else
the web server is started-

Another fix is: compiles again without KISS feature enabled (but not
tested).

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-21 00:50:27 +01:00
Thomas Osterried 4f26f3fb55 fixed tyop
fixed typo and added recommended values

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-14 06:36:49 +01:00
Thomas Osterried bcdf86d296 bugfix on beacon transmission
New MY_APRS_DEST_IDENTIFYER variable did not appear in outstring -> defect packet.
=> beacons prepared by prepareAPRSFrame() were affcted:

  -  outString + MY_APRS_DEST_IDENTIFYER;
  +  outString += MY_APRS_DEST_IDENTIFYER;

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-14 06:22:17 +01:00
Thomas Osterried 5164857e4b Added config option ntp server
You can now configure an ntp server.

If left empty: Auto-choice between pool.ntp.org and ntp.hc.r1.ampr.org according your IP address.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-10 00:54:12 +01:00
Thomas Osterried b741836646 Small fixes and features (around beacons to aprs-is and to RF)
Fix:
if lora tx is disabled, and you are connected to aprs-is, you like to see your beacons there (useful if you are a rx-only igate)

New feature:
- option "TX our beacon to APRS-IS":
  TX our beacon from this device or from-kiss to APRS-IS. You may like to disable this i.e. if you are a portable hotspot togehther your mobile, but like others
than you yourself gate your own packets to APRS-IS -> you'll see at APRS-IS who heard you.
- option "TX our beacon from this device or from-kiss to frequencies":
  Don't send our beacon on RF (but only to kiss and to APRS-IS)

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-09 23:38:49 +01:00
Thomas Osterried bc7a9d8eb3 Minor changes
- bugfix
  - config rx on secondary freq did not work anymore (lost this functionality
    one or two versions before and did not recognize)
  - cross-digi: Now only on receiption on main freq. Had overseen this demand
    in designing phase
- web-interface: new documentation section. currently used for
  - how hardware buttons work
  - about SNR/RSSI path encoding concept

And I revert the hack for github compiled version download: I tried to rename
firmware.bin to fimware.raw, but filename.bin is not the cause of githubs
web 404 error message.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-03-07 21:06:05 +01:00
Thomas Osterried b02e41714b A hand full features and improvements
Major upgrade

- SNR/RSSI encoding (Q...) feature:
  - changed default preference for SNR/RSSI encoding (Q...) to
    lora_add_snr_rssi_to_path = (FLAG_ADD_SNR_RSSI_FOR_KISS |
                 _FLAG_ADD_SNR_RSSI_FOR_APRSIS__ONLY_IF_HEARD_DIRECT)
    ..HEARD_DIRECT is a new feature
  - user may request SNR/RSSI trace by adding to path 'Q' (digis who hear
    him direct add SNR/RSSI), or 'QQ' (every digi adds - useful for
         local RF network trace)
  - more config options in Web-Interface
- Relay-Path: check for invalid input. More tips how to configure.
  Auto-suggest "WIDE1-1" if unexperienced user enters "WIDE1"
- Fixed location setting of Latitude / Longitude:
  Previously, a user had to know the correct notation of APRS spec.
  Now, we are pretty smart and can handle different notations,
  inclusive MAIDENHEAD GRID ;)
- blacklist filter for src-calls and calls in digi path
  - if you have a digipeater or user which behaves bad
  - against mis-use of our infrastructure
- config option for switching of lora RX
- MY_APRS_DEST_IDENTIFYER = ... as one global string instead of multible
  occourences in the code
- improved packet validation
- web-interface input validation (trim() to strip leading/trailing spaces),
  i.e. att callsign, relay path, aprs-is-server-name, -call and -password, ..
- third-partytraffic: changed dstcall from "APRS" to MY_APRS_DEST_IDENTIFYER

..and a test to circumvent github firmware download bug that came in end 2021

Signed-off-by: Thomas Osterried <dl9sau@github>
2022-03-03 16:10:23 +01:00
Thomas Osterried 2b4af8232a aprs-is login:
aprs-is servers answers on login with i.e.
  # logresp DL9SAU-T1 unverified, server T2EISBERG

This answer was not intuitive and I checked the word " verified" for successful login.
In other aprs-is client software, I read they parsed "logresp" as answer from aprs-is servers.

=> My change

+           if (s.indexOf(" logresp") == -1) { aprsis_status = "Error: Login denied: " + s; aprsis_status.trim(); goto on_err; }
+           if (s.indexOf(" verified") == -1) { aprsis_status = "Notice: server responsed not verified: " + s; aprsis_status.trim();

An other response of a server is:
  user DL9SAU-TEST pass -1 scripttest 0.1
  # Invalid username format
We'll send Login denied here, with that message-
[Reason for deny is: len(SSID) is max 2 by definition of the aprs-is-authors.]

If password is wrong, we stay connected.
Notice message in aprsis_staus shows in the web-interface what went wrong.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-01-26 07:45:17 +01:00
Thomas Osterried 8c86db1305 Changes to the web interface
Web index.html:
- Input field "APRS-IS status" and "Current RX Frequency" are now "readonly".
- These fields are not intended for input. They show status. User now sees that he cannot enter anything.
- Upon request, frequency resolution is now 100 Hz. This was the only point for implementing this feature.
  But have in mind that this equpment is not such frequency stable at all.

Web index.html and taskWebserver.cpp:
- New function jsonLineFromDouble now displays lora_freq_rx_curr with decimal point (instead of my previous hack int(*= 1000))

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-01-25 10:13:33 +01:00
Thomas Osterried b9769f271e lora freq/speed rx curr: better preinitialization after reading settings
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-01-24 11:00:12 +01:00
Thomas Osterried 6421e7b300 Bugfix for listen qrg
This fixes a bug that listen qrg is not set to the configured lora_freq from preferences, but to the qrg from compile time (-D..).

Signed-off-by: Thomas Osterried <dl9sau@github>
2022-01-24 10:25:02 +01:00
Thomas Osterried df1c9a7707 Removed a debug message
I have overseen to remove a debug message when I ported my changes from my development version.

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-01-24 10:01:28 +01:00
Thomas Osterried d831da2481 igate->rf: added plausibility checks
Signed-off-by: Thomas Osterried <dl9sau@github>
2022-01-20 17:13:18 +01:00
Thomas Osterried 7677e90ab3 Minor improvements: better detecting
- own packets we receive
- packets we have have repeated
in the code part rf->tracker and in the part inet->tracker

Signed-off-by: Thomas Osterried <dl9sau@github>
2022-01-20 11:30:09 +01:00
Thomas Osterried a2db80ab04 Many new features: rx on both frequencies. APRS-IS igate.
New features:
- rx on main qrg, secondary qrg or both. (If we are not configured as WIDE1 or WIDE2 digi). QSY time depends on amount of other users heard, in  10min qindow.
- tx_qrg for beacon (if we ae configured as WIDE1 or WIDE2 digi)
- tx_power configurable on second frequency
- long waited aprs-is igtate feature. We provide a bid-direcional gateway.
- snr-in-path-encoding compatible for aprs-is (optional)

- added new parameter lora_SPEED to function loraSend()

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2022-01-19 10:37:07 +01:00
Thomas Osterried b74442758a Small fix in add_element_to_path()
Signed-off-by: Thomas Osterried <dl9sau@github>
2021-12-21 20:27:54 +01:00
Thomas Osterried 85abb790d1 Small fix in marking path until last repeated digipeater
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2021-12-21 20:08:40 +01:00
Thomas Osterried 84644e0579 New features: configuarable txpower, and disable lora tx, and Link for downloading configuration
New features:
  - txpower configurable (previously only compile time option in platform.ini)
    If not configured in platform.ini (previously necessary), it now defaults to 23.0
  - New Enable LoRa TX variable. If disabled, it's assured that TX will never happen
    (i.e. in order to protect rx amplifier)
    This option is also definable in platformio.ini, if you comment out:
      ;-D 'TXDISABLE'
    If set, it also enforces txpower 0.

    =>

    #ifdef TXDISABLE               // define TXDISABLE if you like to ensure that we never
TX (i.e. if we are behind an rx-amplifier)
    boolean lora_tx_enabled = false;
    uint8_t txPower = 0;
    #else
    boolean lora_tx_enabled = true;
    #ifdef TXdbmW
     uint8_t txPower = TXdbmW;
    #else
     uint8_t txPower = 23;
    #endif
    endif

    ;))

  - Web-Interface: Link to /cfg (-> make it easier for users to show the json and
    store the current configuration). This is better than making screenshots of
    the website ;)
    If could be done better (download link, ..). And possibility to upload
    the configuration from backup. Who likes to implement this?

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2021-12-19 14:31:36 +01:00
Thomas Osterried c728ff73e4 Q-encoding: Corrected example
Signed-off-by: Thomas Osterried <dl9sau@github>
2021-12-01 15:16:35 +01:00
Thomas Osterried 073cef610e Small redesign of RSSI/SNR Q-path-encoding
Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2021-12-01 14:32:13 +01:00
Thomas Osterried fd918f57c9 beautiness: correct indent 2021-11-30 04:56:16 +01:00
Thomas Osterried f3cee1504c Updated SNR, RSSI, and Q...-encodinig scheme
We use an old BG_RF95 library from 2001. RadioHead/RH_RF95.cpp implements _lastSNR and _lastRssi correctly accordingg to the specs
- SNR computation according to spec
- RSSI computation revised

Work on design of Q...-encoding scheme for encoding SNR and RSSI in path.
2021-11-30 04:50:35 +01:00
Thomas Osterried 72e88ffb4b plattformio.ini: newest library Adafruit BusIO broke two days before.
-> added Adafruit BusIO @ !=1.9.7 # due to https://github.com/adafruit/Adafruit_BusIO/pull/70
2021-11-26 08:16:45 +01:00
Thomas Osterried 9330841bb4 - Webinterface receive log:
- Use time format %Y-%m-%d %H:%M:%S
  - Use real SNR instead of S-value

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2021-11-26 07:55:09 +01:00
Thomas Osterried f4f8a721de Web-interface works now. Found the bugs, fixed them, and testet inensively.
In TTGO_T-Beam_LoRa_APRS.ino I removed unused variable
lora_old_speed
which was still there after removing my debug code which showed previous / current value ;)

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2021-11-25 09:04:57 +01:00
Thomas Osterried 450da6216c Merge branch 'master' of github.com:dl9sau/TTGO-T-Beam-LoRa-APRS 2021-11-25 08:58:30 +01:00
Thomas Osterried 570b24685c Web-interface works now. Found the bugs, fixed them, and testet inensively.
In TTGO_T-Beam_LoRa_APRS.ino I removed unused variable
lora_old_speed
which was still there after removing my debug code which showed previous / current value ;)

Signed-off-by: Thomas Osterried <dl9sau@darc.de>
2021-11-25 08:44:34 +01:00
Thomas Osterried 00c140c78e
Merge branch 'mi-gri:master' into master 2021-11-24 13:40:04 +01:00
Thomas Osterried 30f9b4a94e This commit brings many enhancements (like digipeating), fixes, and cosmetic changes.
(c) 2021 Thomas Osterried dl9sau, License GPL

CAVE:
webconfig does not work properly. This needs to be fixed before the changes could go upstream!
Until then, you can hardcode values in TTGO_T-Beam_LoRa_APRS.ino after the
  "// enforce valid transmissions even on wrong configurations"
  section.
For examples, see appendix 1.

New features

Changes
- improved automatic CodeRate adaption
- Concept for adding SNR+RSSI in packet path. Q23073* means, 23 dB SNR, -73 dB RSSI.
- full smart-beaconing implementation, with default parameters from kenwood / yaesu devices

Changed files:

1. data_embed/index.html
------------------------
- cosmetic changes
- added configuration options for new features described above
- description how to configure DST-call-path-addressing
- make configurable
  - automatic coderate adaption
  - rate limiting comment text
  - My recent "Accept own positions via KISS" feature
  - My recent "Allow GPS sleep while own positions received via KISS" feature
  - LoRa Digipeating
  - LoRa cross-digipeating (Mode, frequency, speed)

2. preference_storage.h
-----------------------
definitions for the new configuration variables

3. platformio.ini
------------------k

Variable MAX_TIME_TO_NEXT_TXT commented out. Was not implemented, and needs not be configured anymore.
Default enabling of
  ENABLE_TNC_SELF_TELEMETRY
switched off because most people do not need this

DIGI_PATH="1": suggestion to make this default

"FIXED_BEACON_EN": switched off, because if you have a tracker with GPS, you do smart-beaconing.
Or if you have no GPS, you need to configure LAT/LONG before enabling fixed beaconing.

"SHOW_BATT": if you really need this, enable it.

"SPEED_1200": most regions use 300.

Typo:
LATIDUDE_PRESET -> changed to LATITUDE_PRESET (also in TTGO_T-Beam_LoRa_APRS.ino)

4. TTGO_T-Beam_LoRa_APRS.ino
----------------------------

global variables:
- -D SPEED_1200 had not effekt. Added appropriete #ifdef.
   Perhaps, "LORA_SPEED_LOW" or "LORA_SPEED_FAST" (like mentioned in the web interface) would be a better approach
- gps state: set default on only at devices with GPS-RX
- New smartbeaconing:
  - values like sb_turn_slope and sb_turn_time
  - if -D SB_ALGO_KENWOOD, use those defaults. Scales better at low speed.

- my new featerus:
  - lora_speed_cross_digi
  - lora_freq_cross_digi

  - lora_automatic_cr_adaption
  - lora_digipeating_mode
  - lora_add_snr_rssi_to_path
  - lora_cross_digipeating_mode
  - acceptOwnLocationReportsViaKiss
  - allow_gps_sleep_while_kiss
  - acceptOwnPositionReportsViaKiss
  - gps_allow_sleep_while_kiss

- added code for new preferences values

- in prepareAPRSFrame()
  - beautified DST-path addition on outString
  - better comment-ratelimiting computation

- loraSend(): small change.
  - If lora freq was changed for sending one packet on another frequency (cross digi mode):
  +  // cross-digipeating may have altered our RX-frequency. Revert frequency change needed for this transmission.
  +  if (lora_FREQ != lora_freq)
  +    rf95.setFrequency(lora_freq);

  - FEATURE request:
    // Feauture request: add param lora_speed. Currently, we need a variable for storing the old speed, and affer loraSend(), we have to revert :(
    I did not change the function parametes without asking

- new sanity check:

  +// enforce valid transmissions even on wrong configurations
  +if (aprsSymbolTable.length() != 1)
  +  aprsSymbolTable = String("/");
  +if (aprsSymbol.length() != 1)
  +  aprsSymbol = String("[");
  +if (aprsLatPreset.length() != 8 || !(aprsLatPreset.endsWith("N") || aprsLatPreset.endsWith("S")) || aprsLatPreset.c_str()[4] != '.')
  +  aprsLatPreset = String("0000.00N");
  +if (aprsLonPreset.length() != 9 || !(aprsLonPreset.endsWith("E") || aprsLonPreset.endsWith("W")) || aprsLonPreset.c_str()[5] != '.')
  +  aprsLonPreset = String("00000.00E");

  -> Without this, and if unconfigured, invalid packets without position in the position-part of the AX.25 packets could occur. Saw this happens, at findu.com ;)

- encode_snr_rssi_in_path():
  My idea of coding SNR and RSSI in packet path. Instead of modifying user's comment text (which some digi software does, and is a really bad idea)
- add_element_to_path():
  a quick, string based option to add a digi element to the AX.25 header
- tnc_format_to_ax25_frame(): header parser, needed for handle_lora_frame_for_lora_digipeating
- handle_lora_frame_for_lora_digipeating: does header rewrite for digipeating
- implemented digipeating and cross-digipeating
- redesignt automatic cr-adatpion
- improved smart-beaconing decisions

5. taskWebServer.cpp:
---------------------
- added code for new preferences values

Appendix 1
----------

I.e. my enforced test settings in  TTGO_T-Beam_LoRa_APRS.ino behind
the block
  "// enforce valid transmissions even on wrong configurations"
were:
  lora_speed = 180;
  lora_digipeating_mode = 2;
  lora_cross_digipeating_mode = 0;
  sb_min_interval = 90000L;
  sb_max_interval = 1800000L;
  lora_automatic_cr_adaption = true;
  lora_speed_cross_digi = 1200;
  lora_freq_cross_digi = 433.900;
  sb_max_speed = 20;
  sb_turn_slope = 11;
  rate_limit_message_text = true;
  acceptOwnPositionReportsViaKiss = true;
  lora_add_snr_rssi_to_path = true;

And in platformio.ini:
       		-D 'KISS_PROTOCOL'				; leave enabled
			-D 'CALLSIGN="DL9SAU-12"'			; can be set from www interface
			-D 'DIGI_PATH="1"'				; can be set from www interface
			; -D 'FIXED_BEACON_EN'			; can be set from www interface
			-D 'SB_ALGO_KENWOOD'				; Kenwood skales better on lower speed.
			-D 'LATITUDE_PRESET="0000.00N"'			; can be set from www interface
			-D 'LONGITUDE_PRESET="00000.00E"'		; can be set from www interface
			-D 'APRS_SYMBOL_TABLE="/"'			; can be set from www interface
			-D 'APRS_SYMBOL="["'				; can be set from www interface
			-D 'MY_COMMENT="/145.500MHz d023/Thomas D23. TTGO-T-Beam LoRa 70cm; KISS-Test"'		; can be set from www interface
			-D 'SHOW_ALT'					; can be set from www interface
			; -D 'SHOW_BATT'				; can be set from www interface
			-D 'SHOW_RX_PACKET'				; can be set from www interface
			-D 'SHOW_RX_TIME=10000' 			; can be set from www interface
			-D 'TXFREQ=433.775'			; set operating frequency
			; -D 'LORA_SPEED_1200'			; comment out to set 300baud
			-D 'TXdbmW=23'				; set power
			; -D 'ENABLE_OLED'				; can be set from www interface
			-D 'ENABLE_LED_SIGNALING'			; can be set from www interface
			-D 'NETWORK_TNC_PORT=8001'		; default KISS TCP port
			; -D 'MAX_TIME_TO_NEXT_TX=120000L'		; can be set from www interface -- not implemented
			-D 'FIX_BEACON_INTERVAL=1800000L'		; can be set from www interface
			-D 'NETWORK_GPS_PORT=10110'		; GPS NMEA Port
			; -D 'ENABLE_TNC_SELF_TELEMETRY'		; can be set from www interface
			-D 'TNC_SELF_TELEMETRY_INTERVAL=3600L'		; can be set from www interface (seconds)
			-D 'SHOW_OLED_TIME=15000'			; an be set from www interface (OLED Timeout)

Signed-off-by: Thomas Osterried <dl9sau@github>
2021-11-24 13:34:04 +01:00
MiGri bbacac4b56
Merge pull request #1 from dl9sau/master
New features (from DL9SAU)
2021-11-17 06:40:32 +01:00