Merge pull request #34 from nakarlsson/master

add support for XMC DAVE toolchain
pull/35/head
Hans-Erik Floryd 2017-11-23 16:02:34 +01:00 committed by GitHub
commit 49f488ece7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 45 additions and 7 deletions

View File

@ -7,7 +7,7 @@ project (SOES)
set (SOES_VERSION_MAJOR 2)
set (SOES_VERSION_MINOR 1)
set (SOES_VERSION_PATCH 0)
set (SOES_VERSION_PATCH 1)
# Generate version numbers
configure_file (

View File

@ -12,7 +12,7 @@ SOES is an EtherCAT slave stack written in c. Its purpose is to learn and
to use. All users are invited to study the source to get an understanding
how an EtherCAT slave functions.
Features as of 2.1.0:
Features as of 2.1.1:
- Address offset based HAL for easy ESC read/write access via any
interface
- Mailbox with data link layer

View File

@ -224,8 +224,6 @@ void soes_init (void)
{
DPRINT ("SOES (Simple Open EtherCAT Slave)\n");
ESC_reset();
// configure I/O
XMC_GPIO_Init(P_BTN, &gpio_config_btn);
XMC_GPIO_Init(P_LED, &gpio_config_led);

View File

@ -11,7 +11,9 @@
* registers and memory.
*/
#include "esc_hw.h"
#include "esc.h"
#include "esc_hw_eep.h"
#include "esc_eep.h"
#include "xmc_gpio.h"
@ -286,6 +288,14 @@ void ESC_write (uint16_t address, void *buf, uint16_t len)
memcpy(ESCADDR(address), buf, len);
}
/** ESC emulated EEPROM handler
*/
void ESC_eep_handler(void)
{
EEP_process ();
EEP_hw_process();
}
void ESC_reset (void)
{
/* disable ESC to force reset */
@ -295,10 +305,12 @@ void ESC_reset (void)
EEP_init();
}
void ESC_init (const void * arg)
void ESC_init (const esc_cfg_t * cfg)
{
XMC_ECAT_CONFIG_t ecat_config;
ESC_reset();
/* configure inputs */
init_input(ECAT_P0_LINK_STATUS);
init_input(ECAT_P0_RXD3);

View File

@ -0,0 +1,21 @@
/*
* Licensed under the GNU General Public License version 2 with exceptions. See
* LICENSE file in the project root for full license information
*/
/** \file
* \brief
* Headerfile for esc_hw.c
*/
/*
* Licensed under the GNU General Public License version 2 with exceptions. See
* LICENSE file in the project root for full license information
*/
#ifndef __esc_hw__
#define __esc_hw__
void ESC_eep_handler(void);
#endif

View File

@ -11,9 +11,8 @@
#ifndef __esc_hw_eep__
#define __esc_hw_eep__
#include "esc_hw.h"
#include "cc.h"
#include "esc_eep.h"
#include "xmc_gpio.h"
#include "xmc_flash.h"
#include "xmc_fce.h"

View File

@ -21,6 +21,14 @@ extern "C"
#include <machine/endian.h>
#endif
#ifndef MIN
#define MIN(a,b) (((a)<(b))?(a):(b))
#endif
#ifndef MAX
#define MAX(a,b) (((a)>(b))?(a):(b))
#endif
#define CC_PACKED_BEGIN
#define CC_PACKED_END
#define CC_PACKED __attribute__((packed))