\hypertarget{sync_8h}{
\section{/home/epimerde/documents/tc11/Can\-Festival-3/include/sync.h File Reference}
\label{sync_8h}\index{/home/epimerde/documents/tc11/CanFestival-3/include/sync.h@{/home/epimerde/documents/tc11/CanFestival-3/include/sync.h}}
}
\subsection*{Typedefs}
\begin{CompactItemize}
\item
typedef void($\ast$) \hyperlink{sync_8h_8a0b5b8c19b375ef1c985caa120f3274}{post\_\-sync\_\-t} (void)
\item
typedef void($\ast$) \hyperlink{sync_8h_b9bc4632750ad12f918aa22a1eb7756b}{post\_\-TPDO\_\-t} (void)
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a}{start\-SYNC} (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$d)
\item
void \hyperlink{sync_8h_41c47dbd59d22bf9bab6cd288cf27164}{stop\-SYNC} (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$d)
\item
void \hyperlink{sync_8h_1da155dcbd7fa1271216d74a15e30490}{\_\-post\_\-sync} (void)
\item
void \hyperlink{sync_8h_1fdf94721303f1c60bb2de1a36b13cc4}{\_\-post\_\-TPDO} (void)
\item
UNS8 \hyperlink{sync_8h_0bcc501eb14c12365ffbaa3453905b50}{send\-SYNC} (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$d, UNS32 cob\_\-id)
\item
UNS8 \hyperlink{sync_8h_80cadcba23dc859db8a8d3f52789d6d1}{proceed\-SYNC} (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$d, \hyperlink{structMessage}{Message} $\ast$m)
\end{CompactItemize}
\subsection{Typedef Documentation}
\hypertarget{sync_8h_8a0b5b8c19b375ef1c985caa120f3274}{
\index{sync.h@{sync.h}!post_sync_t@{post\_\-sync\_\-t}}
\index{post_sync_t@{post\_\-sync\_\-t}!sync.h@{sync.h}}
\subsubsection[post\_\-sync\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$) \hyperlink{sync_8h_8a0b5b8c19b375ef1c985caa120f3274}{post\_\-sync\_\-t}(void)}}
\label{sync_8h_8a0b5b8c19b375ef1c985caa120f3274}
Definition at line 30 of file sync.h.\hypertarget{sync_8h_b9bc4632750ad12f918aa22a1eb7756b}{
\index{sync.h@{sync.h}!post_TPDO_t@{post\_\-TPDO\_\-t}}
\index{post_TPDO_t@{post\_\-TPDO\_\-t}!sync.h@{sync.h}}
\subsubsection[post\_\-TPDO\_\-t]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$) \hyperlink{sync_8h_b9bc4632750ad12f918aa22a1eb7756b}{post\_\-TPDO\_\-t}(void)}}
\label{sync_8h_b9bc4632750ad12f918aa22a1eb7756b}
Definition at line 33 of file sync.h.
\subsection{Function Documentation}
\hypertarget{sync_8h_1da155dcbd7fa1271216d74a15e30490}{
\index{sync.h@{sync.h}!_post_sync@{\_\-post\_\-sync}}
\index{_post_sync@{\_\-post\_\-sync}!sync.h@{sync.h}}
\subsubsection[\_\-post\_\-sync]{\setlength{\rightskip}{0pt plus 5cm}void \_\-post\_\-sync (void)}}
\label{sync_8h_1da155dcbd7fa1271216d74a15e30490}
Definition at line 245 of file sync.c.\hypertarget{sync_8h_1fdf94721303f1c60bb2de1a36b13cc4}{
\index{sync.h@{sync.h}!_post_TPDO@{\_\-post\_\-TPDO}}
\index{_post_TPDO@{\_\-post\_\-TPDO}!sync.h@{sync.h}}
\subsubsection[\_\-post\_\-TPDO]{\setlength{\rightskip}{0pt plus 5cm}void \_\-post\_\-TPDO (void)}}
\label{sync_8h_1fdf94721303f1c60bb2de1a36b13cc4}
Definition at line 246 of file sync.c.\hypertarget{sync_8h_80cadcba23dc859db8a8d3f52789d6d1}{
\index{sync.h@{sync.h}!proceedSYNC@{proceedSYNC}}
\index{proceedSYNC@{proceedSYNC}!sync.h@{sync.h}}
\subsubsection[proceedSYNC]{\setlength{\rightskip}{0pt plus 5cm}UNS8 proceed\-SYNC (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$ {\em d}, \hyperlink{structMessage}{Message} $\ast$ {\em m})}}
\label{sync_8h_80cadcba23dc859db8a8d3f52789d6d1}
This function is called when the node is receiving a SYNC message (cob-id = 0x80). What does the function : check if the node is in OERATIONAL mode. (other mode : return 0 but does nothing). Get the SYNC cob\-Id by reading the dictionary index 1005. (Return -1 if it does not correspond to the cob\-Id received). Scan the dictionary from index 0x1800 to the last PDO defined (dict\_\-cstes.max\_\-count\_\-of\_\-PDO\_\-transmit) for each PDO whose transmission type is on synchro (transmission type $<$ 241) and if the msg must be send at this SYNC. read the COBID. Verify that the node\-Id inside the node\-Id correspond to b\-Device\-Node\-Id. (Assume that the cob\-Id of a PDO Transmit is made with the node id of the node who transmit), get the mapping, launch PDOm\-GR to send the PDO $\ast$m is a pointer to the message received bus\_\-id is hardware dependant return 0 if OK, 0x\-FF if error
Definition at line 93 of file sync.c.
References td\_\-indextable::b\-Sub\-Count, Copy\-Bits(), struct\_\-s\_\-process\_\-var::count, struct\_\-CO\_\-Data::count\_\-sync, struct\_\-s\_\-timer\_\-entry::d, struct\_\-s\_\-process\_\-var::data, struct\_\-CO\_\-Data::first\-Index, get\-ODentry(), struct\_\-CO\_\-Data::last\-Index, MSG\_\-ERR, MSG\_\-WAR, struct\_\-CO\_\-Data::node\-State, struct\_\-CO\_\-Data::objdict, OD\_\-SUCCESSFUL, Operational, s\_\-quick\_\-index::PDO\_\-TRS, s\_\-quick\_\-index::PDO\_\-TRS\_\-MAP, PDOm\-GR(), td\_\-subindex::p\-Object, struct\_\-CO\_\-Data::post\_\-sync, struct\_\-CO\_\-Data::post\_\-TPDO, struct\_\-CO\_\-Data::process\_\-var, td\_\-indextable::p\-Subindex, state10, state11, state3, state4, state5, state7, state8, state9, TRANS\_\-SYNC\_\-MAX, TRANS\_\-SYNC\_\-MIN, UNS16, UNS32, and UNS8.\hypertarget{sync_8h_0bcc501eb14c12365ffbaa3453905b50}{
\index{sync.h@{sync.h}!sendSYNC@{sendSYNC}}
\index{sendSYNC@{sendSYNC}!sync.h@{sync.h}}
\subsubsection[sendSYNC]{\setlength{\rightskip}{0pt plus 5cm}UNS8 send\-SYNC (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$ {\em d}, UNS32 {\em cob\_\-id})}}
\label{sync_8h_0bcc501eb14c12365ffbaa3453905b50}
transmit a SYNC message on the bus number bus\_\-id bus\_\-id is hardware dependant return can\-Send(bus\_\-id,\&m)
Definition at line 77 of file sync.c.
References struct\_\-CO\_\-Data::can\-Handle, can\-Send(), Message::cob\_\-id, struct\_\-s\_\-timer\_\-entry::d, Message::len, MSG\_\-WAR, NOT\_\-A\_\-REQUEST, proceed\-SYNC(), Message::rtr, UNS8, and SHORT\_\-CAN::w.\hypertarget{sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a}{
\index{sync.h@{sync.h}!startSYNC@{startSYNC}}
\index{startSYNC@{startSYNC}!sync.h@{sync.h}}
\subsubsection[startSYNC]{\setlength{\rightskip}{0pt plus 5cm}void start\-SYNC (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$ {\em d})}}
\label{sync_8h_2e0bf669f5b40dfbdda0f12a5ae3631a}
Definition at line 50 of file sync.c.
References struct\_\-CO\_\-Data::COB\_\-ID\_\-Sync, struct\_\-s\_\-timer\_\-entry::d, On\-COB\_\-ID\_\-Sync\-Update(), Register\-Set\-ODentry\-Call\-Back(), Set\-Alarm(), stop\-SYNC(), struct\_\-CO\_\-Data::Sync\_\-Cycle\_\-Period, Sync\-Alarm(), struct\_\-CO\_\-Data::sync\-Timer, and US\_\-TO\_\-TIMEVAL.\hypertarget{sync_8h_41c47dbd59d22bf9bab6cd288cf27164}{
\index{sync.h@{sync.h}!stopSYNC@{stopSYNC}}
\index{stopSYNC@{stopSYNC}!sync.h@{sync.h}}
\subsubsection[stopSYNC]{\setlength{\rightskip}{0pt plus 5cm}void stop\-SYNC (\hyperlink{structstruct__CO__Data}{CO\_\-Data} $\ast$ {\em d})}}
\label{sync_8h_41c47dbd59d22bf9bab6cd288cf27164}
Definition at line 71 of file sync.c.
References struct\_\-s\_\-timer\_\-entry::d, Del\-Alarm(), and struct\_\-CO\_\-Data::sync\-Timer.