SOEM v1.3.1
Data Structures | Defines | 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

Defines

#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


Define 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
int64 integral = 0
char IOmap[4096]
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
uint32 ob
int16 ob2
uint8 ob3
int os
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