|
ESPHome 2026.11.0-dev
|
One NCI packet, held in a fixed buffer so building and reading messages never allocates. More...
#include <nci_message.h>
Public Types | |
| using | Buffer = StaticVector<uint8_t, NCI_PKT_MAX_SIZE> |
Public Member Functions | |
| NciMessage () | |
| NciMessage (uint8_t message_type, std::span< const uint8_t > payload) | |
| NciMessage (uint8_t message_type, std::initializer_list< uint8_t > payload) | |
| NciMessage (uint8_t message_type, uint8_t gid, uint8_t oid) | |
| NciMessage (uint8_t message_type, uint8_t gid, uint8_t oid, std::span< const uint8_t > payload) | |
| NciMessage (uint8_t message_type, uint8_t gid, uint8_t oid, std::initializer_list< uint8_t > payload) | |
| NciMessage (std::span< const uint8_t > raw_packet) | |
| std::span< const uint8_t > | encode () |
| Stamps the payload length into the header and returns the packet ready to send. | |
| void | reset () |
| uint8_t | get_message_type () const |
| uint8_t | get_gid () const |
| uint8_t | get_oid () const |
| uint8_t | get_payload_size (bool recompute=false) |
| uint8_t | get_simple_status_response () const |
| uint8_t | get_message_byte (uint8_t offset) const |
| Buffer & | get_message () |
| const Buffer & | get_message () const |
| std::span< const uint8_t > | get_payload () const |
| The payload bytes that follow the header. | |
| bool | has_payload () const |
| bool | message_type_is (uint8_t message_type) const |
| bool | message_length_is (uint8_t message_length, bool recompute=false) |
| bool | gid_is (uint8_t gid) const |
| bool | oid_is (uint8_t oid) const |
| bool | simple_status_response_is (uint8_t response) const |
| void | set_header (uint8_t message_type, uint8_t gid, uint8_t oid) |
| void | set_message (uint8_t message_type, std::span< const uint8_t > payload) |
| void | set_message (uint8_t message_type, uint8_t gid, uint8_t oid, std::span< const uint8_t > payload) |
| void | set_message_type (uint8_t message_type) |
| void | set_gid (uint8_t gid) |
| void | set_oid (uint8_t oid) |
| void | set_payload (std::span< const uint8_t > payload) |
| void | set_payload (std::initializer_list< uint8_t > payload) |
| void | append (std::span< const uint8_t > data) |
| Appends bytes to the payload; bytes that do not fit are dropped. | |
| void | append (std::initializer_list< uint8_t > data) |
| void | set_payload_size (uint8_t size) |
Sets the packet size to the header plus size payload bytes, for a bus driver filling the buffer directly. | |
Protected Attributes | |
| Buffer | nci_message_ |
One NCI packet, held in a fixed buffer so building and reading messages never allocates.
Definition at line 16 of file nci_message.h.
| using esphome::nfc::NciMessage::Buffer = StaticVector<uint8_t, NCI_PKT_MAX_SIZE> |
Definition at line 18 of file nci_message.h.
|
inline |
Definition at line 20 of file nci_message.h.
| esphome::nfc::NciMessage::NciMessage | ( | uint8_t | message_type, |
| std::span< const uint8_t > | payload ) |
Definition at line 7 of file nci_message.cpp.
| esphome::nfc::NciMessage::NciMessage | ( | uint8_t | message_type, |
| std::initializer_list< uint8_t > | payload ) |
Definition at line 11 of file nci_message.cpp.
| esphome::nfc::NciMessage::NciMessage | ( | uint8_t | message_type, |
| uint8_t | gid, | ||
| uint8_t | oid ) |
Definition at line 14 of file nci_message.cpp.
| esphome::nfc::NciMessage::NciMessage | ( | uint8_t | message_type, |
| uint8_t | gid, | ||
| uint8_t | oid, | ||
| std::span< const uint8_t > | payload ) |
Definition at line 19 of file nci_message.cpp.
| esphome::nfc::NciMessage::NciMessage | ( | uint8_t | message_type, |
| uint8_t | gid, | ||
| uint8_t | oid, | ||
| std::initializer_list< uint8_t > | payload ) |
Definition at line 24 of file nci_message.cpp.
|
explicit |
Definition at line 28 of file nci_message.cpp.
|
inline |
Definition at line 62 of file nci_message.h.
| void esphome::nfc::NciMessage::append | ( | std::span< const uint8_t > | data | ) |
Appends bytes to the payload; bytes that do not fit are dropped.
Definition at line 174 of file nci_message.cpp.
| std::span< const uint8_t > esphome::nfc::NciMessage::encode | ( | ) |
Stamps the payload length into the header and returns the packet ready to send.
Definition at line 32 of file nci_message.cpp.
| uint8_t esphome::nfc::NciMessage::get_gid | ( | ) | const |
Definition at line 46 of file nci_message.cpp.
|
inline |
Definition at line 38 of file nci_message.h.
|
inline |
Definition at line 39 of file nci_message.h.
| uint8_t esphome::nfc::NciMessage::get_message_byte | ( | uint8_t | offset | ) | const |
Definition at line 67 of file nci_message.cpp.
| uint8_t esphome::nfc::NciMessage::get_message_type | ( | ) | const |
Definition at line 44 of file nci_message.cpp.
| uint8_t esphome::nfc::NciMessage::get_oid | ( | ) | const |
Definition at line 48 of file nci_message.cpp.
| std::span< const uint8_t > esphome::nfc::NciMessage::get_payload | ( | ) | const |
The payload bytes that follow the header.
Definition at line 74 of file nci_message.cpp.
| uint8_t esphome::nfc::NciMessage::get_payload_size | ( | bool | recompute = false | ) |
Definition at line 50 of file nci_message.cpp.
| uint8_t esphome::nfc::NciMessage::get_simple_status_response | ( | ) | const |
Definition at line 60 of file nci_message.cpp.
| bool esphome::nfc::NciMessage::gid_is | ( | uint8_t | gid | ) | const |
Definition at line 100 of file nci_message.cpp.
| bool esphome::nfc::NciMessage::has_payload | ( | ) | const |
Definition at line 81 of file nci_message.cpp.
| bool esphome::nfc::NciMessage::message_length_is | ( | uint8_t | message_length, |
| bool | recompute = false ) |
Definition at line 90 of file nci_message.cpp.
| bool esphome::nfc::NciMessage::message_type_is | ( | uint8_t | message_type | ) | const |
Definition at line 83 of file nci_message.cpp.
| bool esphome::nfc::NciMessage::oid_is | ( | uint8_t | oid | ) | const |
Definition at line 107 of file nci_message.cpp.
| void esphome::nfc::NciMessage::reset | ( | ) |
Definition at line 37 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_gid | ( | uint8_t | gid | ) |
Definition at line 153 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_header | ( | uint8_t | message_type, |
| uint8_t | gid, | ||
| uint8_t | oid ) |
Definition at line 121 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_message | ( | uint8_t | message_type, |
| std::span< const uint8_t > | payload ) |
Definition at line 129 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_message | ( | uint8_t | message_type, |
| uint8_t | gid, | ||
| uint8_t | oid, | ||
| std::span< const uint8_t > | payload ) |
Definition at line 137 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_message_type | ( | uint8_t | message_type | ) |
Definition at line 145 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_oid | ( | uint8_t | oid | ) |
Definition at line 161 of file nci_message.cpp.
|
inline |
Definition at line 57 of file nci_message.h.
| void esphome::nfc::NciMessage::set_payload | ( | std::span< const uint8_t > | payload | ) |
Definition at line 168 of file nci_message.cpp.
| void esphome::nfc::NciMessage::set_payload_size | ( | uint8_t | size | ) |
Sets the packet size to the header plus size payload bytes, for a bus driver filling the buffer directly.
Definition at line 180 of file nci_message.cpp.
| bool esphome::nfc::NciMessage::simple_status_response_is | ( | uint8_t | response | ) | const |
Definition at line 114 of file nci_message.cpp.
|
protected |
Definition at line 69 of file nci_message.h.