SOEM  v1.3.0
Data Structures | Macros | Functions | Variables
ebox.c File Reference

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"

Data Structures

struct  in_EBOXt
 
struct  in_EBOX_streamt
 
struct  out_EBOXt
 
struct  out_EBOX_streamt
 

Macros

#define NSEC_PER_SEC   1000000000
 
#define MAXSTREAM   200000
 
#define SYNC0TIME   8000
 

Functions

int output_cvs (char *fname, int length)
 
void eboxtest (char *ifname)
 
void add_timespec (struct timespec *ts, int64 addtime)
 
void ec_sync (int64 reftime, int64 cycletime, int64 *offsettime)
 
void ecatthread (void *ptr)
 
int main (int argc, char *argv[])
 

Variables

struct sched_param schedp
 
char IOmap [4096]
 
pthread_t thread1
 
struct timeval tv t1 t2
 
int dorun = 0
 
int deltat
 
int tmax =0
 
int64 toff
 
int DCdiff
 
int os
 
uint32 ob
 
int16 ob2
 
uint8 ob3
 
pthread_cond_t cond = PTHREAD_COND_INITIALIZER
 
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
 
int64 integral =0
 
uint32 cyclecount
 
in_EBOX_streamtin_EBOX
 
out_EBOX_streamtout_EBOX
 
double ain [2]
 
int ainc
 
int streampos
 
int16 stream1 [MAXSTREAM]
 
int16 stream2 [MAXSTREAM]
 

Detailed Description

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

Macro Definition Documentation

#define MAXSTREAM   200000
#define NSEC_PER_SEC   1000000000
#define SYNC0TIME   8000

Function Documentation

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 
)

Variable Documentation

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