EasyCAT LAB - EtherCAT master simple example

Dependencies:   SOEM SPI_TFT_ILI9341 TFT_fonts

  • This repository contains a simple example for the EasyCAT LAB , a complete educational and experimental EtherCAT® system, composed of one master and two slaves.

Note

  • This example uses two LAB 2 slaves.

Note

  • In this example only two bytes of data are exchanged between the slaves and are also visualized on the TFT display.
Revision:
2:a0e017115fc5
Parent:
1:385bdd2b4cd6
Child:
3:9c8c179d1f8a
--- a/main.cpp	Fri May 07 10:06:46 2021 +0000
+++ b/main.cpp	Fri May 28 09:37:01 2021 +0000
@@ -23,7 +23,20 @@
 // 
 // EtherCAT® is a registered trademark and patented technology, licensed by Beckhoff Automation GmbH.
 // www.beckhoff.com
-// www.ethercat.org     
+// www.ethercat.org  
+
+
+//******************************************************************************
+
+//#define ADA_TFT       // IMPORTANT!!! 
+
+                        // If your EasyCAT LAB uses the Adafruit TFT
+                        // you must uncomment this define
+                        
+                        // If your EasyCAT LAB uses the Seeed Studio TFT
+                        // you must comment this define                                                  
+
+//******************************************************************************   
 
 
 #define ETH_TXBUFNB 16
@@ -56,6 +69,11 @@
 
 // the display used is the SeeedStudio 2.8 inch TFT v2.0
 // http://wiki.seeedstudio.com/2.8inch_TFT_Touch_Shield_v2.0/ 
+//
+// or the Adafruit 2.8" with resistive touchscreen
+// https://www.adafruit.com/product/1651
+
+// the touchscreen is not used in this example
 
 #define PIN_YP          A3                          // resistive touchscreen
 #define PIN_YM          A1                          //
@@ -65,8 +83,16 @@
 #define PIN_MOSI        D11                         // TFT display SPI
 #define PIN_MISO        D12                         //
 #define PIN_SCLK        D13                         //
-#define PIN_CS_TFT      D5                          //
-#define PIN_DC_TFT      D6                          //
+
+#if defined ADA_TFT                                 // pins for the Adafruit TFT                      
+    #define PIN_CS_TFT  D10                         //                 
+    #define PIN_DC_TFT  D9                          //                     
+    #define PIN_CS_TSC  D8                          // 
+    
+#else                                               // pins for the SeeedStudio TFT
+    #define PIN_CS_TFT  D5                          //    
+    #define PIN_DC_TFT  D6                          //
+#endif                                              //
 
 
 
@@ -195,7 +221,12 @@
   
     TFT.background(Black);                                          // init TFT  
     TFT.cls();                                                      //
-    TFT.set_orientation(3);                                         // 
+    
+    #if defined ADA_TFT
+        TFT.set_orientation(1);     
+    #else
+        TFT.set_orientation(3);                                        
+    #endif       
 
     DrawBanner();     
         
@@ -473,7 +504,15 @@
     TFT.printf("www.easycatshield.com"); 
     
     TFT.locate(30, 190);
-    TFT.printf("https://openethercatsociety.github.io/");     
+    TFT.printf("https://openethercatsociety.github.io/");
+    
+    TFT.foreground(Red);    
+    TFT.locate(30, 220);    
+    #if defined ADA_TFT                                 
+        TFT.printf("Adafruit TFT");   
+    #else
+        TFT.printf("Seeed Studio TFT");
+    #endif             
 }