10#ifndef M5_UNIT_RF433_RMT_ITEM_TYPES_HPP
11#define M5_UNIT_RF433_RMT_ITEM_TYPES_HPP
13#include <M5UnitComponent.hpp>
20constexpr m5::unit::gpio::m5_rmt_item_t rmt_item_one{{800, 1, 200, 0}};
21constexpr m5::unit::gpio::m5_rmt_item_t rmt_item_zero{{200, 1, 800, 0}};
22constexpr m5::unit::gpio::m5_rmt_item_t rmt_sof_0{{4868, 1, 2469, 0}};
23constexpr m5::unit::gpio::m5_rmt_item_t rmt_sof_1{{1647, 1, 315, 0}};
24constexpr m5::unit::gpio::m5_rmt_item_t rmt_preamble{{500, 1, 500, 0}};
46#if defined(M5_UNIT_UNIFIED_USING_RMT_V2)
48#elif defined(CONFIG_IDF_TARGET_ESP32S3)
70#if defined(M5_UNIT_UNIFIED_USING_RMT_V2)
72#elif defined(CONFIG_IDF_TARGET_ESP32S3)
77 static_cast<uint8_t
>((
RmtRxMaxItems - 1 ) / 8 - ProtocolOverhead);
88 return (1 + (
ProtocolOverhead + payload_size) * 8) *
sizeof(m5::unit::gpio::m5_rmt_item_t) +
99item_container_type encodeManchester(
const uint8_t* data,
const uint32_t len,
const bool MSB =
true);
110uint16_t decodeManchester(uint8_t* buf,
const uint16_t buf_size,
const m5::unit::gpio::m5_rmt_item_t* data,
111 const uint32_t num,
const bool MSB =
true);
Top level namespace of M5Stack.
uint8_t communication_identifier_t
Communication identifier (0-255)
Definition rmt_item_types.hpp:29
constexpr uint8_t MaxPayloadSize
Theoretical maximum payload size in bytes for the current platform.
Definition rmt_item_types.hpp:69
constexpr uint32_t calculateRingBufferSize(const uint32_t payload_size)
Calculate the minimum ring buffer size required to receive the given payload size.
Definition rmt_item_types.hpp:85
std::vector< uint8_t > container_type
Container.
Definition rmt_item_types.hpp:27
constexpr uint16_t RmtRxMaxItems
Maximum RMT items receivable in a single frame per platform.
Definition rmt_item_types.hpp:51
constexpr uint8_t ProtocolOverhead
Protocol overhead in bytes: CRC8(1) + ID(1) + Count(1) + Length(1) = 4.
Definition rmt_item_types.hpp:32
std::vector< gpio::m5_rmt_item_t > item_container_type
Item container.
Definition rmt_item_types.hpp:28