Add espnow packet prefix

This commit is contained in:
gorbit99
2025-11-28 17:11:29 +01:00
parent 6f9c4f94eb
commit e32bca78e6
3 changed files with 10 additions and 5 deletions

View File

@@ -36,10 +36,13 @@ enum class ProvisioningPacketId : uint8_t {
ProvisioningFailedAck,
};
constexpr static uint8_t ESPNOWPacketId = 0xde;
#pragma pack(push, 1)
template <ProvisioningPacketId PacketId>
struct ProvisioningPacket {
uint8_t espnowPacketId = ESPNOWPacketId;
ProvisioningPacketId packetId = PacketId;
};

View File

@@ -20,8 +20,6 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#include "provisioning-target.h"
#include <Arduino.h>
#include <cstdint>
@@ -33,6 +31,7 @@
#include "network/wifihandler.h"
#include "network/wifiprovisioning/provisioning-packets.h"
#include "network/wifiprovisioning/provisioning-party.h"
#include "provisioning-target.h"
#if ESP8266
#include <espnow.h>
@@ -129,7 +128,7 @@ void ProvisioningTarget::handleMessage(
const uint8_t* data,
uint8_t length
) {
auto packetId = static_cast<ProvisioningPackets::ProvisioningPacketId>(data[0]);
auto packetId = static_cast<ProvisioningPackets::ProvisioningPacketId>(data[1]);
switch (packetId) {
case ProvisioningPackets::ProvisioningPacketId::ProvisioningAvailable:

View File

@@ -21,13 +21,13 @@
THE SOFTWARE.
*/
#include "wifi-provisioning.h"
#include <cstdint>
#include <memory>
#include "network/wifiprovisioning/provisioning-packets.h"
#include "network/wifiprovisioning/provisioning-provider.h"
#include "network/wifiprovisioning/provisioning-target.h"
#include "wifi-provisioning.h"
#if ESP8266
#include <espnow.h>
@@ -179,6 +179,9 @@ void WiFiProvisioning::handleMessage(
const uint8_t* data,
uint8_t length
) {
if (length < 1 || data[0] != ProvisioningPackets::ESPNOWPacketId) {
return;
}
role->handleMessage(macAddress, data, length);
}