diff -r 000000000000 -r 4472ee7c6c3e doc/canfestival_overview.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/canfestival_overview.svg Wed May 10 16:59:40 2006 +0200 @@ -0,0 +1,1211 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + Implementation overview + + HWinterfaces + + + + + + + + + + (GUI generated .c+.h file,one per node,to compile and link with your code) + Node DATA CO_Datadata.h + OBJECT DICTIONARY + + + + + + SCHEDULINGtimer.c + + + + OD ACCESSobjaccess.c + + HardwareAbstactionLayer + 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 + + + + CAN DRIVERINTERFACEcan_xxx.c + RCV + TRS + + + + SYSTEM TIMERSINTERFACEtimers_xxx.c + + + + + PERSITANT STORAGEnvram.c + + + + + LED INDICATORSled.c + + + + PERSISTANTSTORAGE INTERFACEnvram_xxx.c + + + + LEDINTERFACEled_xxx.c + + + + + + AUTO CAN BAUDRATElss.c + + Application(master/slave) + + + + Optional:- NVRAM- LED- CAN LSS supportInterfaces can be provideddirectly by application. + libcanfestival_$(TARGET).a + libcanfestival.a + + Mandatory:- Declare nodes callbacks- Open CAN interfaces- Initiate TImersEach 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. + + +