/home/epimerde/documents/tc11/CanFestival-3/include/states.h File Reference

#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 Documentation

typedef enum enum_nodeState e_nodeState

Definition at line 46 of file states.h.

typedef void(*) initialisation_t(void)

Function that user app can overload

Definition at line 61 of file states.h.

typedef void(*) operational_t(void)

Definition at line 63 of file states.h.

typedef void(*) preOperational_t(void)

Definition at line 62 of file states.h.

typedef void(*) stopped_t(void)

Definition at line 64 of file states.h.


Enumeration Type Documentation

enum enum_nodeState

Enumerator:
Initialisation 
Disconnected 
Connecting 
Preparing 
Stopped 
Operational 
Pre_operational 
Unknown_state 

Definition at line 35 of file states.h.


Function Documentation

void _initialisation ( void   ) 

Definition at line 234 of file states.c.

void _operational ( void   ) 

Definition at line 236 of file states.c.

void _preOperational ( void   ) 

Definition at line 235 of file states.c.

void _stopped ( void   ) 

Definition at line 237 of file states.c.

void canDispatch ( CO_Data d,
Message m 
)

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.


Generated on Mon Jun 4 16:29:07 2007 for CanFestival by  doxygen 1.5.1