6#include <nlohmann/json_fwd.hpp>
153std::expected<IntegroVariant, std::string>
parseIntegroVariant(std::span<const uint8_t> content);
Definition bus_health_source.h:7
std::optional< uint16_t > variantFieldbusProtocol(const IntegroVariant &variant)
The selected fieldbus protocol, for the tail of a full firmware descriptor (specification ยง3....
Definition integro_variant.cc:301
std::string_view toString(FirmwareMatch match)
What a match is called, for a message or a JSON body: "none", "assembly", "device".
Definition firmware_package.cc:295
const IntegroVariantOption * integroVariantOption(uint16_t id)
Looks a code up in the catalogue.
Definition integro_variant.cc:234
void to_json(nlohmann::json &j, const Cia402Status &s)
Serialises a Cia402Status. Emits state/modeName as human-readable strings alongside the numeric statu...
Definition cia402_drive.cc:13
VariantOperationMode
How the drive treats its variant options (firmware OPTIONS_MODE_*).
Definition integro_variant.h:54
constexpr uint16_t kMaxVariantOptions
The most options a file may carry (firmware MAX_VARIANTS_COUNT).
Definition integro_variant.h:139
std::span< const IntegroVariantOption > integroVariantOptions()
The whole catalogue, in code order.
Definition integro_variant.cc:232
std::expected< IntegroVariant, std::string > parseIntegroVariant(std::span< const uint8_t > content)
Decodes content as a .variant file.
Definition integro_variant.cc:255
One entry of the Integro runtime-variant option catalogue.
Definition integro_variant.h:69
std::string_view category
What the option selects, e.g. "Fieldbus Protocol".
Definition integro_variant.h:71
std::span< const uint16_t > incompatibleOptionIds
Definition integro_variant.h:83
std::span< const std::string_view > mpnSegmentCodes
Definition integro_variant.h:87
std::span< const std::string_view > socVariables
Definition integro_variant.h:76
std::string_view meaning
Which choice within that category, e.g. "EtherCAT".
Definition integro_variant.h:72
A parsed .variant file.
Definition integro_variant.h:123
std::vector< uint16_t > optionIds
Option codes, in the order the file lists them.
Definition integro_variant.h:131
std::array< uint8_t, 64 > signature
Opaque; verified by the drive, never here.
Definition integro_variant.h:125
uint16_t operationMode
Raw VariantOperationMode value.
Definition integro_variant.h:130
std::string serialNumber
The Integro's serial number, e.g. "9004-02-...".
Definition integro_variant.h:127
uint32_t customerId
Who the device was licensed to.
Definition integro_variant.h:129
std::string macAddress
Colon-separated, e.g. "40:49:8A:01:21:D6".
Definition integro_variant.h:128
std::array< uint8_t, 12 > chipId
netX chip id this file was issued for.
Definition integro_variant.h:126
uint32_t fileVersion
Format version; 1 in every file seen so far.
Definition integro_variant.h:124