Program Listing for File DMA_CH5_CTRL_TRIG_TREQ_SEL.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class DMA_CH5_CTRL_TRIG_TREQ_SEL : uint8_t
{
    TIMER0 = 59 ,
    TIMER1 = 60 ,
    TIMER2 = 61 ,
    TIMER3 = 62 ,
    PERMANENT = 63
};
static_assert(sizeof(DMA_CH5_CTRL_TRIG_TREQ_SEL) == 1);

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

    switch (instance)
    {
    case DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER0:
        result = "TIMER0";
        break;
    case DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER1:
        result = "TIMER1";
        break;
    case DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER2:
        result = "TIMER2";
        break;
    case DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER3:
        result = "TIMER3";
        break;
    case DMA_CH5_CTRL_TRIG_TREQ_SEL::PERMANENT:
        result = "PERMANENT";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "TIMER0", 6)))
    {
        output = DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER0;
    }
    else if ((result = !strncmp(data, "TIMER1", 6)))
    {
        output = DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER1;
    }
    else if ((result = !strncmp(data, "TIMER2", 6)))
    {
        output = DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER2;
    }
    else if ((result = !strncmp(data, "TIMER3", 6)))
    {
        output = DMA_CH5_CTRL_TRIG_TREQ_SEL::TIMER3;
    }
    else if ((result = !strncmp(data, "PERMANENT", 9)))
    {
        output = DMA_CH5_CTRL_TRIG_TREQ_SEL::PERMANENT;
    }

    return result;
}

}; // namespace RP2040