Program Listing for File I2C0_IC_CON_SPEED.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class I2C0_IC_CON_SPEED : uint8_t
{
    STANDARD = 1 ,
    FAST = 2 ,
    HIGH = 3
};
static_assert(sizeof(I2C0_IC_CON_SPEED) == 1);

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

    switch (instance)
    {
    case I2C0_IC_CON_SPEED::STANDARD:
        result = "STANDARD";
        break;
    case I2C0_IC_CON_SPEED::FAST:
        result = "FAST";
        break;
    case I2C0_IC_CON_SPEED::HIGH:
        result = "HIGH";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "STANDARD", 8)))
    {
        output = I2C0_IC_CON_SPEED::STANDARD;
    }
    else if ((result = !strncmp(data, "FAST", 4)))
    {
        output = I2C0_IC_CON_SPEED::FAST;
    }
    else if ((result = !strncmp(data, "HIGH", 4)))
    {
        output = I2C0_IC_CON_SPEED::HIGH;
    }

    return result;
}

}; // namespace RP2040