Program Listing for File XOSC_STATUS_FREQ_RANGE.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class XOSC_STATUS_FREQ_RANGE : uint8_t
{
    _1_15MHZ,
    RESERVED_1 = 1,
    RESERVED_2 = 2,
    RESERVED_3 = 3
};
static_assert(sizeof(XOSC_STATUS_FREQ_RANGE) == 1);

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

    switch (instance)
    {
    case XOSC_STATUS_FREQ_RANGE::_1_15MHZ:
        result = "_1_15MHZ";
        break;
    case XOSC_STATUS_FREQ_RANGE::RESERVED_1:
        result = "RESERVED_1";
        break;
    case XOSC_STATUS_FREQ_RANGE::RESERVED_2:
        result = "RESERVED_2";
        break;
    case XOSC_STATUS_FREQ_RANGE::RESERVED_3:
        result = "RESERVED_3";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "_1_15MHZ", 8)))
    {
        output = XOSC_STATUS_FREQ_RANGE::_1_15MHZ;
    }
    else if ((result = !strncmp(data, "RESERVED_1", 10)))
    {
        output = XOSC_STATUS_FREQ_RANGE::RESERVED_1;
    }
    else if ((result = !strncmp(data, "RESERVED_2", 10)))
    {
        output = XOSC_STATUS_FREQ_RANGE::RESERVED_2;
    }
    else if ((result = !strncmp(data, "RESERVED_3", 10)))
    {
        output = XOSC_STATUS_FREQ_RANGE::RESERVED_3;
    }

    return result;
}

}; // namespace RP2040