Program Listing for File CLOCKS_CLK_REF_CTRL_SRC.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class CLOCKS_CLK_REF_CTRL_SRC : uint8_t
{
    rosc_clksrc_ph,
    clksrc_clk_ref_aux = 1,
    xosc_clksrc = 2
};
static_assert(sizeof(CLOCKS_CLK_REF_CTRL_SRC) == 1);

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

    switch (instance)
    {
    case CLOCKS_CLK_REF_CTRL_SRC::rosc_clksrc_ph:
        result = "rosc_clksrc_ph";
        break;
    case CLOCKS_CLK_REF_CTRL_SRC::clksrc_clk_ref_aux:
        result = "clksrc_clk_ref_aux";
        break;
    case CLOCKS_CLK_REF_CTRL_SRC::xosc_clksrc:
        result = "xosc_clksrc";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "rosc_clksrc_ph", 14)))
    {
        output = CLOCKS_CLK_REF_CTRL_SRC::rosc_clksrc_ph;
    }
    else if ((result = !strncmp(data, "clksrc_clk_ref_aux", 18)))
    {
        output = CLOCKS_CLK_REF_CTRL_SRC::clksrc_clk_ref_aux;
    }
    else if ((result = !strncmp(data, "xosc_clksrc", 11)))
    {
        output = CLOCKS_CLK_REF_CTRL_SRC::xosc_clksrc;
    }

    return result;
}

}; // namespace RP2040