An Mbed library for an EtherCAT Arduino Shield developed by Esmacat to connect the larger Arduino ecosystem and other MCU boards capable of connecting a shield with an Arduino Uno form factor. EASE can easily turn an MCU board, including the Arduino ecosystem, into a cost-efficient EtherCAT slave subsystem in the larger EtherCAT system. Using EtherCAT communication, EASE can reliably communicate with other base boards through an EtherCAT master.
Information about Esmacat and EASE is provided in the link below. https://os.mbed.com/users/esmacat/code/EASE_Example/wiki/Homepage
Revision 2:77c2a6061e77, committed 2020-02-06
- Comitter:
- pratima_hb
- Date:
- Thu Feb 06 17:35:14 2020 +0000
- Parent:
- 1:b66c3e4ce9f5
- Commit message:
- Updated the data types(to int16_t) of the read and write function to be able to send and receive negative numbers
Changed in this revision
EsmacatShield.cpp | Show annotated file Show diff for this revision Revisions of this file |
EsmacatShield.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/EsmacatShield.cpp Wed Jan 29 20:11:47 2020 +0000 +++ b/EsmacatShield.cpp Thu Feb 06 17:35:14 2020 +0000 @@ -44,7 +44,7 @@ } -void EsmacatShield::write_reg_value(int write_addr,int value, bool led_on) +void EsmacatShield::write_reg_value(int write_addr, int16_t value, bool led_on) { uint8_t v1,v2; // Chip must be selected @@ -68,7 +68,7 @@ wait_us(2000); //sleep for 2 ms; } -int* EsmacatShield::get_ecat_registers(int regs[8]) { +int16_t* EsmacatShield::get_ecat_registers(int16_t regs[8]) { regs[0] = read_reg_value(1); regs[1] = read_reg_value(2); regs[2] = read_reg_value(3); @@ -80,7 +80,7 @@ return(regs); } -int EsmacatShield::read_reg_value(int read_addr) +int16_t EsmacatShield::read_reg_value(int16_t read_addr) { uint16_t v2,v3; // Chip must be selected
--- a/EsmacatShield.h Wed Jan 29 20:11:47 2020 +0000 +++ b/EsmacatShield.h Thu Feb 06 17:35:14 2020 +0000 @@ -138,7 +138,7 @@ * * @return None **************************************************************/ - void write_reg_value(int write_addr,int value, bool led_on=1); + void write_reg_value(int write_addr,int16_t value, bool led_on=1); /**********************************************************//** * @brief Read EASE Register. @@ -157,7 +157,7 @@ * * @return None **************************************************************/ - int* get_ecat_registers(int regs[8]); + int16_t* get_ecat_registers(int16_t regs[8]); /************************************************************ * @brief Default destructor for EsmacatShield Class. @@ -176,7 +176,7 @@ SPI &ecat_spi; DigitalOut &ecat_cs; - int read_reg_value(int read_addr); + int16_t read_reg_value(int16_t read_addr); };