Engine control program with 3 engines Needs to make a case for each simultaneous engine setting, because of the WAIT after each number of bits have been sent.

Dependencies:   mbed-rtos mbed PinDetect

Fork of FinalMotorControl by Robot Bachelor

main.cpp

Committer:
mjhaugsdal
Date:
2016-04-07
Revision:
1:a3287196a9b3
Parent:
0:bd78e433db61
Child:
2:25bcc26f7a5b

File content as of revision 1:a3287196a9b3:

#include "mbed.h"
#include "rtos.h"


//Analog Pins
DigitalOut IN1(D3);
DigitalOut IN2(D4);
DigitalOut IN3(D5);
DigitalOut IN4(D6);

Mutex stdio_mutex;
static int fart = 1000;
static char global_direction;
static int global_counter;


void step4Right()
{
    IN1=0;
    IN2=1;
    IN3=0;
    IN4=1;
    wait_us(fart); //legg som global variabel "fart" 
    IN1=0;
    IN2=1;
    IN3=1;
    IN4=0;
    wait_us(fart);
    IN1=1;
    IN2=0;
    IN3=1;
    IN4=0;
    wait_us(fart);
    IN1=1;
    IN2=0;
    IN3=0;
    IN4=1;
    wait_us(fart);
}
void step4Left()
{
    IN1=1;
    IN2=0;
    IN3=0;
    IN4=1;
    wait_us(fart);

    IN1=1;
    IN2=0;
    IN3=1;
    IN4=0;
    wait_us(fart);

    IN1=0;
    IN2=1;
    IN3=1;
    IN4=0;
    wait_us(fart);

    IN1=0;
    IN2=1;
    IN3=0;
    IN4=1;
    wait_us(fart);
}

  
void input(void const *args)
{
    while(true)
    {
        scanf(" %c", &global_direction);
    }
}

int main()
{
        //Thread 1 has constant feed from usb
        //Thread t1(input);
        while (true) 
        {
            step4Left();

    /*
            if (global_direction == '0')
            {
                step4Left();
                printf("%c \n" + global_direction); 
            } */
            /*else if (global_direction == '1')
            {
                step4Right();
                //printf("RIGHT \n"); 
            } */
           /* else
            {
                //Do nothing
                
            }*/
        }  
            
} //END Main