Program Listing for File XIP_SSI_CTRLR0_TMOD.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class XIP_SSI_CTRLR0_TMOD : uint8_t
{
    TX_AND_RX ,
    TX_ONLY = 1 ,
    RX_ONLY = 2 ,
    EEPROM_READ = 3
};
static_assert(sizeof(XIP_SSI_CTRLR0_TMOD) == 1);

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

    switch (instance)
    {
    case XIP_SSI_CTRLR0_TMOD::TX_AND_RX:
        result = "TX_AND_RX";
        break;
    case XIP_SSI_CTRLR0_TMOD::TX_ONLY:
        result = "TX_ONLY";
        break;
    case XIP_SSI_CTRLR0_TMOD::RX_ONLY:
        result = "RX_ONLY";
        break;
    case XIP_SSI_CTRLR0_TMOD::EEPROM_READ:
        result = "EEPROM_READ";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "TX_AND_RX", 9)))
    {
        output = XIP_SSI_CTRLR0_TMOD::TX_AND_RX;
    }
    else if ((result = !strncmp(data, "TX_ONLY", 7)))
    {
        output = XIP_SSI_CTRLR0_TMOD::TX_ONLY;
    }
    else if ((result = !strncmp(data, "RX_ONLY", 7)))
    {
        output = XIP_SSI_CTRLR0_TMOD::RX_ONLY;
    }
    else if ((result = !strncmp(data, "EEPROM_READ", 11)))
    {
        output = XIP_SSI_CTRLR0_TMOD::EEPROM_READ;
    }

    return result;
}

}; // namespace RP2040