nico@207: nico@207:
nico@207:#include <applicfg.h>
#include "data.h"
nico@207: 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 { nico@207: Initialisation = 0x00, nico@207: Disconnected = 0x01, nico@207: Connecting = 0x02, nico@207: Preparing = 0x02, nico@207: nico@207: Stopped = 0x04, nico@207: Operational = 0x05, nico@207: Pre_operational = 0x7F, nico@207: Unknown_state = 0x0F nico@207: nico@207: } |
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 | nico@207:
typedef void(*) initialisation_t(void) | nico@207:
typedef void(*) operational_t(void) | nico@207:
typedef void(*) preOperational_t(void) | nico@207:
typedef void(*) stopped_t(void) | nico@207:
nico@207:
enum enum_nodeState | nico@207:
nico@207:
nico@207:
void _initialisation | nico@207:( | nico@207:void | nico@207:nico@207: | ) | nico@207:nico@207: |
void _operational | nico@207:( | nico@207:void | nico@207:nico@207: | ) | nico@207:nico@207: |
void _preOperational | nico@207:( | nico@207:void | nico@207:nico@207: | ) | nico@207:nico@207: |
void _stopped | nico@207:( | nico@207:void | nico@207:nico@207: | ) | nico@207:nico@207: |
void canDispatch | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | Message * | nico@207:m | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: Called by driver/app when receiving messages nico@207:
nico@207: Definition at line 39 of file states.c. nico@207:
nico@207: 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. nico@207:
UNS8 getNodeId | nico@207:( | nico@207:CO_Data * | nico@207:d | nico@207:) | nico@207:nico@207: |
nico@207: Returns the nodId nico@207:
nico@207: Definition at line 180 of file states.c. nico@207:
nico@207: References struct_CO_Data::bDeviceNodeId, and struct_s_timer_entry::d. nico@207:
e_nodeState getState | nico@207:( | nico@207:CO_Data * | nico@207:d | nico@207:) | nico@207:nico@207: |
nico@207: Returns the state of the node nico@207:
nico@207: Definition at line 33 of file states.c. nico@207:
nico@207: References struct_s_timer_entry::d, and struct_CO_Data::nodeState. nico@207:
void initPreOperationalMode | nico@207:( | nico@207:CO_Data * | nico@207:d | nico@207:) | nico@207:nico@207: |
nico@207: Some stuff to do when the node enter in pre-operational mode nico@207:
void setNodeId | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | UNS8 | nico@207:nodeId | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: Define the node ID. Initialize the object dictionary nico@207:
nico@207: Definition at line 186 of file states.c. nico@207:
nico@207: 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. nico@207:
UNS8 setState | nico@207:( | nico@207:CO_Data * | nico@207:d, | nico@207:|
nico@207: | nico@207: | e_nodeState | nico@207:newState | nico@207: |
nico@207: | ) | nico@207:nico@207: |
nico@207: Change the state of the node nico@207:
nico@207: Definition at line 100 of file states.c. nico@207:
nico@207: 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. nico@207:
nico@207: