Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
device.h File Reference
#include <cstdint>
#include <cstring>
#include <deque>
#include <expected>
#include <format>
#include <map>
#include <memory>
#include <mutex>
#include <nlohmann/json_fwd.hpp>
#include <optional>
#include <span>
#include <string>
#include <type_traits>
#include <unordered_map>
#include <utility>
#include <variant>
#include <vector>
#include "comm/fieldbus_driver.h"
#include "node/device_parameter.h"
#include "node/pdo_mapping.h"
Include dependency graph for device.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mm::node::ObjectValues
 Decoded values of one object's readable sub-entries, as returned by Device::readObject. More...
 
class  mm::node::Device
 Represents a single node on the fieldbus. More...
 

Namespaces

namespace  mm
 
namespace  mm::node
 

Enumerations

enum class  mm::node::CompleteAccessSupport : uint8_t { mm::node::kUnknown , mm::node::kSupported , mm::node::kUnsupported }
 Runtime discovery state of CoE Complete Access support. CA is optional in CoE and the EEPROM capability hint is unreliable (SOMANET advertises completeAccess=false while CA in fact works), so support is probed: the first grouped read attempts CA and the outcome is remembered — the runtime probe, not the hint, is authoritative. More...
 
enum class  mm::node::DeclaredSubindexReads : uint8_t { mm::node::kUnknown , mm::node::kServed , mm::node::kRefused }
 Whether a device serves the subindices an array or a record declares but does not hold. More...
 

Functions

void mm::node::to_json (nlohmann::json &j, const Device &d)
 Serialises a Device to JSON.
 
std::expected< int, std::string > mm::node::reconcileDetectedModules (const Device &device)
 Reconciles a device's Configured Module Ident List with its Detected list.