19 std::copy_n(
data.begin(), std::min(
data.size(), this->data_.size()), this->data_.begin());
22 std::copy_n(
data.begin(), std::min(
data.size(), this->data_.size()), this->data_.begin());
29 const uint8_t *
data()
const {
return this->
data_.data(); }
55 for (uint8_t idx = 0; idx <
OFFSET_CS; idx++)
56 cs += this->
data_[idx];
60 std::array<uint8_t, FRAME_SIZE>
data_{};
70DECLARE_REMOTE_PROTOCOL(PDPioneer)
PDPioneerData(std::initializer_list< uint8_t > data)
bool operator==(const PDPioneerData &rhs) const
PDPioneerData(const std::vector< uint8_t > &data)
uint8_t checksum_() const
bool is_even_burst() const
const char * to_str(char *buffer) const
PDPioneerData(const uint8_t *data, size_t len)
static constexpr uint8_t FRAME_SIZE
static constexpr uint8_t OFFSET_CS
std::array< uint8_t, FRAME_SIZE > data_
const uint8_t * data() const
static constexpr size_t TO_STR_BUFFER_SIZE
bool is_odd_burst() const
const uint8_t & operator[](size_t idx) const
uint8_t & operator[](size_t idx)
void dump(const PDPioneerData &data)
void encode(RemoteTransmitData *dst, const PDPioneerData &src)
optional< PDPioneerData > decode(RemoteReceiveData src)
void progmem_memcpy(void *dst, const void *src, size_t len)
char * format_hex_pretty_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length, char separator)
Format byte array as uppercase hex to buffer (base implementation).
constexpr size_t format_hex_pretty_size(size_t byte_count)
Calculate buffer size needed for format_hex_pretty_to with separator: "XX:XX:...:XX\0".