Update lora.cpp

This commit is contained in:
Daniël Koek 2024-03-24 17:21:31 +00:00
parent 6b224112d6
commit 850280a582

View file

@ -124,10 +124,7 @@ void Lora::dump_config() {
LOG_PIN("M0 Pin:", this->pin_m0); LOG_PIN("M0 Pin:", this->pin_m0);
LOG_PIN("M1 Pin:", this->pin_m1); LOG_PIN("M1 Pin:", this->pin_m1);
}; };
void Lora::digital_write(uint8_t pin, bool value) { void Lora::digital_write(uint8_t pin, bool value) { this->sendPinInfo(pin, value); }
ESP_LOGD(TAG, "Setting internal state");
this->sendPinInfo(pin, value);
}
bool Lora::sendPinInfo(uint8_t pin, bool value) { bool Lora::sendPinInfo(uint8_t pin, bool value) {
uint8_t request_message[3]; uint8_t request_message[3];
request_message[1] = 0xA5; // just some bit to indicate, yo this is pin info request_message[1] = 0xA5; // just some bit to indicate, yo this is pin info
@ -142,14 +139,27 @@ void Lora::loop() {
return; return;
} }
std::string buffer; std::string buffer;
std::vector<uint8_t> data;
bool pin_data_found = false;
ESP_LOGD(TAG, "Starting to read message"); ESP_LOGD(TAG, "Starting to read message");
while (available()) { while (available()) {
uint8_t c; uint8_t c;
if (this->read_byte(&c)) { if (this->read_byte(&c)) {
buffer += (char) c; buffer += (char) c;
// indicates that there is pin data, lets capture that
if (c == 0xA5) {
pin_data_found = true;
}
if (pin_data_found)
data.push_back(c);
} }
} }
ESP_LOGD(TAG, "Got %s", buffer); ESP_LOGD(TAG, "Got %s", buffer);
if (data.size() != 0) {
ESP_LOGD(TAG, "Found pin data!");
ESP_LOGD(TAG, "PIN: %u ", data[1]);
ESP_LOGD(TAG, "VALUE: %u ", data[2]);
}
// set the rssi // set the rssi
rssi_ = atoi(buffer.substr(buffer.length() - 1, 1).c_str()); rssi_ = atoi(buffer.substr(buffer.length() - 1, 1).c_str());
// set the raw message // set the raw message