Program Listing for File DMA_SNIFF_CTRL_CALC.h#

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

#pragma once

#include <cstdint>
#include <cstring>

namespace RP2040
{

enum class DMA_SNIFF_CTRL_CALC : uint8_t
{
    CRC32 ,
    CRC32R = 1
        ,
    CRC16 = 2 ,
    CRC16R = 3 ,
    EVEN = 14
        ,
    SUM = 15
};
static_assert(sizeof(DMA_SNIFF_CTRL_CALC) == 1);

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

    switch (instance)
    {
    case DMA_SNIFF_CTRL_CALC::CRC32:
        result = "CRC32";
        break;
    case DMA_SNIFF_CTRL_CALC::CRC32R:
        result = "CRC32R";
        break;
    case DMA_SNIFF_CTRL_CALC::CRC16:
        result = "CRC16";
        break;
    case DMA_SNIFF_CTRL_CALC::CRC16R:
        result = "CRC16R";
        break;
    case DMA_SNIFF_CTRL_CALC::EVEN:
        result = "EVEN";
        break;
    case DMA_SNIFF_CTRL_CALC::SUM:
        result = "SUM";
        break;
    }

    return result;
}

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

    if ((result = !strncmp(data, "CRC32", 5)))
    {
        output = DMA_SNIFF_CTRL_CALC::CRC32;
    }
    else if ((result = !strncmp(data, "CRC32R", 6)))
    {
        output = DMA_SNIFF_CTRL_CALC::CRC32R;
    }
    else if ((result = !strncmp(data, "CRC16", 5)))
    {
        output = DMA_SNIFF_CTRL_CALC::CRC16;
    }
    else if ((result = !strncmp(data, "CRC16R", 6)))
    {
        output = DMA_SNIFF_CTRL_CALC::CRC16R;
    }
    else if ((result = !strncmp(data, "EVEN", 4)))
    {
        output = DMA_SNIFF_CTRL_CALC::EVEN;
    }
    else if ((result = !strncmp(data, "SUM", 3)))
    {
        output = DMA_SNIFF_CTRL_CALC::SUM;
    }

    return result;
}

}; // namespace RP2040