機構部

Dependents:   2019BSyudo Bsyudo 2019Bsyudo

Committer:
THtakahiro702286
Date:
Mon Sep 09 04:49:03 2019 +0000
Revision:
0:0b7a52a20594
Child:
1:58b20a731e15
mechanism

Who changed what in which revision?

UserRevisionLine numberNew contents of line
THtakahiro702286 0:0b7a52a20594 1 #include "mechanism.h"
THtakahiro702286 0:0b7a52a20594 2
THtakahiro702286 0:0b7a52a20594 3 Mechanism::Mechanism(Serial* serial) :
THtakahiro702286 0:0b7a52a20594 4
THtakahiro702286 0:0b7a52a20594 5 encoder(encoder1, encoder2, NC, PPR, QEI::X4_ENCODING)
THtakahiro702286 0:0b7a52a20594 6 {
THtakahiro702286 0:0b7a52a20594 7 md = new ikarashiMDC*[8];
THtakahiro702286 0:0b7a52a20594 8 for(int i = 0; i < 4; i++)md[i] = new ikarashiMDC(2,i,SM,serial);
THtakahiro702286 0:0b7a52a20594 9 for(int i = 4; i < 4; i++)md[i] = new ikarashiMDC(3,i-4,SM,serial);
THtakahiro702286 0:0b7a52a20594 10 for(int i = 0; i < 8; i++)md[i]-> braking = true;
THtakahiro702286 0:0b7a52a20594 11 }
THtakahiro702286 0:0b7a52a20594 12 void Mechanism::getTrigger(int Trigger)
THtakahiro702286 0:0b7a52a20594 13 {
THtakahiro702286 0:0b7a52a20594 14 trigger = Trigger;
THtakahiro702286 0:0b7a52a20594 15 }
THtakahiro702286 0:0b7a52a20594 16
THtakahiro702286 0:0b7a52a20594 17 void Mechanism::up()
THtakahiro702286 0:0b7a52a20594 18 {
THtakahiro702286 0:0b7a52a20594 19 md[0]-> setSpeed(riseSpeed);
THtakahiro702286 0:0b7a52a20594 20 nano.sendMove(0x01);
THtakahiro702286 0:0b7a52a20594 21
THtakahiro702286 0:0b7a52a20594 22 }
THtakahiro702286 0:0b7a52a20594 23
THtakahiro702286 0:0b7a52a20594 24 void Mechanism::down()
THtakahiro702286 0:0b7a52a20594 25 {
THtakahiro702286 0:0b7a52a20594 26 md[0]-> setSpeed(follSpeed);
THtakahiro702286 0:0b7a52a20594 27 nano.sendMove(0x02);
THtakahiro702286 0:0b7a52a20594 28 }
THtakahiro702286 0:0b7a52a20594 29
THtakahiro702286 0:0b7a52a20594 30 void Mechanism::collect()
THtakahiro702286 0:0b7a52a20594 31 {
THtakahiro702286 0:0b7a52a20594 32 if(trigger == 255){
THtakahiro702286 0:0b7a52a20594 33 md[2]-> setSpeed(collectSpeed);
THtakahiro702286 0:0b7a52a20594 34 nano.sendMove(0x03);
THtakahiro702286 0:0b7a52a20594 35 }
THtakahiro702286 0:0b7a52a20594 36 else
THtakahiro702286 0:0b7a52a20594 37 {
THtakahiro702286 0:0b7a52a20594 38 md[2]-> setSpeed(-collectSpeed);
THtakahiro702286 0:0b7a52a20594 39 nano.sendMove(0x04);
THtakahiro702286 0:0b7a52a20594 40 }
THtakahiro702286 0:0b7a52a20594 41 }
THtakahiro702286 0:0b7a52a20594 42
THtakahiro702286 0:0b7a52a20594 43 void Mechanism::hookRight()
THtakahiro702286 0:0b7a52a20594 44 {
THtakahiro702286 0:0b7a52a20594 45 if(trigger == 255){
THtakahiro702286 0:0b7a52a20594 46 md[4]-> setSpeed(hookSpeed);
THtakahiro702286 0:0b7a52a20594 47 nano.sendMove(0x05);
THtakahiro702286 0:0b7a52a20594 48 }
THtakahiro702286 0:0b7a52a20594 49 else
THtakahiro702286 0:0b7a52a20594 50 {
THtakahiro702286 0:0b7a52a20594 51 md[4]-> setSpeed(-hookSpeed);
THtakahiro702286 0:0b7a52a20594 52 nano.sendMove(0x06);
THtakahiro702286 0:0b7a52a20594 53 }
THtakahiro702286 0:0b7a52a20594 54 }
THtakahiro702286 0:0b7a52a20594 55
THtakahiro702286 0:0b7a52a20594 56 void Mechanism::hookLeft()
THtakahiro702286 0:0b7a52a20594 57 {
THtakahiro702286 0:0b7a52a20594 58 if(trigger == 255){
THtakahiro702286 0:0b7a52a20594 59 md[5]-> setSpeed(hookSpeed);
THtakahiro702286 0:0b7a52a20594 60 nano.sendMove(0x07);
THtakahiro702286 0:0b7a52a20594 61 }
THtakahiro702286 0:0b7a52a20594 62 else
THtakahiro702286 0:0b7a52a20594 63 {
THtakahiro702286 0:0b7a52a20594 64 md[5]-> setSpeed(-hookSpeed);
THtakahiro702286 0:0b7a52a20594 65 nano.sendMove(0x08);
THtakahiro702286 0:0b7a52a20594 66 }
THtakahiro702286 0:0b7a52a20594 67 }
THtakahiro702286 0:0b7a52a20594 68
THtakahiro702286 0:0b7a52a20594 69 void Mechanism::loadRight()
THtakahiro702286 0:0b7a52a20594 70 {
THtakahiro702286 0:0b7a52a20594 71 if(trigger == 255){
THtakahiro702286 0:0b7a52a20594 72 md[6]-> setSpeed(loadSpeed);
THtakahiro702286 0:0b7a52a20594 73 nano.sendMove(0x09);
THtakahiro702286 0:0b7a52a20594 74 }
THtakahiro702286 0:0b7a52a20594 75 else{
THtakahiro702286 0:0b7a52a20594 76 md[6]-> setSpeed(-loadSpeed);
THtakahiro702286 0:0b7a52a20594 77 nano.sendMove(0x0a);
THtakahiro702286 0:0b7a52a20594 78 }
THtakahiro702286 0:0b7a52a20594 79 }
THtakahiro702286 0:0b7a52a20594 80
THtakahiro702286 0:0b7a52a20594 81 void Mechanism::loadLeft()
THtakahiro702286 0:0b7a52a20594 82 {
THtakahiro702286 0:0b7a52a20594 83 if(trigger == 255){
THtakahiro702286 0:0b7a52a20594 84 md[7]-> setSpeed(loadSpeed);
THtakahiro702286 0:0b7a52a20594 85 nano.sendMove(0x0b);
THtakahiro702286 0:0b7a52a20594 86 }
THtakahiro702286 0:0b7a52a20594 87 else{
THtakahiro702286 0:0b7a52a20594 88 md[7]-> setSpeed(-loadSpeed);
THtakahiro702286 0:0b7a52a20594 89 nano.sendMove(0x0c);
THtakahiro702286 0:0b7a52a20594 90 }
THtakahiro702286 0:0b7a52a20594 91 }
THtakahiro702286 0:0b7a52a20594 92
THtakahiro702286 0:0b7a52a20594 93 void Mechanism::lift()
THtakahiro702286 0:0b7a52a20594 94 {
THtakahiro702286 0:0b7a52a20594 95 if(trigger == 255){
THtakahiro702286 0:0b7a52a20594 96 md[3]-> setSpeed(liftSpeed);
THtakahiro702286 0:0b7a52a20594 97 nano.sendMove(0x0d);
THtakahiro702286 0:0b7a52a20594 98 }
THtakahiro702286 0:0b7a52a20594 99 else{
THtakahiro702286 0:0b7a52a20594 100 md[3]-> setSpeed(-liftSpeed);
THtakahiro702286 0:0b7a52a20594 101 nano.sendMove(0x0e);
THtakahiro702286 0:0b7a52a20594 102 }
THtakahiro702286 0:0b7a52a20594 103 }