Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
esi_data_type.cc File Reference
#include "etg/esi_data_type.h"
#include <algorithm>
#include <charconv>
#include <nlohmann/json.hpp>
Include dependency graph for esi_data_type.cc:

Namespaces

namespace  mm
 
namespace  mm::etg
 

Functions

std::string_view mm::etg::arrayElementTypeName (std::string_view esiName)
 Returns the element type name of an "ARRAY [a..b] OF T" composition, else empty.
 
bool mm::etg::isStringTypeName (std::string_view esiName)
 True when esiName is a parameterised string type — STRING(n) / OCTET_STRING(n) / UNICODE_STRING(n).
 
std::optional< PrimitiveTypemm::etg::resolvePrimitiveType (std::string_view esiName)
 Resolves an ESI type name to its CoE code, width and signedness.
 
ValueKind mm::etg::resolveValueKind (uint16_t dataType, uint16_t bitSize)
 Resolves the C++ type an entry holds, from its ETG.1020 code and declared width.
 
void mm::etg::to_json (nlohmann::json &j, const PrimitiveType &type)
 Serialises a PrimitiveType to JSON (name, code, bitSize, isSigned).