![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
для управления турелью
Diff: gun.cpp
- Revision:
- 0:690effcc5be0
- Child:
- 3:e47c0c98f515
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gun.cpp Sun Jan 15 22:16:03 2017 +0000 @@ -0,0 +1,39 @@ +#include "gun.hpp" +#include "mbed.h" +#include "rtos.h" +#include "sounds.hpp" + +DigitalOut gunPin(PA_13); +PwmOut outSignalGun(PB_3); + +void shotGun(void) { + gunPin = 1; + outSignalGun.period(1.0/1500.0); // 1500hz period + outSignalGun = 0.5; //50% duty cycle - max volume + Thread::wait(10); + short tik = 0; + char isStateGun = 1; + for (short i = 0; i < 1500; i = i + 100) { + outSignalGun.period(1.0/(float)(1500.0 - i)); + outSignalGun = 0.5; + Thread::wait(20); + if (tik < 3) { + tik++; + } else { + tik = 0; + isStateGun ^= 1; + gunPin = isStateGun; + } + } + outSignalGun = 0.0; + //Thread::wait(200); + gunPin = 0; +} + +void enabledGun(void) { + gunPin = 1; +} + +void disabledGun(void) { + gunPin = 0; +} \ No newline at end of file