Program Listing for File PADS_BANK_DRIVE.h#
↰ Return to documentation for file (src/generated/enums/PADS_BANK_DRIVE.h)
#pragma once
#ifndef RP2040_ENUMS_PADS_BANK_DRIVE_H
#define RP2040_ENUMS_PADS_BANK_DRIVE_H
#include "../ifgen/common.h"
#include <cstdint>
#include <cstring>
namespace RP2040
{
enum class PADS_BANK_DRIVE : uint8_t
{
_2mA,
_4mA = 1,
_8mA = 2,
_12mA = 3
};
static_assert(sizeof(PADS_BANK_DRIVE) == 1);
inline const char *to_string(PADS_BANK_DRIVE instance)
{
const char *result = "UNKNOWN PADS_BANK_DRIVE";
switch (instance)
{
case PADS_BANK_DRIVE::_2mA:
result = "_2mA";
break;
case PADS_BANK_DRIVE::_4mA:
result = "_4mA";
break;
case PADS_BANK_DRIVE::_8mA:
result = "_8mA";
break;
case PADS_BANK_DRIVE::_12mA:
result = "_12mA";
break;
}
return result;
}
inline std::ostream &operator<<(std::ostream &stream, PADS_BANK_DRIVE instance)
{
stream << to_string(instance);
return stream;
}
inline bool from_string(const char *data, PADS_BANK_DRIVE &output)
{
bool result = false;
if ((result = !strncmp(data, "_2mA", 4)))
{
output = PADS_BANK_DRIVE::_2mA;
}
else if ((result = !strncmp(data, "_4mA", 4)))
{
output = PADS_BANK_DRIVE::_4mA;
}
else if ((result = !strncmp(data, "_8mA", 4)))
{
output = PADS_BANK_DRIVE::_8mA;
}
else if ((result = !strncmp(data, "_12mA", 5)))
{
output = PADS_BANK_DRIVE::_12mA;
}
return result;
}
}; // namespace RP2040
#endif