|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
A device or an assembly — the two are one shape (specification §3.2.2). More...
#include <hardware_description.h>
Public Member Functions | |
| std::string | buildDescriptor () const |
The buildDescriptor: id and version joined by a dash, e.g. "9501-01". | |
Public Attributes | |
| std::string | name |
| Human-readable description of the hardware. Required. | |
| std::string | imageId |
| Names the product's picture, e.g. "9501-xx". Optional. | |
| std::string | id |
| firmwareId — identifies the hardware product, e.g. "9501". | |
| std::string | version |
| firmwareVersion — revision of that product, e.g. "01". | |
| std::string | keyId |
| Firmware encryption key burned to OTP, e.g. "4622". Device only. | |
| std::string | serialNumber |
| Identifies this particular unit. Optional. | |
| std::string | macAddress |
| MAC address of the Ethernet port. Device only, optional. | |
| std::vector< HardwareComponent > | components |
| What this product is made of. Optional. | |
A device or an assembly — the two are one shape (specification §3.2.2).
The specification introduces both as concepts rather than as one type with two roles, and lists their fields in a single table: they differ only in that keyId and macAddress are device-only. One struct for both is what that table describes, and it is what makes buildDescriptor a single function rather than two that must not drift apart.
"Product" is the specification's own word for what these describe — id "identifies the
hardware product" — which is why it names the type that has to cover both.
| std::string mm::node::HardwareProduct::buildDescriptor | ( | ) | const |
The buildDescriptor: id and version joined by a dash, e.g. "9501-01".
Named for what the specification calls it in §3.3 (also written BUILD_DESCRIPTOR there), and deliberately not "versioned product id" or any of the other names this string has collected.
| std::vector<HardwareComponent> mm::node::HardwareProduct::components |
What this product is made of. Optional.
| std::string mm::node::HardwareProduct::id |
firmwareId — identifies the hardware product, e.g. "9501".
| std::string mm::node::HardwareProduct::imageId |
Names the product's picture, e.g. "9501-xx". Optional.
| std::string mm::node::HardwareProduct::keyId |
Firmware encryption key burned to OTP, e.g. "4622". Device only.
| std::string mm::node::HardwareProduct::macAddress |
MAC address of the Ethernet port. Device only, optional.
| std::string mm::node::HardwareProduct::name |
Human-readable description of the hardware. Required.
| std::string mm::node::HardwareProduct::serialNumber |
Identifies this particular unit. Optional.
| std::string mm::node::HardwareProduct::version |
firmwareVersion — revision of that product, e.g. "01".