KRAI 2017 / Mbed 2 deprecated Test_LimitSwitch_Nasional

Dependencies:   Motor mbed

main.cpp

Committer:
MarchioKevin
Date:
2017-06-11
Revision:
0:f510a9c32a2c
Child:
1:e8fcbd118f4d

File content as of revision 0:f510a9c32a2c:

#include "mbed.h"
#include "JoystickPS3.h"
#include "Motor.h"

const float pwmPowerUp        = 1.0;
const float pwmPowerDown      = -1.0;

int  case_joy;
bool isLauncher = false;
bool isReload = false;
bool ReloadOn = false;
bool flag_Pneu = false;
bool flag_paku = false;

bool ready = false;

int case_joystick();

joysticknucleo joystick(PA_0,PA_1);
Serial pc(USBTX,USBRX);

//DigitalIn infraAtas(PC_9, PullUp);
DigitalIn limitAtas(PA_9, PullUp);
DigitalIn limitBawah(PC_7, PullUp);
DigitalIn limitKiri(PA_7, PullUp);
DigitalIn limitTengah(PB_7, PullUp);
DigitalIn limitKanan(PB_9, PullUp);

Motor powerScrew(PB_10, PB_14, PB_13); // pwm, fwd, rev                

int case_joystick()
{
    int caseJoystick;
    if ((joystick.lingkaran_click)&&(!joystick.kotak_click))  {   
        // Power Screw Up
        caseJoystick = 11;
    } 
    else if ((joystick.kotak_click)&&(!joystick.lingkaran_click)) {   
        // Power Screw Down
        caseJoystick = 12;       
    }
    return(caseJoystick);
}

void aktuator() 
{
    switch (case_joy)
    {
        case (11) : 
        {
           // Power Screw Up
           ReloadOn = !ReloadOn;
           isReload = false;
           break;
        }
        case (12) : 
        {
           // Power Screw Down
           ReloadOn = !ReloadOn;
           isReload = true;
           break;
        }
    }
}

void reloader()
{
    if(ReloadOn){
        if(isReload){
            powerScrew.speed(pwmPowerDown);
            //pc.printf("%.2f\n", jarak_ping);
            if(!limitBawah){
                isReload = false;
                ReloadOn = false;
            }
        }
        else if(!limitAtas){
            isReload = true;
            powerScrew.speed(pwmPowerUp);
        }
    }
    else{
        powerScrew.brake(1);
    }
}