![](/media/cache/profiles/dee5807257e44b600e247c814cc12734.jpg.50x50_q85.jpg)
Test Program for the ES20X mbed board
Dependencies: ServoOut mbed-rtos mbed
Fork of mbed_ES20X_Thread_Test by
Diff: main.cpp
- 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); } }