Program Listing for File ROSC_CTRL_FREQ_RANGE.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class ROSC_CTRL_FREQ_RANGE : uint16_t
{
    LOW = 4004,
    MEDIUM = 4005,
    HIGH = 4007,
    TOOHIGH = 4006
};
static_assert(sizeof(ROSC_CTRL_FREQ_RANGE) == 2);

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

    switch (instance)
    {
    case ROSC_CTRL_FREQ_RANGE::LOW:
        result = "LOW";
        break;
    case ROSC_CTRL_FREQ_RANGE::MEDIUM:
        result = "MEDIUM";
        break;
    case ROSC_CTRL_FREQ_RANGE::HIGH:
        result = "HIGH";
        break;
    case ROSC_CTRL_FREQ_RANGE::TOOHIGH:
        result = "TOOHIGH";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "LOW", 3)))
    {
        output = ROSC_CTRL_FREQ_RANGE::LOW;
    }
    else if ((result = !strncmp(data, "MEDIUM", 6)))
    {
        output = ROSC_CTRL_FREQ_RANGE::MEDIUM;
    }
    else if ((result = !strncmp(data, "HIGH", 4)))
    {
        output = ROSC_CTRL_FREQ_RANGE::HIGH;
    }
    else if ((result = !strncmp(data, "TOOHIGH", 7)))
    {
        output = ROSC_CTRL_FREQ_RANGE::TOOHIGH;
    }

    return result;
}

}; // namespace RP2040