SOEM EtherCAT Master library for STM Nucleo F767ZI

Dependents:   EasyCAT_LAB_simple EasyCAT_LAB_very_simple EasyCAT_LAB

  • It has been developed for the EasyCAT LAB , a complete educational and experimental EtherCAT® system, composed of one master and two slaves .

Warning

/media/uploads/EasyCAT/easycat_lab.jpg

Committer:
EasyCAT
Date:
Tue Jun 11 10:29:09 2019 +0000
Revision:
0:543d6784d4cc
SOEM EtherCAT Master Library for STM Nucleo F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EasyCAT 0:543d6784d4cc 1 /*
EasyCAT 0:543d6784d4cc 2 * Licensed under the GNU General Public License version 2 with exceptions. See
EasyCAT 0:543d6784d4cc 3 * LICENSE file in the project root for full license information
EasyCAT 0:543d6784d4cc 4 */
EasyCAT 0:543d6784d4cc 5
EasyCAT 0:543d6784d4cc 6 #ifndef _osal_
EasyCAT 0:543d6784d4cc 7 #define _osal_
EasyCAT 0:543d6784d4cc 8
EasyCAT 0:543d6784d4cc 9
EasyCAT 0:543d6784d4cc 10 #ifdef __cplusplus
EasyCAT 0:543d6784d4cc 11 extern "C"
EasyCAT 0:543d6784d4cc 12 {
EasyCAT 0:543d6784d4cc 13 #endif
EasyCAT 0:543d6784d4cc 14
EasyCAT 0:543d6784d4cc 15 #include "osal_defs.h"
EasyCAT 0:543d6784d4cc 16 #include <stdint.h>
EasyCAT 0:543d6784d4cc 17
EasyCAT 0:543d6784d4cc 18 /* General types */
EasyCAT 0:543d6784d4cc 19 #define TRUE 1
EasyCAT 0:543d6784d4cc 20 #define FALSE 0
EasyCAT 0:543d6784d4cc 21
EasyCAT 0:543d6784d4cc 22 #define boolean uint8_t
EasyCAT 0:543d6784d4cc 23
EasyCAT 0:543d6784d4cc 24 #define uint8 uint8_t
EasyCAT 0:543d6784d4cc 25 #define uint16 uint16_t
EasyCAT 0:543d6784d4cc 26 #define uint32 uint32_t
EasyCAT 0:543d6784d4cc 27 #define uint64 uint64_t
EasyCAT 0:543d6784d4cc 28 #define int8 int8_t
EasyCAT 0:543d6784d4cc 29 #define int16 int16_t
EasyCAT 0:543d6784d4cc 30 #define int32 int32_t
EasyCAT 0:543d6784d4cc 31 #define int64 int64_t
EasyCAT 0:543d6784d4cc 32
EasyCAT 0:543d6784d4cc 33
EasyCAT 0:543d6784d4cc 34
EasyCAT 0:543d6784d4cc 35 typedef struct
EasyCAT 0:543d6784d4cc 36 {
EasyCAT 0:543d6784d4cc 37 uint32 sec; //< Seconds elapsed since the Epoch (Jan 1, 1970)
EasyCAT 0:543d6784d4cc 38 uint32 usec; //< Microseconds elapsed since last second boundary
EasyCAT 0:543d6784d4cc 39 } ec_timet;
EasyCAT 0:543d6784d4cc 40
EasyCAT 0:543d6784d4cc 41
EasyCAT 0:543d6784d4cc 42 typedef struct osal_timer
EasyCAT 0:543d6784d4cc 43 {
EasyCAT 0:543d6784d4cc 44 ec_timet stop_time;
EasyCAT 0:543d6784d4cc 45 } osal_timert;
EasyCAT 0:543d6784d4cc 46
EasyCAT 0:543d6784d4cc 47 void osal_timer_start(osal_timert * self, uint32 timeout_us);
EasyCAT 0:543d6784d4cc 48 boolean osal_timer_is_expired(osal_timert * self);
EasyCAT 0:543d6784d4cc 49 int osal_usleep(uint32 usec);
EasyCAT 0:543d6784d4cc 50 ec_timet osal_current_time(void);
EasyCAT 0:543d6784d4cc 51
EasyCAT 0:543d6784d4cc 52 #ifdef __cplusplus
EasyCAT 0:543d6784d4cc 53 }
EasyCAT 0:543d6784d4cc 54 #endif
EasyCAT 0:543d6784d4cc 55
EasyCAT 0:543d6784d4cc 56 #endif
EasyCAT 0:543d6784d4cc 57