Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
cs_MeshMsgEvent.h
Go to the documentation of this file.
2
3#include <cstdint>
4
5#pragma once
6
10
13
15 uint8_t dataSize;
16};
17
18template <cs_mesh_model_msg_type_t E>
20
21template <>
24};
25
26template <>
29};
30
31template <>
34};
35
36template <>
39};
40
41template <>
44};
45
46template <>
49};
50
51template <>
54};
55
56template <>
59};
60
61template <>
64};
65
66template <>
69};
70
72public:
75
78
81
84
87
89 int8_t rssi;
90
92 uint8_t channel;
93
96
98 bool isReply;
99
103
108 mesh_reply_t* reply = nullptr;
109
112
114 uint8_t ttl;
115
129 template <cs_mesh_model_msg_type_t MeshModelType>
130 auto& getPacket() {
131 return *reinterpret_cast<typename MeshPacketTraits<MeshModelType>::type*>(msg.data);
132 }
133};
Definition: cs_MeshMsgEvent.h:71
cs_control_cmd_t controlCommand
When not CTRL_CMD_UNKNOWN and this message is a reply, this is the control command that caused the me...
Definition: cs_MeshMsgEvent.h:102
stone_id_t srcStoneId
Stone ID of the original sender.
Definition: cs_MeshMsgEvent.h:80
bool isReply
Whether this message is a reply.
Definition: cs_MeshMsgEvent.h:98
uint8_t macAddress[MAC_ADDRESS_LEN]
MAC address of the node from which this message was received, which is the source if not relayed.
Definition: cs_MeshMsgEvent.h:86
auto & getPacket()
Returns the message data of this event as the original mesh model type, by reference.
Definition: cs_MeshMsgEvent.h:130
bool isMaybeRelayed
Whether this message may have been relayed.
Definition: cs_MeshMsgEvent.h:95
int8_t rssi
RSSI of the last hop, thus the RSSI to the source if not relayed.
Definition: cs_MeshMsgEvent.h:89
cs_mesh_model_msg_type_t type
Message type.
Definition: cs_MeshMsgEvent.h:74
mesh_reply_t * reply
If set, a reply is expected.
Definition: cs_MeshMsgEvent.h:108
bool macAddressValid
True when the following MAC address is valid.
Definition: cs_MeshMsgEvent.h:83
cs_data_t msg
Message payload.
Definition: cs_MeshMsgEvent.h:77
cs_mesh_model_opcode_t opCode
Mesh model opcode: internal usage only (debug).
Definition: cs_MeshMsgEvent.h:111
uint8_t channel
Channel of the last hop.
Definition: cs_MeshMsgEvent.h:92
uint8_t ttl
Current TTL: internal usage only (debug).
Definition: cs_MeshMsgEvent.h:114
@ CTRL_CMD_UNKNOWN
Definition: cs_CommandTypes.h:88
cs_mesh_model_msg_type_t
Definition: cs_MeshModelPackets.h:61
@ CS_MESH_MODEL_TYPE_ASSET_INFO_ID
Definition: cs_MeshModelPackets.h:93
@ CS_MESH_MODEL_TYPE_ASSET_FILTER_VERSION
Definition: cs_MeshModelPackets.h:89
@ CS_MESH_MODEL_TYPE_TEST
Definition: cs_MeshModelPackets.h:62
@ CS_MESH_MODEL_TYPE_TIME_SYNC
Definition: cs_MeshModelPackets.h:84
@ CS_MESH_MODEL_TYPE_ASSET_INFO_MAC
Definition: cs_MeshModelPackets.h:90
@ CS_MESH_MODEL_TYPE_NEIGHBOUR_RSSI
Definition: cs_MeshModelPackets.h:91
@ CS_MESH_MODEL_TYPE_STONE_MAC
Definition: cs_MeshModelPackets.h:88
@ CS_MESH_MODEL_TYPE_RSSI_DATA
Definition: cs_MeshModelPackets.h:86
@ CS_MESH_MODEL_TYPE_RSSI_PING
Definition: cs_MeshModelPackets.h:82
@ CS_MESH_MODEL_TYPE_SET_BEHAVIOUR_SETTINGS
Definition: cs_MeshModelPackets.h:72
cs_mesh_model_opcode_t
Message opcodes.
Definition: cs_MeshModelPackets.h:34
uint16_t cs_control_cmd_t
Definition: cs_Typedefs.h:22
uint8_t stone_id_t
Definition: cs_Typedefs.h:23
static const uint8_t MAC_ADDRESS_LEN
Length of a MAC address.
Definition: cs_Typedefs.h:43
Definition: cs_MeshMsgEvent.h:19
Packets (structs) that are used internally in the firmware, and can be changed freely.
Definition: cs_PacketsInternal.h:27
buffer_ptr_t data
Definition: cs_PacketsInternal.h:28
Definition: cs_MeshModelPackets.h:320
Definition: cs_MeshModelPackets.h:236
Definition: cs_MeshModelPackets.h:231
Definition: cs_MeshModelPackets.h:293
Definition: cs_MeshModelPackets.h:314
Definition: cs_MeshModelPackets.h:99
Packed version of time_sync_message_t.
Definition: cs_MeshModelPackets.h:212
Definition: cs_MeshMsgEvent.h:7
cs_mesh_model_msg_type_t type
Type of message.
Definition: cs_MeshMsgEvent.h:9
cs_data_t buf
Buffer you can write your payload to (don't change the buf.len).
Definition: cs_MeshMsgEvent.h:12
uint8_t dataSize
Size of your payload.
Definition: cs_MeshMsgEvent.h:15
Definition: cs_MeshModelPackets.h:286
Sent from a crownstone when it has too little rssi information from its neighbors.
Definition: cs_MeshModelPackets.h:253
Behaviour settings.
Definition: cs_Packets.h:207