機構部
Dependents: 2019BSyudo Bsyudo 2019Bsyudo
mechanism.cpp@0:0b7a52a20594, 2019-09-09 (annotated)
- Committer:
- THtakahiro702286
- Date:
- Mon Sep 09 04:49:03 2019 +0000
- Revision:
- 0:0b7a52a20594
- Child:
- 1:58b20a731e15
mechanism
Who changed what in which revision?
User | Revision | Line number | New 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 | } |