My GPIO tests

Fork of Nucleo_toggle_ios by Nathan Yonkee

main.cpp

Committer:
ElenaTosetti
Date:
2018-02-22
Revision:
2:2ac6cdd61c87
Parent:
0:04d55bfd084e

File content as of revision 2:2ac6cdd61c87:

#include "mbed.h"


#include <string.h>

#define BAUD_RATE 115200



DigitalOut PA9IOs(PA_9);
DigitalOut PA10IOs(PA_10);
DigitalOut PA11IOs(PA_11);
DigitalOut PA12IOs(PA_12);

DigitalOut PB4IOs(PB_4);
DigitalOut PB5IOs(PB_5);
DigitalOut PB6IOs(PB_6);
DigitalOut PB7IOs(PB_7);

DigitalOut PB12IOs(PB_12);
DigitalOut PB13IOs(PB_13);
DigitalOut PB14IOs(PB_14);
DigitalOut PB15IOs(PB_15);

DigitalOut PC6IOs(PC_6);
DigitalOut PC7IOs(PC_7);
DigitalOut PC8IOs(PC_8);
DigitalOut PC9IOs(PC_9);

Serial s(USBTX, USBRX); //default for nrf51 is p0.09 p0.11


// Command string
char action[256];
char command[12];
unsigned short val;

#define N_ITERATIONS 1120
void gpio_action(){
//    for(i = 0; i <= 1119; i++)
//               {
    PA9IOs = 0; // SET PA9
    PB4IOs = 0; // SET PB4
    PC6IOs = 0; // SET PC6
    PB12IOs = 0; // SET PB12
    wait(10); // wait 440 seconds
    PA10IOs = 0; // SET PA10
    PB5IOs = 0; // SET PB5
    PC7IOs = 0; // SET PC7
    PB13IOs = 0; // SET PB13
    wait(2.5); // wait 2.5 seconds
    PA10IOs = 1; // RESET PA10
    PB5IOs = 1; // RESET PB5
    PC7IOs = 1; // RESET PC7
    PB13IOs = 1; // RESET PB13
//}
}

int i;
int run  = 1;
 
int main() { 
  
    s.baud(BAUD_RATE);

    //Reset EN_1_1 and EN_1_2
    PA9IOs = 1; // RESET PA9
    PA10IOs = 1; // RESET PA10  
    //Reset EN_2_1 and EN_2_2
    PB4IOs = 1; // RESET PB4
    PB5IOs = 1; // RESET PB5
    //Reset EN_3_1 and EN_3_2
    PB12IOs = 1; // RESET PB12
    PB13IOs = 1; // RESET PB13
    //Reset EN_4_1 and EN_4_2
    PC6IOs = 1; // RESET PC6
    PC7IOs = 1; // RESET PC7
    run:
        s.printf("Action:\r\n");
        int count;
        s.scanf( "%s %d" , action, &count);  
        if (strstr(action, "START") != NULL){
                i = 0;
                s.printf("START command\r\n");
                while(i<count && run){
                    s.printf("Start iteration %d\r\n", i);
                    gpio_action();
                    s.printf("Done iteration %d\r\n", i);
                    i++;
                }
                
                goto run;
        
        } else {

           s.printf("ERROR: %s unhandled action\r\n",action);
           }
           


    

     

}