Приветствую всех! Пишу пользовательский блок. Задача такая. При нажатии на кнопку Ping, передатчик высылает сообщение другим устройствам, те в свою очередь отправляют ему ответ с своим уровнем сигнала. Так вот, требуется записывать адрес от принятых устройств (передатчики) а память относительно их уровня сигнала. Передатчик с самым высоким уровнем запишется в самое начало памяти, с самым низким будет последним в памяти. Делаю вот, так, но работает не корректно
if ((rssi < -20) || (rssi >= -30)) { // уровень сигнала меньше -20 дБм, но не больше или равно -30, то пишем в 0 ячейку памяти
EEPROM.put(addree, ADDRs);
addree += sizeof(byte); // наращиваем адрес EEPROM
ADDRs = 0;
byte Mpong = 101;
sendpong(Mpong);
onReceive(LoRa.parsePacket());
delay(100);
}
if ((rssi > -30) || (rssi >= -40)) { // уровень сигнала больше -30 дБм, но не больше или равно -40, то пишем в следующею ячейку памяти
EEPROM.put(addree, ADDRs);
addree += sizeof(byte); //наращиваем адрес EEPROM
ADDRs = 0;
byte Mpong = 101;
sendpong(Mpong);
onReceive(LoRa.parsePacket());
delay(100);
И так далее.
Заранее спасибо!