IoT::CANopen

class NodeImpl

File Information

Library: IoT/CANopen
Package: Node
Header: IoT/CANopen/NodeImpl.h

Inheritance

Direct Base Classes: Node

All Base Classes: Node, Poco::OSP::Service, Poco::RefCountedObject

Member Summary

Member Functions: enumerateNodes, isA, lock, mpdo, nmt, objectDictionary, onHeartbeatReceived, onRemove, pdo, sdo, time, type, unlock

Inherited Functions: duplicate, enumerateNodes, isA, lock, mpdo, nmt, objectDictionary, pdo, referenceCount, release, sdo, time, type, unlock

Types

Ptr

typedef Poco::AutoPtr < Node > Ptr;

Constructors

NodeImpl

NodeImpl(
    CANBus & canBus,
    Poco::UInt8 nodeID,
    Poco::UInt32 timeCOBID,
    Poco::Timespan protocolTimeout,
    Poco::Timespan heartbeatTimeout,
    Poco::Util::Timer & timer
);

Creates the NodeImpl.

Destructor

~NodeImpl virtual

~NodeImpl();

Destroys the NodeImpl.

Member Functions

enumerateNodes

void enumerateNodes(
    std::vector < Node::NodeInfo > & nodes
);

isA virtual

bool isA(
    const std::type_info & otherType
) const;

lock virtual

void lock();

mpdo virtual

MPDO & mpdo();

nmt virtual

NMT & nmt();

objectDictionary virtual

ObjectDictionary & objectDictionary();

pdo virtual

PDO & pdo();

sdo virtual

SDO & sdo();

time virtual

Time & time();

type virtual

const std::type_info & type() const;

unlock virtual

void unlock();

onHeartbeatReceived protected

void onHeartbeatReceived(
    const NMT::Heartbeat & heartbeat
);

onRemove protected

void onRemove(
    const Poco::UInt8 & nodeID
);

Securely control IoT edge devices from anywhere   Connect a Device