機構部

Dependents:   2019BSyudo Bsyudo 2019Bsyudo

mechanism.cpp

Committer:
THtakahiro702286
Date:
2019-09-09
Revision:
0:0b7a52a20594
Child:
1:58b20a731e15

File content as of revision 0:0b7a52a20594:

#include "mechanism.h"

Mechanism::Mechanism(Serial* serial) :
    
    encoder(encoder1, encoder2, NC, PPR, QEI::X4_ENCODING)
{
    md = new ikarashiMDC*[8];
    for(int i = 0; i < 4; i++)md[i] = new ikarashiMDC(2,i,SM,serial);
    for(int i = 4; i < 4; i++)md[i] = new ikarashiMDC(3,i-4,SM,serial);
    for(int i = 0; i < 8; i++)md[i]-> braking = true;
}
void Mechanism::getTrigger(int Trigger)
{
    trigger = Trigger;
}

void Mechanism::up()
{ 
    md[0]-> setSpeed(riseSpeed);
    nano.sendMove(0x01);
     
}

void Mechanism::down()
{
    md[0]-> setSpeed(follSpeed);
    nano.sendMove(0x02);
}

void Mechanism::collect()
{
    if(trigger == 255){
        md[2]-> setSpeed(collectSpeed);
        nano.sendMove(0x03);
    }
    else
    {
        md[2]-> setSpeed(-collectSpeed);
        nano.sendMove(0x04);
    }
}

void Mechanism::hookRight()
{
    if(trigger == 255){
        md[4]-> setSpeed(hookSpeed);
        nano.sendMove(0x05);
    }
    else
    {
        md[4]-> setSpeed(-hookSpeed);
        nano.sendMove(0x06);
    }
}

void Mechanism::hookLeft()
{
    if(trigger == 255){
        md[5]-> setSpeed(hookSpeed);
        nano.sendMove(0x07);
    }
    else
    {
        md[5]-> setSpeed(-hookSpeed);
        nano.sendMove(0x08);
    }
}

void Mechanism::loadRight()
{
    if(trigger == 255){
        md[6]-> setSpeed(loadSpeed);
        nano.sendMove(0x09);
    }
    else{
        md[6]-> setSpeed(-loadSpeed);
        nano.sendMove(0x0a);
    }
}

void Mechanism::loadLeft()
{
    if(trigger == 255){
        md[7]-> setSpeed(loadSpeed);
        nano.sendMove(0x0b);
    }
    else{
        md[7]-> setSpeed(-loadSpeed);
        nano.sendMove(0x0c);
    }
}

void Mechanism::lift()
{
    if(trigger == 255){
        md[3]-> setSpeed(liftSpeed);
        nano.sendMove(0x0d);
    }
    else{
        md[3]-> setSpeed(-liftSpeed);
        nano.sendMove(0x0e);
    }
}