Program Listing for File PWM_CH1_CSR_DIVMODE.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class PWM_CH1_CSR_DIVMODE : uint8_t
{
    div ,
    level = 1 ,
    rise = 2 ,
    fall = 3
};
static_assert(sizeof(PWM_CH1_CSR_DIVMODE) == 1);

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

    switch (instance)
    {
    case PWM_CH1_CSR_DIVMODE::div:
        result = "div";
        break;
    case PWM_CH1_CSR_DIVMODE::level:
        result = "level";
        break;
    case PWM_CH1_CSR_DIVMODE::rise:
        result = "rise";
        break;
    case PWM_CH1_CSR_DIVMODE::fall:
        result = "fall";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "div", 3)))
    {
        output = PWM_CH1_CSR_DIVMODE::div;
    }
    else if ((result = !strncmp(data, "level", 5)))
    {
        output = PWM_CH1_CSR_DIVMODE::level;
    }
    else if ((result = !strncmp(data, "rise", 4)))
    {
        output = PWM_CH1_CSR_DIVMODE::rise;
    }
    else if ((result = !strncmp(data, "fall", 4)))
    {
        output = PWM_CH1_CSR_DIVMODE::fall;
    }

    return result;
}

}; // namespace RP2040