I don't know if it work properly
Dependents: 2022_NHK_B_UK 2022_NHK_B_sub2
SEKIkikou.cpp@0:04c98c2cfe16, 23 months ago (annotated)
- Committer:
- ikarashikota
- Date:
- Sun Oct 09 10:13:01 2022 +0000
- Revision:
- 0:04c98c2cfe16
- Child:
- 1:fab774f63278
made by ikakou
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ikarashikota | 0:04c98c2cfe16 | 1 | |
ikarashikota | 0:04c98c2cfe16 | 2 | #include "SEKIkikou.h" |
ikarashikota | 0:04c98c2cfe16 | 3 | |
ikarashikota | 0:04c98c2cfe16 | 4 | SEKIkikou::SEKIkikou(ikarashiMDC *ik1, ikarashiMDC *ik2, ikarashiMDC *ik3, uint8_t *b1, uint8_t *b2, uint8_t *b3, uint8_t *b4, int *env1, int *env2, int *env3){ |
ikarashikota | 0:04c98c2cfe16 | 5 | ik[0] = ik1; //射出 |
ikarashikota | 0:04c98c2cfe16 | 6 | ik[1] = ik2; //将校 |
ikarashikota | 0:04c98c2cfe16 | 7 | ik[2] = ik3; //装填 |
ikarashikota | 0:04c98c2cfe16 | 8 | button[0] = b1; //射出 |
ikarashikota | 0:04c98c2cfe16 | 9 | button[1] = b2; //上 |
ikarashikota | 0:04c98c2cfe16 | 10 | button[2] = b3; //下 |
ikarashikota | 0:04c98c2cfe16 | 11 | button[3] = b4; //装填 |
ikarashikota | 0:04c98c2cfe16 | 12 | encoder[0] = env1; //射出 |
ikarashikota | 0:04c98c2cfe16 | 13 | encoder[1] = env2; //将校 |
ikarashikota | 0:04c98c2cfe16 | 14 | encoder[2] = env3; //装填 |
ikarashikota | 0:04c98c2cfe16 | 15 | for(int i=0; i<3; i++) mspeed[i] = 0; |
ikarashikota | 0:04c98c2cfe16 | 16 | } |
ikarashikota | 0:04c98c2cfe16 | 17 | |
ikarashikota | 0:04c98c2cfe16 | 18 | void SEKIkikou::runAll(float speedI, float speedLoad, float speedLift) |
ikarashikota | 0:04c98c2cfe16 | 19 | { |
ikarashikota | 0:04c98c2cfe16 | 20 | runInjection(speedI); |
ikarashikota | 0:04c98c2cfe16 | 21 | runLoad(speedLoad); |
ikarashikota | 0:04c98c2cfe16 | 22 | runLift(speedLift); |
ikarashikota | 0:04c98c2cfe16 | 23 | } |
ikarashikota | 0:04c98c2cfe16 | 24 | |
ikarashikota | 0:04c98c2cfe16 | 25 | void SEKIkikou::runInjection(float speed) |
ikarashikota | 0:04c98c2cfe16 | 26 | { |
ikarashikota | 0:04c98c2cfe16 | 27 | ik[0]->setSpeed(mspeed[0]); |
ikarashikota | 0:04c98c2cfe16 | 28 | if(timer.read() >= 1){ |
ikarashikota | 0:04c98c2cfe16 | 29 | *encoder[0] = 0; |
ikarashikota | 0:04c98c2cfe16 | 30 | timer.reset(); |
ikarashikota | 0:04c98c2cfe16 | 31 | }else{ |
ikarashikota | 0:04c98c2cfe16 | 32 | mspeed[0] = 0; |
ikarashikota | 0:04c98c2cfe16 | 33 | } |
ikarashikota | 0:04c98c2cfe16 | 34 | if(*button[0] <= 0){ |
ikarashikota | 0:04c98c2cfe16 | 35 | mspeed[0] = 0; |
ikarashikota | 0:04c98c2cfe16 | 36 | return; |
ikarashikota | 0:04c98c2cfe16 | 37 | } |
ikarashikota | 0:04c98c2cfe16 | 38 | if(*encoder[0] < 360){ |
ikarashikota | 0:04c98c2cfe16 | 39 | mspeed[0] = speed; |
ikarashikota | 0:04c98c2cfe16 | 40 | }else if(*encoder[0] >= 360){ |
ikarashikota | 0:04c98c2cfe16 | 41 | timer.start(); |
ikarashikota | 0:04c98c2cfe16 | 42 | mspeed[0] = 0; |
ikarashikota | 0:04c98c2cfe16 | 43 | } |
ikarashikota | 0:04c98c2cfe16 | 44 | } |
ikarashikota | 0:04c98c2cfe16 | 45 | |
ikarashikota | 0:04c98c2cfe16 | 46 | void SEKIkikou::runLoad(float speed) |
ikarashikota | 0:04c98c2cfe16 | 47 | { |
ikarashikota | 0:04c98c2cfe16 | 48 | ik[2]->setSpeed(mspeed[2]); |
ikarashikota | 0:04c98c2cfe16 | 49 | if(*button[3] <= 0){ |
ikarashikota | 0:04c98c2cfe16 | 50 | mspeed[2] = 0; |
ikarashikota | 0:04c98c2cfe16 | 51 | return; |
ikarashikota | 0:04c98c2cfe16 | 52 | }else if(*button[3] >= 1){ |
ikarashikota | 0:04c98c2cfe16 | 53 | mspeed[2] = speed; |
ikarashikota | 0:04c98c2cfe16 | 54 | }else{ |
ikarashikota | 0:04c98c2cfe16 | 55 | mspeed[2] = 0; |
ikarashikota | 0:04c98c2cfe16 | 56 | } |
ikarashikota | 0:04c98c2cfe16 | 57 | } |
ikarashikota | 0:04c98c2cfe16 | 58 | |
ikarashikota | 0:04c98c2cfe16 | 59 | void SEKIkikou::runLift(float speed) |
ikarashikota | 0:04c98c2cfe16 | 60 | { |
ikarashikota | 0:04c98c2cfe16 | 61 | ik[1]->setSpeed(mspeed[1]); |
ikarashikota | 0:04c98c2cfe16 | 62 | if(*button[1] <= 0 && *button[2] <= 0){ |
ikarashikota | 0:04c98c2cfe16 | 63 | mspeed[1] = 0; |
ikarashikota | 0:04c98c2cfe16 | 64 | return; |
ikarashikota | 0:04c98c2cfe16 | 65 | }else if(*button[1] >= 1){ |
ikarashikota | 0:04c98c2cfe16 | 66 | mspeed[1] = speed; |
ikarashikota | 0:04c98c2cfe16 | 67 | }else if(*button[2] >= 1){ |
ikarashikota | 0:04c98c2cfe16 | 68 | mspeed[1] = -speed; |
ikarashikota | 0:04c98c2cfe16 | 69 | }else{ |
ikarashikota | 0:04c98c2cfe16 | 70 | mspeed[1] = 0; |
ikarashikota | 0:04c98c2cfe16 | 71 | } |
ikarashikota | 0:04c98c2cfe16 | 72 | } |