couple of other fixes

This commit is contained in:
NP v/d Spek 2024-09-19 17:03:01 +02:00
parent bfbfd81100
commit ffaf4f6b3f
2 changed files with 9 additions and 9 deletions

View file

@ -63,7 +63,7 @@ ESPNowPacket::ESPNowPacket(uint64_t peer, const uint8_t *data, uint8_t size, uin
this->peer(peer); this->peer(peer);
this->broadcast(std::memcmp((const void *) this->peer_as_bytes(), (const void *) &ESPNOW_BROADCAST_ADDR, 6) == 0); this->broadcast(std::memcmp((const void *) this->peer_as_bytes(), (const void *) &ESPNOW_BROADCAST_ADDR, 6) == 0);
this->protocol(protocol); this->protocol_id(protocol);
this->content()->put_bytes(data, size); this->content()->put_bytes(data, size);
this->calc_crc(); this->calc_crc();
@ -79,7 +79,7 @@ bool ESPNowPacket::is_valid() {
uint16_t crc = this->crc(); uint16_t crc = this->crc();
this->calc_crc(); this->calc_crc();
bool valid = (memcmp((const void *) this->content_bytes(), (const void *) &TRANSPORT_HEADER, 3) == 0); bool valid = (memcmp((const void *) this->content_bytes(), (const void *) &TRANSPORT_HEADER, 3) == 0);
valid &= (this->protocol() != 0); valid &= (this->protocol_id() != 0);
valid &= (this->crc() == crc); valid &= (this->crc() == crc);
this->crc(crc); this->crc(crc);
return valid; return valid;
@ -97,7 +97,7 @@ bool ESPNowProtocol::write(uint64_t mac_address, std::vector<uint8_t> &data) {
return this->parent_->write(packet); return this->parent_->write(packet);
} }
bool ESPNowProtocol::write(ESPNowPacket *packet) { bool ESPNowProtocol::write(ESPNowPacket *packet) {
packet->protocol(this->get_protocol_id()); packet->protocol_id(this->get_protocol_id());
packet->packet_id(this->get_next_ref_id()); packet->packet_id(this->get_next_ref_id());
packet->calc_crc(); packet->calc_crc();
return this->parent_->write(packet); return this->parent_->write(packet);
@ -114,7 +114,7 @@ void ESPNowComponent::dump_config() {
packet->content(5), packet->content(6), packet->content(7), packet->content(8), packet->content(9), packet->content(5), packet->content(6), packet->content(7), packet->content(8), packet->content(9),
packet->size()); packet->size());
ESP_LOGI(TAG, "test: A:%06x R:%02x C:%04x S:%02d", packet->protocol_id(), packet->packet_id(), packet->crc(), ESP_LOGI(TAG, "test: A:%06x R:%02x C:%04x S:%d", packet->protocol_id(), packet->packet_id(), packet->crc(),
packet->size()); packet->size());
ESP_LOGI(TAG, "test: is_valid: %s", ESP_LOGI(TAG, "test: is_valid: %s",
packet->is_valid() ? "Yes" : "No"); // ESP_LOGCONFIG(TAG, " WiFi Channel: %n", WiFi.channel()); packet->is_valid() ? "Yes" : "No"); // ESP_LOGCONFIG(TAG, " WiFi Channel: %n", WiFi.channel());
@ -248,21 +248,21 @@ ESPNowProtocol *ESPNowComponent::get_protocol_(uint32_t protocol) {
} }
void ESPNowComponent::on_receive_(ESPNowPacket *packet) { void ESPNowComponent::on_receive_(ESPNowPacket *packet) {
ESPNowProtocol *protocol = this->get_protocol_(packet->protocol()); ESPNowProtocol *protocol = this->get_protocol_(packet->protocol_id());
if (protocol != nullptr) { if (protocol != nullptr) {
protocol->on_receive(packet); protocol->on_receive(packet);
} }
} }
void ESPNowComponent::on_sent_(ESPNowPacket *packet, bool status) { void ESPNowComponent::on_sent_(ESPNowPacket *packet, bool status) {
ESPNowProtocol *protocol = this->get_protocol_(packet->protocol()); ESPNowProtocol *protocol = this->get_protocol_(packet->protocol_id());
if (protocol != nullptr) { if (protocol != nullptr) {
protocol->on_sent(packet, status); protocol->on_sent(packet, status);
} }
} }
void ESPNowComponent::on_new_peer_(ESPNowPacket *packet) { void ESPNowComponent::on_new_peer_(ESPNowPacket *packet) {
ESPNowProtocol *protocol = this->get_protocol_(packet->protocol()); ESPNowProtocol *protocol = this->get_protocol_(packet->protocol_id());
if (protocol != nullptr) { if (protocol != nullptr) {
protocol->on_new_peer(packet); protocol->on_new_peer(packet);
} }

View file

@ -108,11 +108,11 @@ class ESPNowPacket {
return this->content_->get_used_space(); return this->content_->get_used_space();
} }
uint32_t protocol() { uint32_t protocol_id() {
this->content_->set_position(ESPNOW_DATA_PROTOCOL); this->content_->set_position(ESPNOW_DATA_PROTOCOL);
return this->content_->get_uint24(); return this->content_->get_uint24();
} }
void protocol(uint32_t protocol) { void protocol_id(uint32_t protocol) {
this->content_->set_position(ESPNOW_DATA_PROTOCOL); this->content_->set_position(ESPNOW_DATA_PROTOCOL);
this->content_->put_uint24(protocol); this->content_->put_uint24(protocol);
} }