diff -r 8b45ff4202c3 -r b505f7116a1c doc/manual/en/canfestival_overview.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/en/canfestival_overview.svg Fri Apr 13 10:57:03 2007 +0200 @@ -0,0 +1,1153 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + Implementation overview + + + Targetinterface + + + + + + + + + + (GUI generated .c+.h file,one per node,to compile and link with your code) + Node DATA CO_Datadata.h + OBJECT DICTIONARY + + + + + OD ACCESSobjaccess.c + + CanFestival Library + CanOpen Protocols + Node Management + + + + + + + + + + STATE MACHINEstates.c + CanDispatch + + + + + + + + + SERVICE DATA OBJECTSsdo.c + + + + PROCESS DATA OBJECTSpdo.c + + + + NETWORK MANAGEMENTnmtMaster.c + nmtSlave.c + + + + SYNCHRONIZATIONsync.c + + + + + + AUTO CAN BAUDRATElss.c + + Application(master/slave) + + + + libcanfestival_$(CAN_DRIVER).so$(CAN_DRIVER).dll,cyg$(CAN_DRIVER).dll + libcanfestival.a + + Mandatory:- Open CAN interfaces- Initiate TImersOptional:- Declare some callbacksEach call to the CanFestival API provide a pointer to the related node's CO_Data struct.In order to respect data integrity in the stack, all calls to the API should be made from mandatory nodes callback. + + + + + Node Callbacks:SDOtimeoutErrorheartbeatErrorcanSendinitialisationpreOperationaoperationalstoppedpost_syncpost_TPDO + + + + NodesInitialisationCalled atinitialisationof stack,once CANinterfacesopened. + + + + + + SCHEDULINGtimer.c + + + + SYSTEM TIMERSINTERFACEtimers_xxx.c + + libcanfestival_$(TARGET).acanfestival_$(TARGET).lib + + + + + + OS interfaceunix.corwin32.c + + + CAN DRIVERINTERFACEcan_xxx.c + RCV + TRS + + CANinterface + Dynamicaly loadedor Linked + +