template<typename TManchesterType>
struct etl::manchester_base< TManchesterType >
Base template class for Manchester encoding and decoding.
- Template Parameters
-
| TType | The Manchester encoding type (normal or inverted). |
Public Member Functions |
|
| ETL_STATIC_ASSERT ((etl::is_same< TManchesterType, private_manchester::manchester_type_normal >::value||etl::is_same< TManchesterType, private_manchester::manchester_type_inverted >::value), "TManchesterType must be manchester_type_normal or manchester_type_inverted") |
|
| ETL_STATIC_ASSERT (CHAR_BIT==etl::numeric_limits< uint_least8_t >::digits, "Manchester requires uint_least8_t to have the same number of bits as CHAR (CHAR_BITS)") |
Static Public Member Functions |
| template<typename TDecoded> |
| static ETL_CONSTEXPR14 etl::enable_if< etl::is_same< TDecoded, uint16_t >::value, typenameprivate_manchester::encoded< TDecoded >::type >::type | encode (TDecoded decoded) |
| template<typename TDecoded> |
| static ETL_CONSTEXPR14 etl::enable_if< etl::is_same< TDecoded, uint32_t >::value, typenameprivate_manchester::encoded< TDecoded >::type >::type | encode (TDecoded decoded) |
| template<typename TChunk = uint_least8_t> |
| static ETL_CONSTEXPR14 void | encode (etl::span< const uint_least8_t > decoded, etl::span< uint_least8_t > encoded) |
| template<typename TEncoded> |
| static ETL_CONSTEXPR14 etl::enable_if< etl::is_same< TEncoded, uint32_t >::value, typenameprivate_manchester::decoded< TEncoded >::type >::type | decode (TEncoded encoded) |
| template<typename TEncoded> |
| static ETL_CONSTEXPR14 etl::enable_if< etl::is_same< TEncoded, uint64_t >::value, typenameprivate_manchester::decoded< TEncoded >::type >::type | decode (TEncoded encoded) |
| template<typename TChunk = typename private_manchester::encoded<uint_least8_t>::type> |
| static ETL_CONSTEXPR14 void | decode (etl::span< const uint_least8_t > encoded, etl::span< uint_least8_t > decoded) |
| template<typename TChunk> |
| static ETL_NODISCARD ETL_CONSTEXPR14 etl::enable_if< private_manchester::is_decodable< TChunk >::value, bool >::type | is_valid (TChunk encoded) |
| static ETL_NODISCARD ETL_CONSTEXPR14 bool | is_valid (etl::span< const uint_least8_t > encoded) |