#include <applicfg.h>
#include "data.h"
Go to the source code of this file.
Typedefs | |
typedef void(*) | heartbeatError_t (UNS8) |
Functions | |
void | _heartbeatError (UNS8 heartbeatID) |
e_nodeState | getNodeState (CO_Data *d, UNS8 nodeId) |
void | heartbeatInit (CO_Data *d) |
void | heartbeatStop (CO_Data *d) |
void | proceedNODE_GUARD (CO_Data *d, Message *m) |
typedef void(*) heartbeatError_t(UNS8) |
e_nodeState getNodeState | ( | CO_Data * | d, | |
UNS8 | nodeId | |||
) |
To read the state of a node This can be used by the master after having sent a life guard request, of by any node if it is waiting for heartbeat.
Definition at line 33 of file lifegrd.c.
References struct_s_timer_entry::d, and struct_CO_Data::NMTable.
void heartbeatInit | ( | CO_Data * | d | ) |
Start heartbeat consumer and producer with respect to 0x1016 and 0x1017 object dictionary entries
Definition at line 147 of file lifegrd.c.
References ConsumerHearbeatAlarm(), struct_CO_Data::ConsumerHeartbeatCount, struct_CO_Data::ConsumerHeartbeatEntries, struct_CO_Data::ConsumerHeartBeatTimers, struct_s_timer_entry::d, MS_TO_TIMEVAL, OnHeartbeatProducerUpdate(), ProducerHearbeatAlarm(), struct_CO_Data::ProducerHeartBeatTime, struct_CO_Data::ProducerHeartBeatTimer, RegisterSetODentryCallBack(), SetAlarm(), TIMEVAL, struct_CO_Data::toggle, UNS16, UNS32, and UNS8.
void heartbeatStop | ( | CO_Data * | d | ) |
Stop heartbeat consumer and producer
Definition at line 173 of file lifegrd.c.
References struct_CO_Data::ConsumerHeartbeatCount, struct_CO_Data::ConsumerHeartBeatTimers, struct_s_timer_entry::d, DelAlarm(), struct_CO_Data::ProducerHeartBeatTimer, and UNS8.
This function is responsible to process a canopen-message which seams to be an NMT Error Control Messages. At them moment we assume that every NMT error control message is a heartbeat message.
Message | The CAN-message which has to be analysed. If a BootUp message is detected, it will return the nodeId of the Slave who booted up |
Definition at line 50 of file lifegrd.c.
References struct_CO_Data::bDeviceNodeId, struct_CO_Data::canHandle, canSend(), Message::cob_id, ConsumerHearbeatAlarm(), struct_CO_Data::ConsumerHeartbeatCount, struct_CO_Data::ConsumerHeartbeatEntries, struct_CO_Data::ConsumerHeartBeatTimers, struct_s_timer_entry::d, Message::data, DelAlarm(), GET_NODE_ID, Initialisation, Message::len, MS_TO_TIMEVAL, MSG_WAR, struct_CO_Data::NMTable, struct_CO_Data::nodeState, Message::rtr, SetAlarm(), TIMEVAL, struct_CO_Data::toggle, Unknown_state, UNS32, UNS8, and SHORT_CAN::w.