#include <applicfg.h>
#include "data.h"
Go to the source code of this file.
Data Structures | |
struct | s_state_communication |
Typedefs | |
typedef enum enum_nodeState | e_nodeState |
typedef void(*) | initialisation_t (void) |
typedef void(*) | preOperational_t (void) |
typedef void(*) | operational_t (void) |
typedef void(*) | stopped_t (void) |
Enumerations | |
enum | enum_nodeState { Initialisation = 0x00, Disconnected = 0x01, Connecting = 0x02, Preparing = 0x02, Stopped = 0x04, Operational = 0x05, Pre_operational = 0x7F, Unknown_state = 0x0F } |
Functions | |
void | _initialisation (void) |
void | _preOperational (void) |
void | _operational (void) |
void | _stopped (void) |
void | canDispatch (CO_Data *d, Message *m) |
e_nodeState | getState (CO_Data *d) |
UNS8 | setState (CO_Data *d, e_nodeState newState) |
UNS8 | getNodeId (CO_Data *d) |
void | setNodeId (CO_Data *d, UNS8 nodeId) |
void | initPreOperationalMode (CO_Data *d) |
typedef enum enum_nodeState e_nodeState |
typedef void(*) initialisation_t(void) |
typedef void(*) operational_t(void) |
typedef void(*) preOperational_t(void) |
enum enum_nodeState |
Called by driver/app when receiving messages
Definition at line 39 of file states.c.
References Message::cob_id, s_state_communication::csHeartbeat, s_state_communication::csPDO, s_state_communication::csSDO, s_state_communication::csSYNC, struct_CO_Data::CurrentCommunicationState, struct_s_timer_entry::d, struct_CO_Data::iam_a_slave, NMT, NODE_GUARD, PDO1rx, PDO1tx, PDO2rx, PDO2tx, PDO3rx, PDO3tx, PDO4rx, PDO4tx, proceedNMTstateChange(), proceedNODE_GUARD(), proceedPDO(), proceedSDO(), proceedSYNC(), SDOrx, SDOtx, SYNC, and SHORT_CAN::w.
UNS8 getNodeId | ( | CO_Data * | d | ) |
Returns the nodId
Definition at line 180 of file states.c.
References struct_CO_Data::bDeviceNodeId, and struct_s_timer_entry::d.
e_nodeState getState | ( | CO_Data * | d | ) |
Returns the state of the node
Definition at line 33 of file states.c.
References struct_s_timer_entry::d, and struct_CO_Data::nodeState.
void initPreOperationalMode | ( | CO_Data * | d | ) |
Some stuff to do when the node enter in pre-operational mode
void setNodeId | ( | CO_Data * | d, | |
UNS8 | nodeId | |||
) |
Define the node ID. Initialize the object dictionary
Definition at line 186 of file states.c.
References struct_CO_Data::bDeviceNodeId, struct_s_timer_entry::d, struct_CO_Data::firstIndex, struct_CO_Data::lastIndex, struct_CO_Data::objdict, s_quick_index::PDO_RCV, s_quick_index::PDO_TRS, td_subindex::pObject, td_indextable::pSubindex, s_quick_index::SDO_SVR, UNS16, UNS32, and UNS8.
UNS8 setState | ( | CO_Data * | d, | |
e_nodeState | newState | |||
) |
Change the state of the node
Definition at line 100 of file states.c.
References struct_s_timer_entry::d, decompo_dcf(), struct_CO_Data::iam_a_slave, struct_CO_Data::initialisation, Initialisation, struct_CO_Data::nodeState, OD_SUCCESSFUL, struct_CO_Data::operational, Operational, Pre_operational, struct_CO_Data::preOperational, ptrTable, struct_CO_Data::scanIndexOD, struct_CO_Data::stopped, Stopped, switchCommunicationState(), UNS16, and UNS32.