Test Program for the ES20X mbed board

Dependencies:   ServoOut mbed-rtos mbed

Fork of mbed_ES20X_Thread_Test by Joseph Bradshaw

Revision:
1:31677f9c113f
Parent:
0:ff2198a98673
Child:
2:b0061c3825b5
--- a/main.cpp	Fri Jan 08 16:53:32 2016 +0000
+++ b/main.cpp	Mon Jan 11 15:15:39 2016 +0000
@@ -1,11 +1,14 @@
-// J. Bradshaw 20141119
-// Program for testing I/O on mbed ES200 breakout board
+// J. Bradshaw 20160111
+// Program for testing I/O on mbed ES201 Dev Board V1.1
 #include "mbed.h"
-#include "SERVOGEN.h"   //uses SERVOGEN.h library for generating servo pulses
+#include "ServoOut.h"   //uses SERVOGEN.h library for generating servo pulses
 #include "rtos.h"
 
 #define PI 3.1415926
 
+char DB9_F_char;
+char DB9_M_char;
+
 DigitalOut led1(LED1);
 DigitalOut led3(LED3);
 
@@ -14,28 +17,28 @@
 Serial DB9_female(p9, p10); //DB9 serial female
 Serial DB9_male(p13, p14); //DB9 serial male
 
-//Port J2
-BusOut bus_J2(p5, p6, p7, p8, p11);
+//Port J4
+BusOut bus_J4(p5, p6, p7, p8, p11);
 
-//header for J2
-DigitalOut J2_p5(p5);
-DigitalOut J2_p6(p6);
-DigitalOut J2_p7(p7);
-DigitalOut J2_p8(p8);
-DigitalOut J2_p11(p11);
+//header for J4
+DigitalOut J4_p5(p5);
+DigitalOut J4_p6(p6);
+DigitalOut J4_p7(p7);
+DigitalOut J4_p8(p8);
+DigitalOut J4_p11(p11);
 
-//Analog port in J3
-AnalogIn    J3_P16(p16);
-AnalogIn    J3_P17(p17);
-AnalogIn    J3_P18(p18);
-AnalogIn    J3_P19(p19);
-AnalogIn    J3_P20(p20);
+//Analog port in J6
+AnalogIn    J6_P16(p16);
+AnalogIn    J6_P17(p17);
+AnalogIn    J6_P18(p18);
+AnalogIn    J6_P19(p19);
+AnalogIn    J6_P20(p20);
 
 // servo ports p21 - p24
-SERVOGEN sv1(p21);
-SERVOGEN sv2(p22);
-SERVOGEN sv3(p23);
-SERVOGEN sv4(p24);
+ServoOut sv1(p21);
+ServoOut sv2(p22);
+ServoOut sv3(p23);
+ServoOut sv4(p24);
 
 DigitalOut mot1_ph1(p28);
 DigitalOut mot1_ph2(p27);
@@ -111,17 +114,17 @@
 void digOut_thread(void const *args){
     //toggle bus I/O for testing
     while(1){
-        bus_J2 = 0x1f;
+        bus_J4 = 0x1f;
         Thread::wait(500);
-        bus_J2 = 0xAA;
+        bus_J4 = 0xAA;
         Thread::wait(100);
-        bus_J2 = 0x55;
+        bus_J4 = 0x55;
         Thread::wait(100);
-        bus_J2 = 0xAA;
+        bus_J4 = 0xAA;
         Thread::wait(100);
-        bus_J2 = 0x55;
+        bus_J4 = 0x55;
         Thread::wait(100);        
-        bus_J2 = 0; //all off
+        bus_J4 = 0; //all off
         Thread::wait(500);    
     }
 }
@@ -132,6 +135,32 @@
         Thread::wait(500);
     }
 }
+
+void serial_DB9M_test(void const *args){
+    while(1){        
+        for(char tx_char='a';tx_char <= 'z';tx_char++){
+            DB9_male.printf("%c", tx_char);
+            
+            if(DB9_male.readable()){
+                DB9_M_char = DB9_male.getc();
+            }            
+            Thread::wait(100);
+        }
+    }        
+}
+
+void serial_DB9F_test(void const *args){
+    while(1){        
+        for(char tx_char='A';tx_char <= 'Z';tx_char++){
+            DB9_female.printf("%c", tx_char);
+            
+            if(DB9_female.readable()){
+                DB9_F_char = DB9_female.getc();
+            }            
+            Thread::wait(100);
+        }
+    }        
+}
 //------------ Main ------------------------------
 int main() {
     float analogVal[6];
@@ -139,6 +168,8 @@
     Thread t1(mot1_thread);
     Thread t2(digOut_thread);
     Thread t3(led1_flash);
+    Thread t4(serial_DB9M_test);
+    Thread t5(serial_DB9F_test);
     
     pc.baud(9600);
     DB9_female.baud(9600);
@@ -147,14 +178,11 @@
     mot_en2.period_us(20);
     
     while(1) {        
-        analogVal[0] = J3_P16;
-        analogVal[1] = J3_P17;
-        analogVal[2] = J3_P18;
-        analogVal[3] = J3_P19;
-        analogVal[4] = J3_P20;
-        pc.printf("%.2f %.2f %.2f %.2f %.2f \r\n", analogVal[0],analogVal[1],analogVal[2],analogVal[3],analogVal[4]);
-        DB9_female.printf("Female %.2f %.2f %.2f %.2f %.2f \r\n", analogVal[0],analogVal[1],analogVal[2],analogVal[3],analogVal[4]);        DB9_male.printf("Male %.2f %.2f %.2f %.2f %.2f \r\n", analogVal[0],analogVal[1],analogVal[2],analogVal[3],analogVal[4]);                
-            
-        pc.printf("\r\n");
+        analogVal[0] = J6_P16;
+        analogVal[1] = J6_P17;
+        analogVal[2] = J6_P18;
+        analogVal[3] = J6_P19;
+        analogVal[4] = J6_P20;
+        pc.printf("%.2f %.2f %.2f %.2f %.2f DB9M=%c DB9F=%c\r\n", analogVal[0],analogVal[1],analogVal[2],analogVal[3],analogVal[4], DB9_M_char, DB9_F_char);            
     }
 }