EasyCAT shield library - It allows you to make an EtherCAT slave

Dependents:   TestEasyCAT_SM_sync TestEasyCAT_LoopBack TestEasyCAT_DC_sync TestEasyCAT

The EasyCAT Shield and /static/img/mbed.gif boards

/media/uploads/EasyCAT/easycat_onnucleo.jpg

  • The EasyCAT Shield is an Arduino shield, designed and manufactured in Italy by AB&T Tecnologie Informatiche, that allow us to build a custom EtherCAT® slave in an easy way.
  • The EasyCAT Shield uses the 3x2 SPI connector to communicate with the microcontroller. This connector is standard on all the Arduino boards but some Arduino compatible boards don’t provide it. In this case, the SPI signal are always present on pins 13,12,and 11. Some examples of this boards are the STM32 Nucleo and the NXP LPCXpresso, part of the Mbed ecosystem.
  • To address this issue in the EasyCAT Shield revision “C” there are three solder jumpers, on the bottom side of the board, that allow us to connect the SPI signals, SCK,MISO and MOSI, also on pins 13, 12 and 11.

/media/uploads/EasyCAT/spi_selection_jumpered.jpg

  • For your convenience the EasyCAT Shield can be ordered with the three solder jumpers already bridged and with the 3x2 connector not installed on the board. To request this option select EasyCAT spi_on_13_12_11 in the webshop.

Import libraryEasyCAT_lib

EasyCAT shield library - It allows you to make an EtherCAT slave

Files at this revision

API Documentation at this revision

Comitter:
EasyCAT
Date:
Sat Apr 10 14:49:17 2021 +0000
Parent:
2:e0fc1b098ce8
Commit message:
Updated for OS6 compatibility

Changed in this revision

EasyCAT.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r e0fc1b098ce8 -r 7d8b74ba7225 EasyCAT.cpp
--- a/EasyCAT.cpp	Thu Mar 28 08:32:57 2019 +0000
+++ b/EasyCAT.cpp	Sat Apr 10 14:49:17 2021 +0000
@@ -111,7 +111,12 @@
   Spi.frequency(14000000);						          // SPI speed 14MHz  
   Spi.format(8,0);	  							          // 8 bit mode 0
   
-  wait_ms(100);
+  
+  #if (MBED_MAJOR_VERSION != 2)
+	ThisThread::sleep_for(100ms);
+  #else
+    wait_ms(100);        
+  #endif    
  
   SPIWriteRegisterDirect (RESET_CTL, DIGITAL_RST);        // LAN9252 reset