小日向さんのMDライブラリ
Dependents: 00_yotsuba 10_motor-test 00_yotsuba 200_yotsuba_21 ... more
kohiMD.cpp@2:103c3a6c7389, 2020-02-01 (annotated)
- Committer:
- THtakahiro702286
- Date:
- Sat Feb 01 03:01:57 2020 +0000
- Revision:
- 2:103c3a6c7389
- Parent:
- 1:87d96da7a474
- Child:
- 3:1d075a1750ee
limit change
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
THtakahiro702286 | 1:87d96da7a474 | 1 | #include "kohiMD.h" |
THtakahiro702286 | 1:87d96da7a474 | 2 | #include "mbed.h" |
THtakahiro702286 | 1:87d96da7a474 | 3 | |
THtakahiro702286 | 1:87d96da7a474 | 4 | KohiMD::KohiMD(PinName pwmPin) : pwmMD(pwmPin), |
THtakahiro702286 | 1:87d96da7a474 | 5 | mdlpf(1.0/300,0.005), |
THtakahiro702286 | 1:87d96da7a474 | 6 | pc(USBTX,USBRX,115200) |
THtakahiro702286 | 1:87d96da7a474 | 7 | { |
THtakahiro702286 | 1:87d96da7a474 | 8 | pwmMD.period(1.0/25000.0); |
THtakahiro702286 | 1:87d96da7a474 | 9 | pwmMD.write(0.5); |
THtakahiro702286 | 1:87d96da7a474 | 10 | // threadMD.start(callback(this, &HaseMD::MDloop)); |
THtakahiro702286 | 1:87d96da7a474 | 11 | drive.attach(callback(this,&KohiMD::MDloop),1.0/200.0); |
THtakahiro702286 | 1:87d96da7a474 | 12 | } |
THtakahiro702286 | 1:87d96da7a474 | 13 | |
THtakahiro702286 | 1:87d96da7a474 | 14 | void KohiMD::setSpeed(double speed_) |
THtakahiro702286 | 1:87d96da7a474 | 15 | { |
THtakahiro702286 | 1:87d96da7a474 | 16 | speed = speed_; |
THtakahiro702286 | 1:87d96da7a474 | 17 | // pc.printf("%f \n\r",_pwmMD); |
THtakahiro702286 | 1:87d96da7a474 | 18 | } |
THtakahiro702286 | 1:87d96da7a474 | 19 | |
THtakahiro702286 | 1:87d96da7a474 | 20 | void KohiMD::MDloop() |
THtakahiro702286 | 1:87d96da7a474 | 21 | { |
THtakahiro702286 | 1:87d96da7a474 | 22 | // while(true){ |
THtakahiro702286 | 1:87d96da7a474 | 23 | _pwmMD = mdlpf.path_value(speed); |
THtakahiro702286 | 1:87d96da7a474 | 24 | _pwmMD = 0.5 + _pwmMD /2.0; |
THtakahiro702286 | 2:103c3a6c7389 | 25 | if(_pwmMD > 0.8) _pwmMD = 0.8; |
THtakahiro702286 | 2:103c3a6c7389 | 26 | if(_pwmMD < 0.2) _pwmMD = 0.2; |
THtakahiro702286 | 1:87d96da7a474 | 27 | pwmMD.write(_pwmMD); |
THtakahiro702286 | 1:87d96da7a474 | 28 | // pc.printf("%f \n\r",_pwmMD); |
THtakahiro702286 | 1:87d96da7a474 | 29 | // ThisThread::sleep_for(1000.0/400); |
THtakahiro702286 | 1:87d96da7a474 | 30 | // threadMD.wait(1000.0/400); |
THtakahiro702286 | 1:87d96da7a474 | 31 | // } |
THtakahiro702286 | 1:87d96da7a474 | 32 | } |