Program Listing for File DMA_CH10_CTRL_TRIG_DATA_SIZE.h#

Return to documentation for file (src/generated/enums/DMA_CH10_CTRL_TRIG_DATA_SIZE.h)

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class DMA_CH10_CTRL_TRIG_DATA_SIZE : uint8_t
{
    BYTE,
    HALFWORD = 1,
    WORD = 2
};
static_assert(sizeof(DMA_CH10_CTRL_TRIG_DATA_SIZE) == 1);

inline const char *to_string(DMA_CH10_CTRL_TRIG_DATA_SIZE instance)
{
    const char *result = "UNKNOWN DMA_CH10_CTRL_TRIG_DATA_SIZE";

    switch (instance)
    {
    case DMA_CH10_CTRL_TRIG_DATA_SIZE::BYTE:
        result = "BYTE";
        break;
    case DMA_CH10_CTRL_TRIG_DATA_SIZE::HALFWORD:
        result = "HALFWORD";
        break;
    case DMA_CH10_CTRL_TRIG_DATA_SIZE::WORD:
        result = "WORD";
        break;
    }

    return result;
}

inline bool from_string(const char *data, DMA_CH10_CTRL_TRIG_DATA_SIZE &output)
{
    bool result = false;

    if ((result = !strncmp(data, "BYTE", 4)))
    {
        output = DMA_CH10_CTRL_TRIG_DATA_SIZE::BYTE;
    }
    else if ((result = !strncmp(data, "HALFWORD", 8)))
    {
        output = DMA_CH10_CTRL_TRIG_DATA_SIZE::HALFWORD;
    }
    else if ((result = !strncmp(data, "WORD", 4)))
    {
        output = DMA_CH10_CTRL_TRIG_DATA_SIZE::WORD;
    }

    return result;
}

}; // namespace RP2040