diff --git a/CHANGELOG.md b/CHANGELOG.md index 70ff4d40b..f6e18c75d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3b5e06f64..a16710125 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -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 |backlog ;...` 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) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_73_8_lorawan_bridge.ino b/tasmota/tasmota_xdrv_driver/xdrv_73_8_lorawan_bridge.ino index 499e33d70..f753b2919 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_73_8_lorawan_bridge.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_73_8_lorawan_bridge.ino @@ -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[,] * - LoRaWan has to be enabled (#define USE_LORAWAN_BRIDGE) and configured for the End-Device * 32 character AppKey using command LoRaWanAppKey * - 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);