Documentation error about RMT_symbol in esp-idf-5.2
Posted: Thu Apr 04, 2024 5:33 pm
Documentation error about RMT_symbol
Drawing of bit levels should not be in lsb positions of words but in msb positions According to rmt_types.h
It seems that level bits are msb and not lsb
/**
* @brief The layout of RMT symbol stored in memory, which is decided by the hardware design
*/
typedef union {
struct {
uint16_t duration0 : 15; /*!< Duration of level0 */
uint16_t level0 : 1; /*!< Level of the first part */
uint16_t duration1 : 15; /*!< Duration of level1 */
uint16_t level1 : 1; /*!< Level of the second part */
};
uint32_t val; /*!< Equivalent unsigned value for the RMT symbol */
} rmt_symbol_word_t;
According to esp32_technical_reference_manual_en
Level bits are msb bits
Drawing of bit levels should not be in lsb positions of words but in msb positions According to rmt_types.h
It seems that level bits are msb and not lsb
/**
* @brief The layout of RMT symbol stored in memory, which is decided by the hardware design
*/
typedef union {
struct {
uint16_t duration0 : 15; /*!< Duration of level0 */
uint16_t level0 : 1; /*!< Level of the first part */
uint16_t duration1 : 15; /*!< Duration of level1 */
uint16_t level1 : 1; /*!< Level of the second part */
};
uint32_t val; /*!< Equivalent unsigned value for the RMT symbol */
} rmt_symbol_word_t;
According to esp32_technical_reference_manual_en
Level bits are msb bits