Merge pull request #24 from ShabbyX/master

Improve life w.r.t `#include`
pull/30/head
Hans-Erik Floryd 2016-02-10 17:07:13 +01:00
commit 9b5385bb5e
22 changed files with 92 additions and 134 deletions

View File

@ -67,6 +67,4 @@ install(FILES ${SOEM_HEADERS} ${OSAL_HEADERS} ${OSHW_HEADERS} DESTINATION ${SOEM
add_subdirectory(test/linux/slaveinfo)
add_subdirectory(test/linux/eepromtool)
if(NOT DEFINED HOST_INSTALL)
add_subdirectory(test/linux/simple_test)
endif()
add_subdirectory(test/linux/simple_test)

View File

@ -21,7 +21,7 @@
#ifndef _osal_
#define _osal_
#include <osal_defs.h>
#include "osal_defs.h"
#include <stdint.h>
/* General types */

61
soem/ethercat.h 100644
View File

@ -0,0 +1,61 @@
/*
* Simple Open EtherCAT Master Library
*
* File : ethercat.h
* Version : 1.3.1
* Date : 18-12-2015
* Copyright (C) 2005-2015 Speciaal Machinefabriek Ketels v.o.f.
* Copyright (C) 2005-2015 Arthur Ketels
* Copyright (C) 2008-2009 TU/e Technische Universiteit Eindhoven
* Copyright (C) 2014-2015 rt-labs AB , Sweden
*
* SOEM is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2 as published by the Free
* Software Foundation.
*
* SOEM is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* As a special exception, if other files instantiate templates or use macros
* or inline functions from this file, or you compile this file and link it
* with other works to produce a work based on this file, this file does not
* by itself cause the resulting work to be covered by the GNU General Public
* License. However the source code for this file must still be made available
* in accordance with section (3) of the GNU General Public License.
*
* This exception does not invalidate any other reasons why a work based on
* this file might be covered by the GNU General Public License.
*
* The EtherCAT Technology, the trade name and logo EtherCAT are the intellectual
* property of, and protected by Beckhoff Automation GmbH. You can use SOEM for
* the sole purpose of creating, using and/or selling or otherwise distributing
* an EtherCAT network master provided that an EtherCAT Master License is obtained
* from Beckhoff Automation GmbH.
*
* In case you did not receive a copy of the EtherCAT Master License along with
* SOEM write to Beckhoff Automation GmbH, Eiserstraße 5, D-33415 Verl, Germany
* (www.beckhoff.com).
*/
/** \file
* \brief
* Headerfile for all ethercat headers
*/
#ifndef _EC_ETHERCAT_H
#define _EC_ETHERCAT_H
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatdc.h"
#include "ethercatcoe.h"
#include "ethercatfoe.h"
#include "ethercatsoe.h"
#include "ethercatconfig.h"
#include "ethercatprint.h"
#endif /* _EC_ETHERCAT_H */

View File

@ -321,7 +321,7 @@ static void ecx_mbxemergencyerror(ecx_contextt *context, uint16 Slave,uint16 Err
* @param[in] ifname = Dev name, f.e. "eth0"
* @return >0 if OK
*/
int ecx_init(ecx_contextt *context, char * ifname)
int ecx_init(ecx_contextt *context, const char * ifname)
{
return ecx_setupnic(context->port, ifname, FALSE);
}
@ -333,7 +333,7 @@ int ecx_init(ecx_contextt *context, char * ifname)
* @param[in] if2name = Secondary Dev name, f.e. "eth1"
* @return >0 if OK
*/
int ecx_init_redundant(ecx_contextt *context, ecx_redportt *redport, char *ifname, char *if2name)
int ecx_init_redundant(ecx_contextt *context, ecx_redportt *redport, const char *ifname, char *if2name)
{
int rval, zbuf;
ec_etherheadert *ehp;
@ -1905,7 +1905,7 @@ void ec_packeterror(uint16 Slave, uint16 Index, uint8 SubIdx, uint16 ErrorCode)
* @return >0 if OK
* @see ecx_init
*/
int ec_init(char * ifname)
int ec_init(const char * ifname)
{
return ecx_init(&ecx_context, ifname);
}
@ -1916,7 +1916,7 @@ int ec_init(char * ifname)
* @return >0 if OK
* @see ecx_init_redundant
*/
int ec_init_redundant(char *ifname, char *if2name)
int ec_init_redundant(const char *ifname, char *if2name)
{
return ecx_init_redundant (&ecx_context, &ecx_redport, ifname, if2name);
}

View File

@ -473,8 +473,8 @@ void ec_pusherror(const ec_errort *Ec);
boolean ec_poperror(ec_errort *Ec);
boolean ec_iserror(void);
void ec_packeterror(uint16 Slave, uint16 Index, uint8 SubIdx, uint16 ErrorCode);
int ec_init(char * ifname);
int ec_init_redundant(char *ifname, char *if2name);
int ec_init(const char * ifname);
int ec_init_redundant(const char *ifname, char *if2name);
void ec_close(void);
uint8 ec_siigetbyte(uint16 slave, uint16 address);
int16 ec_siifind(uint16 slave, uint16 cat);
@ -514,8 +514,8 @@ void ecx_pusherror(ecx_contextt *context, const ec_errort *Ec);
boolean ecx_poperror(ecx_contextt *context, ec_errort *Ec);
boolean ecx_iserror(ecx_contextt *context);
void ecx_packeterror(ecx_contextt *context, uint16 Slave, uint16 Index, uint8 SubIdx, uint16 ErrorCode);
int ecx_init(ecx_contextt *context, char * ifname);
int ecx_init_redundant(ecx_contextt *context, ecx_redportt *redport, char *ifname, char *if2name);
int ecx_init(ecx_contextt *context, const char * ifname);
int ecx_init_redundant(ecx_contextt *context, ecx_redportt *redport, const char *ifname, char *if2name);
void ecx_close(ecx_contextt *context);
uint8 ecx_siigetbyte(ecx_contextt *context, uint16 slave, uint16 address);
int16 ecx_siifind(ecx_contextt *context, uint16 slave, uint16 cat);

View File

@ -66,7 +66,7 @@ extern "C"
* comment if application uses only ecx_ functions and own context */
#define EC_VER1
#include <osal.h>
#include "osal.h"
/** return value general error */
#define EC_ERROR -3

View File

@ -36,14 +36,7 @@
#include <rt.h>
#include <traceapi.h>
#include "nicdrv.h"
#include "ethercattype.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatconfig.h"
#include "ethercatcoe.h"
#include "ethercatdc.h"
#include "ethercatprint.h"
#include "ethercat.h"
char IOmap[4096];

View File

@ -21,14 +21,7 @@
#include <unistd.h>
#include <time.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
//#include "ethercatfoe.h"
//#include "ethercatconfig.h"
//#include "ethercatprint.h"
#include "ethercat.h"
#define MAXBUF 32768
#define STDBUF 2048

View File

@ -21,13 +21,7 @@
#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"
#include "ethercat.h"
#define NSEC_PER_SEC 1000000000

View File

@ -18,14 +18,7 @@
#include <stdlib.h>
#include <string.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
//#include "ethercatfoe.h"
//#include "ethercatconfig.h"
//#include "ethercatprint.h"
#include "ethercat.h"
#define MAXBUF 32768
#define STDBUF 2048

View File

@ -18,14 +18,7 @@
#include <sys/time.h>
#include <unistd.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
#include "ethercatfoe.h"
#include "ethercatconfig.h"
#include "ethercatprint.h"
#include "ethercat.h"
#define FWBUFSIZE (8 * 1024 * 1024)

View File

@ -21,14 +21,7 @@
#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"
#include "ethercatprint.h"
#include "ethercat.h"
#define NSEC_PER_SEC 1000000000
#define EC_TIMEOUTMON 500

View File

@ -9,4 +9,6 @@ elseif(UNIX)
target_link_libraries(simple_test pthread rt)
endif()
install(TARGETS simple_test DESTINATION bin)
if(NOT DEFINED HOST_INSTALL)
install(TARGETS simple_test DESTINATION bin)
endif()

View File

@ -11,16 +11,9 @@
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatdc.h"
#include "ethercatcoe.h"
#include "ethercatfoe.h"
#include "ethercatconfig.h"
#include "ethercatprint.h"
#include "ethercat.h"
#define EC_TIMEOUTMON 500
@ -110,7 +103,7 @@ void simpletest(char *ifname)
{
printf(" %2.2x", *(ec_slave[0].inputs + j));
}
printf(" T:%lld\r",ec_DCtime);
printf(" T:%"PRId64"\r",ec_DCtime);
needlf = TRUE;
}
osal_usleep(5000);

View File

@ -15,14 +15,7 @@
#include <string.h>
#include <inttypes.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatconfig.h"
#include "ethercatcoe.h"
#include "ethercatdc.h"
#include "ethercatprint.h"
#include "ethercat.h"
char IOmap[4096];
ec_ODlistt ODlist;

View File

@ -8,14 +8,7 @@
*/
#include <kern.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
#include "ethercatfoe.h"
#include "ethercatconfig.h"
#include "ethercatprint.h"
#include "ethercat.h"
#include "string.h"
#include <oshw.h>
#include <config.h>

View File

@ -21,13 +21,7 @@
#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"
#include "ethercat.h"
#define NSEC_PER_SEC 1000000000

View File

@ -16,14 +16,7 @@
#include <stdlib.h>
#include <string.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
//#include "ethercatfoe.h"
//#include "ethercatconfig.h"
//#include "ethercatprint.h"
#include "ethercat.h"
#define MAXBUF 32768
#define STDBUF 2048

View File

@ -18,14 +18,7 @@
#include <sys/time.h>
#include <unistd.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatcoe.h"
#include "ethercatfoe.h"
#include "ethercatconfig.h"
#include "ethercatprint.h"
#include "ethercat.h"
#define FWBUFSIZE (8 * 1024 * 1024)

View File

@ -21,13 +21,7 @@
#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"
#include "ethercat.h"
#define NSEC_PER_SEC 1000000000

View File

@ -14,15 +14,7 @@
//#include <Mmsystem.h>
#include "osal.h"
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatdc.h"
#include "ethercatcoe.h"
#include "ethercatfoe.h"
#include "ethercatconfig.h"
#include "ethercatprint.h"
#include "ethercat.h"
#define EC_TIMEOUTMON 500

View File

@ -15,14 +15,7 @@
#include <string.h>
#include <inttypes.h>
#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatconfig.h"
#include "ethercatcoe.h"
#include "ethercatdc.h"
#include "ethercatprint.h"
#include "ethercat.h"
char IOmap[4096];
ec_ODlistt ODlist;