Example code for Simple Open EtherCAT master. More...
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>
#include <sched.h>
#include <string.h>
#include <time.h>
#include <pthread.h>
#include <math.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
#include "ethercatconfig.h"
#include "ethercatdc.h"
Go to the source code of this file.
Classes | |
struct | PACKED |
struct | PACKED |
struct | PACKED |
struct | PACKED |
Macros | |
#define | MAXSTREAM 200000 |
#define | NSEC_PER_SEC 1000000000 |
#define | SYNC0TIME 8000 |
Typedefs | |
typedef struct PACKED | in_EBOX_streamt |
typedef struct PACKED | in_EBOXt |
typedef struct PACKED | out_EBOX_streamt |
typedef struct PACKED | out_EBOXt |
Functions | |
void | add_timespec (struct timespec *ts, int64 addtime) |
void | eboxtest (char *ifname) |
void | ec_sync (int64 reftime, int64 cycletime, int64 *offsettime) |
void | ecatthread (void *ptr) |
int | main (int argc, char *argv[]) |
int | output_cvs (char *fname, int length) |
Variables | |
double | ain [2] |
int | ainc |
pthread_cond_t | cond = PTHREAD_COND_INITIALIZER |
uint32 | cyclecount |
int | DCdiff |
int | deltat |
int | dorun = 0 |
in_EBOX_streamt * | in_EBOX |
int64 | integral =0 |
char | IOmap [4096] |
pthread_mutex_t | mutex = PTHREAD_MUTEX_INITIALIZER |
uint32 | ob |
int16 | ob2 |
uint8 | ob3 |
int | os |
out_EBOX_streamt * | out_EBOX |
struct sched_param | schedp |
int16 | stream1 [MAXSTREAM] |
int16 | stream2 [MAXSTREAM] |
int | streampos |
struct timeval tv t1 | t2 |
pthread_t | thread1 |
int | tmax =0 |
int64 | toff |
Example code for Simple Open EtherCAT master.
Usage : ebox [ifname] [cycletime] ifname is NIC interface, f.e. eth0 cycletime in us, f.e. 500
This test is specifically build for the E/BOX.
(c)Arthur Ketels 2011
Definition in file linux/ebox/ebox.c.
#define MAXSTREAM 200000 |
Definition at line 64 of file linux/ebox/ebox.c.
#define NSEC_PER_SEC 1000000000 |
Definition at line 32 of file linux/ebox/ebox.c.
#define SYNC0TIME 8000 |
Definition at line 67 of file linux/ebox/ebox.c.
typedef struct PACKED in_EBOX_streamt |
typedef struct PACKED out_EBOX_streamt |
void add_timespec | ( | struct timespec * | ts, |
int64 | addtime | ||
) |
Definition at line 251 of file linux/ebox/ebox.c.
void eboxtest | ( | char * | ifname | ) |
Definition at line 111 of file linux/ebox/ebox.c.
Definition at line 268 of file linux/ebox/ebox.c.
void ecatthread | ( | void * | ptr | ) |
Definition at line 280 of file linux/ebox/ebox.c.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 346 of file linux/ebox/ebox.c.
int output_cvs | ( | char * | fname, |
int | length | ||
) |
Definition at line 93 of file linux/ebox/ebox.c.
double ain[2] |
Definition at line 87 of file linux/ebox/ebox.c.
int ainc |
Definition at line 88 of file linux/ebox/ebox.c.
pthread_cond_t cond = PTHREAD_COND_INITIALIZER |
Definition at line 81 of file linux/ebox/ebox.c.
uint32 cyclecount |
Definition at line 84 of file linux/ebox/ebox.c.
int DCdiff |
Definition at line 76 of file linux/ebox/ebox.c.
int deltat |
Definition at line 74 of file linux/ebox/ebox.c.
int dorun = 0 |
Definition at line 73 of file linux/ebox/ebox.c.
in_EBOX_streamt* in_EBOX |
Definition at line 85 of file linux/ebox/ebox.c.
int64 integral =0 |
Definition at line 83 of file linux/ebox/ebox.c.
char IOmap[4096] |
Definition at line 70 of file linux/ebox/ebox.c.
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER |
Definition at line 82 of file linux/ebox/ebox.c.
uint32 ob |
Definition at line 78 of file linux/ebox/ebox.c.
int16 ob2 |
Definition at line 79 of file linux/ebox/ebox.c.
uint8 ob3 |
Definition at line 80 of file linux/ebox/ebox.c.
int os |
Definition at line 77 of file linux/ebox/ebox.c.
out_EBOX_streamt* out_EBOX |
Definition at line 86 of file linux/ebox/ebox.c.
struct sched_param schedp |
Definition at line 69 of file linux/ebox/ebox.c.
Definition at line 90 of file linux/ebox/ebox.c.
Definition at line 91 of file linux/ebox/ebox.c.
int streampos |
Definition at line 89 of file linux/ebox/ebox.c.
struct timeval tv t1 t2 |
Definition at line 72 of file linux/ebox/ebox.c.
pthread_t thread1 |
Definition at line 71 of file linux/ebox/ebox.c.
int tmax =0 |
Definition at line 74 of file linux/ebox/ebox.c.
int64 toff |
Definition at line 75 of file linux/ebox/ebox.c.