mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-16 07:16:30 +00:00
LoraWan change to confirmed command downlink
This commit is contained in:
parent
263d84315f
commit
93a22628e5
@ -549,7 +549,8 @@ void LoraWanSendAppData(uint32_t node, uint8_t* FRMPayload, uint32_t len) {
|
|||||||
|
|
||||||
uint32_t data_size = 13 + len;
|
uint32_t data_size = 13 + len;
|
||||||
uint8_t data[data_size];
|
uint8_t data[data_size];
|
||||||
data[0] = TAS_LORAWAN_MTYPE_UNCONFIRMED_DATA_DOWNLINK << 5;
|
// data[0] = TAS_LORAWAN_MTYPE_UNCONFIRMED_DATA_DOWNLINK << 5;
|
||||||
|
data[0] = TAS_LORAWAN_MTYPE_CONFIRMED_DATA_DOWNLINK << 5; // Dragino suggestion (ACKed in next regular message)
|
||||||
data[1] = DevAddr;
|
data[1] = DevAddr;
|
||||||
data[2] = DevAddr >> 8;
|
data[2] = DevAddr >> 8;
|
||||||
data[3] = DevAddr >> 16;
|
data[3] = DevAddr >> 16;
|
||||||
@ -1033,7 +1034,11 @@ void CmndLoraWanNode(void) {
|
|||||||
bitSet(Lora->settings.end_node[node]->flags, TAS_LORAWAN_FLAG_DISABLED); // Disable (sets bit)
|
bitSet(Lora->settings.end_node[node]->flags, TAS_LORAWAN_FLAG_DISABLED); // Disable (sets bit)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ResponseCmndIdxChar(bitRead(Lora->settings.end_node[node]->flags, TAS_LORAWAN_FLAG_DISABLED)?"Disabled":"Enabled");
|
ResponseCmnd();
|
||||||
|
for (uint32_t i = 0; i < Lora->nodes; i++) {
|
||||||
|
ResponseAppend_P(PSTR("%s%s%d"), (i) ? "," : "\"", (bitRead(Lora->settings.end_node[i]->flags, TAS_LORAWAN_FLAG_DISABLED)) ? "!" : "", i +1);
|
||||||
|
}
|
||||||
|
ResponseAppend_P(PSTR("\"}"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ void LoraSettingsSave(void) {
|
|||||||
bool LoraSend(uint8_t* data, uint32_t len, bool invert) {
|
bool LoraSend(uint8_t* data, uint32_t len, bool invert) {
|
||||||
uint32_t lora_time = millis(); // Time is important for LoRaWan RX windows
|
uint32_t lora_time = millis(); // Time is important for LoRaWan RX windows
|
||||||
bool result = Lora->Send(data, len, invert);
|
bool result = Lora->Send(data, len, invert);
|
||||||
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("LOR: Send (%u) '%*_H', Invert %d, Freq %1_f, BW %1_f, SF %d, Time %d"),
|
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("LOR: Send (%u) '%*_H', Invert %d, Freq %3_f, BW %1_f, SF %d, Time %d"),
|
||||||
lora_time, len, data, invert, &Lora->settings.frequency, &Lora->settings.bandwidth, Lora->settings.spreading_factor, TimePassedSince(lora_time));
|
lora_time, len, data, invert, &Lora->settings.frequency, &Lora->settings.bandwidth, Lora->settings.spreading_factor, TimePassedSince(lora_time));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -211,7 +211,7 @@ void LoraInput(void) {
|
|||||||
char data[TAS_LORA_MAX_PACKET_LENGTH] = { 0 };
|
char data[TAS_LORA_MAX_PACKET_LENGTH] = { 0 };
|
||||||
int packet_size = Lora->Receive(data);
|
int packet_size = Lora->Receive(data);
|
||||||
if (!packet_size) { return; }
|
if (!packet_size) { return; }
|
||||||
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("LOR: Rcvd (%u) '%*_H', Freq %1_f, BW %1_f, SF %d, RSSI %1_f, SNR %1_f"),
|
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("LOR: Rcvd (%u) '%*_H', Freq %3_f, BW %1_f, SF %d, RSSI %1_f, SNR %1_f"),
|
||||||
Lora->receive_time, packet_size, data, &Lora->settings.frequency, &Lora->settings.bandwidth, Lora->settings.spreading_factor, &Lora->rssi, &Lora->snr);
|
Lora->receive_time, packet_size, data, &Lora->settings.frequency, &Lora->settings.bandwidth, Lora->settings.spreading_factor, &Lora->rssi, &Lora->snr);
|
||||||
#ifdef USE_LORAWAN_BRIDGE
|
#ifdef USE_LORAWAN_BRIDGE
|
||||||
if (bitRead(Lora->settings.flags, TAS_LORA_FLAG_BRIDGE_ENABLED)) {
|
if (bitRead(Lora->settings.flags, TAS_LORA_FLAG_BRIDGE_ENABLED)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user