Updated Software, environment and sketch configuration (markdown)

master
sh123 2022-12-19 11:14:36 +02:00
rodzic 7bb4ec2ab1
commit 3df0b9d2f6
1 zmienionych plików z 4 dodań i 9 usunięć

@ -1,8 +1,3 @@
# Arduino development environment setup
- **NB! select next partition scheme for ESP32 in Arduino IDE Tools menu:** "Minimal SPIFFS (1.9 MB APP with OTA/190 KB SPIFFS)"
- for boards, which do not have this option, need to modify `~/.arduino15/packages/esp32/hardware/esp32/1.0.4/boards.txt` and add required partition option
- **use 80 MHz ESP32 frequency** in Arduino SDK, it will prolong battery life when operating portable, higher CPU speed is not required, there are no CPU intensive operations
# LoRa library configuration
- If you are not using **SX1278** module then modify module declaration in `config.h` find and replace `SX1278` with your module name. Read more about supported modules at [RadioLib Wiki](https://github.com/jgromes/RadioLib/wiki).
- If you are using **SX126X** module then un-comment `USE_SX126X` define and replace `MODULE_NAME` with your module name if using module other than `SX1268`
@ -20,11 +15,11 @@
- lora module DIO0, **CFG_LORA_PIN_DIO0**, GPIO_14
- if you are planning to experiment with different bandwidths/spread factors then modify values in `initializeConfig()`, with current parameters APRS packet time on air is around **1-2 seconds** @ 292bps/36Bps, to decode with as lower level as possible with reasonable speed (comparable to 300bps HF APRS), use https://github.com/tanupoo/lorawan_toa or https://www.rfwireless-world.com/calculators/LoRa-Data-Rate-Calculator.html to make further calculations
- lora bandwidth `cfg.LoraBw`, 125 kHz (also tested with 20.6 KHz and SF9 with frequency correction)
- lora spread factor `cfg.LoraSf`, 12 (should decode down to -20dB, choosen with the goal for minimum signal decode)
- lora spread factor `cfg.LoraSf`, 12 (should decode down to -20dB, chosen with the goal for minimum signal decode)
- lora coding rate `cfg.LoraCodingRate`, 7
- lora output power `cfg.LoraPower`, 20 (max 20 dBm ~ 100mW, change to lower value if needed)
- sync word `cfg.LoraSync`, 0x34
- consider minimum decode level based on on BW + SF and required throughput ![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/images/bandwidth_vs_sf.jpg)
- consider minimum decode level based on on BW + SF and required throughput ![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/extras/images/bandwidth_vs_sf.jpg)
- uses LoRa **built-in checksum** calculation to drop broken packets
# Frequency drift and calibration
@ -60,8 +55,8 @@
# APRSDroid configuration
- when setting up APRSDroid, use **"TNC (KISS)"** connection protocol in Connection Preferences -> Connection Protocol
![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/images/aprsdroid.png)
![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/extras/images/aprsdroid.png)
- Use **TNC (plaintext TNC2)** for interoperability with text based LoRa APRS trackers, which do NOT use AX25, set `cfg.EnableTextPackets/CFG_TEXT_PACKETS` to `true` to enable this modem mode of operation. If you need compatibility with https://www.lora-aprs.info/ then also set `cfg.EnableTextPackets3/CFG_TEXT_PACKETS_3` to `true`.
![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/images/aprsdroid_tnc2.png)
![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/extras/images/aprsdroid_tnc2.png)