SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
Main Page
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
~
Variables
_
a
b
c
e
h
i
k
l
m
n
p
q
r
s
t
u
v
Files
File List
•
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
include
common
spsp
espnow_packet.hpp
Go to the documentation of this file.
1
10
#pragma once
11
12
#include <cstdint>
13
14
#include "
spsp/local_message.hpp
"
15
16
namespace
SPSP::LocalLayers::ESPNOW
17
{
18
static
constexpr uint8_t PROTO_VERSION = 1;
19
static
constexpr uint8_t PASSWORD_LEN = 32;
20
static
constexpr uint8_t NONCE_LEN = 8;
21
static
constexpr
size_t
MAX_PACKET_LENGTH = 250;
22
23
#pragma pack(push, 1)
24
29
struct
PacketHeader
30
{
31
uint32_t
ssid
;
32
uint8_t
nonce
[NONCE_LEN];
33
uint8_t
version
;
34
};
35
36
struct
PacketPayload
37
{
38
LocalMessageType
type
;
39
uint8_t
_reserved
[3];
40
uint8_t
checksum
;
41
uint8_t
topicLen
;
42
uint8_t
payloadLen
;
43
uint8_t
topicAndPayload
[];
44
};
45
46
struct
Packet
47
{
48
PacketHeader
header;
49
PacketPayload
payload;
50
};
51
#pragma pack(pop)
52
53
// Assert sizes
54
static_assert(
sizeof
(
PacketHeader
) == 13);
55
static_assert(
sizeof
(
PacketPayload
) == 7);
56
static_assert(
sizeof
(
Packet
) == 20);
57
}
// namespace SPSP::LocalLayers::ESPNOW
SPSP::LocalLayers::ESPNOW::Packet
Definition:
espnow_packet.hpp:46
SPSP::LocalLayers::ESPNOW::PacketHeader
ESP-NOW packet header.
Definition:
espnow_packet.hpp:29
SPSP::LocalLayers::ESPNOW::PacketPayload::topicAndPayload
uint8_t topicAndPayload[]
Topic and payload as string (not null terminated)
Definition:
espnow_packet.hpp:43
local_message.hpp
Local message classes.
SPSP::LocalLayers::ESPNOW::PacketPayload
Definition:
espnow_packet.hpp:36
SPSP::LocalLayers::ESPNOW::PacketPayload::topicLen
uint8_t topicLen
Length of topic.
Definition:
espnow_packet.hpp:41
SPSP::LocalLayers::ESPNOW::PacketPayload::checksum
uint8_t checksum
Simple checksum of PacketPayload to validate decrypted packet.
Definition:
espnow_packet.hpp:40
SPSP::LocalMessageType
LocalMessageType
Local message types.
Definition:
local_message.hpp:22
SPSP::LocalLayers::ESPNOW::PacketHeader::nonce
uint8_t nonce[NONCE_LEN]
Encryption nonce.
Definition:
espnow_packet.hpp:32
SPSP::LocalLayers::ESPNOW::PacketPayload::payloadLen
uint8_t payloadLen
Length of payload (data)
Definition:
espnow_packet.hpp:42
SPSP::LocalLayers::ESPNOW::PacketPayload::type
LocalMessageType type
Message type.
Definition:
espnow_packet.hpp:38
SPSP::LocalLayers::ESPNOW::PacketPayload::_reserved
uint8_t _reserved[3]
Reserved for future use.
Definition:
espnow_packet.hpp:39
SPSP::LocalLayers::ESPNOW::PacketHeader::ssid
uint32_t ssid
Service set identifier.
Definition:
espnow_packet.hpp:31
SPSP::LocalLayers::ESPNOW::PacketHeader::version
uint8_t version
Current protocol version.
Definition:
espnow_packet.hpp:33
Generated by
1.8.17