Add support for multi channel AU915-928 LoRaWanBridge by Rob Clark (#23372)

This commit is contained in:
Theo Arends 2025-05-07 16:36:41 +02:00
parent 5475fcc8f3
commit c25b9827e8
3 changed files with 7 additions and 21 deletions

View File

@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file.
- Optional Wifi strength indicator in WebUI status line (#23352)
- WebUI status line left and renamed events `FUNC_WEB_STATUS_LEFT` and `FUNC_WEB_STATUS_RIGHT` (#23354)
- WebUI heap status (#23356)
- Support for multi channel AU915-928 LoRaWanBridge by Rob Clark (#23372)
### Breaking Changed

View File

@ -118,6 +118,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
### Added
- Command `JsonPP 0..7` to enable (>0) JSON Pretty Print on user interfaces and set number of indents
- Command `JsonPP <command>|backlog <command>;...` to enable JSON PP only once
- Support for multi channel AU915-928 LoRaWanBridge by Rob Clark [#23372](https://github.com/arendst/Tasmota/issues/23372)
- WebUI status line for MQTT and TLS, added `FUNC_WEB_STATUS_LEFT` and `FUNC_WEB_STATUS_RIGHT` event [#23354](https://github.com/arendst/Tasmota/issues/23354)
- Optional Wifi strength indicator in WebUI status line [#23352](https://github.com/arendst/Tasmota/issues/23352)
- Wireguard VPN [#23347](https://github.com/arendst/Tasmota/issues/23347)

View File

@ -1,7 +1,7 @@
/*
xdrv_73_8_lorawan_bridge.ino - LoRaWan EU868 support for Tasmota
xdrv_73_8_lorawan_bridge.ino - LoRaWan EU868/AU915 support for Tasmota
SPDX-FileCopyrightText: 2024 Theo Arends
SPDX-FileCopyrightText: 2024 Theo Arends, Rob Clark
SPDX-License-Identifier: GPL-3.0-only
*/
@ -17,6 +17,7 @@
* EU868 LoRaWan uses at minimum alternating 3 frequencies and 6 spreadingfactors (datarate or DR)
* which makes the use of single fixed frequency and spreadingfactor hardware like
* SX127x (LiliGo T3, M5 LoRa868 or RFM95W) or SX126x (LiLiGo T3S3) a challenge.
* AU915 LoRaWan uses different frequencies for upload and download.
* This driver uses one fixed frequency and spreadingfactor trying to tell the End-Device to do
* the same using Over The Air Activation (OTAA). In some cases the End-Device needs to be
* (serial) configured to use a single channel and fixed datarate.
@ -32,6 +33,8 @@
* LoRaConfig {"Bandwidth":125}
* LoRaConfig {"CodingRate4":5}
* LoRaConfig {"SyncWord":52}
* - Tasmota Lora has to be configured for AU915 using command
* LoRaConfig 42[,<channel>]
* - LoRaWan has to be enabled (#define USE_LORAWAN_BRIDGE) and configured for the End-Device
* 32 character AppKey using command LoRaWanAppKey <vendor provided appkey>
* - The End-Device needs to start it's LoRaWan join process as documented by vendor.
@ -379,25 +382,6 @@ void LoraWanTickerSend(void) {
}
}
/*
void LoraWanTickerSend(void) {
Lora->send_buffer_step--;
if (1 == Lora->send_buffer_step) {
Lora->rx = true; // Always send during RX1
Lora->receive_time = 0; // Reset receive timer
LoraWan_Send.once_ms(TAS_LORAWAN_RECEIVE_DELAY2, LoraWanTickerSend); // Retry after 1000 ms
}
bool uplink_profile = (Lora->settings.region == TAS_LORA_REGION_AU915);
if (Lora->rx) { // If received in RX1 do not resend in RX2
LoraSend(Lora->send_buffer, Lora->send_buffer_len, true, uplink_profile);
}
if (uplink_profile && (0 == Lora->send_buffer_step)) {
Lora->Init(); // Necessary to re-init the SXxxxx chip in cases where TX/RX frequencies differ
}
}
*/
void LoraWanSendResponse(uint8_t* buffer, size_t len, uint32_t lorawan_delay) {
free(Lora->send_buffer); // Free previous buffer (if any)
Lora->send_buffer = (uint8_t*)malloc(len +1);