Yaroslav Barabanov
/
turret_2017
для управления турелью
gun.cpp@3:e47c0c98f515, 2017-01-19 (annotated)
- Committer:
- Yar
- Date:
- Thu Jan 19 05:22:19 2017 +0000
- Revision:
- 3:e47c0c98f515
- Parent:
- 0:690effcc5be0
MPU6050
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Yar | 0:690effcc5be0 | 1 | #include "gun.hpp" |
Yar | 0:690effcc5be0 | 2 | #include "mbed.h" |
Yar | 3:e47c0c98f515 | 3 | //#include "rtos.h" |
Yar | 3:e47c0c98f515 | 4 | #include "main.hpp" |
Yar | 0:690effcc5be0 | 5 | #include "sounds.hpp" |
Yar | 0:690effcc5be0 | 6 | |
Yar | 3:e47c0c98f515 | 7 | DigitalOut gunPin(PIN_GUN); |
Yar | 3:e47c0c98f515 | 8 | PwmOut outSignalGun(PIN_OUT_SOUND); |
Yar | 0:690effcc5be0 | 9 | |
Yar | 0:690effcc5be0 | 10 | void shotGun(void) { |
Yar | 0:690effcc5be0 | 11 | gunPin = 1; |
Yar | 0:690effcc5be0 | 12 | outSignalGun.period(1.0/1500.0); // 1500hz period |
Yar | 0:690effcc5be0 | 13 | outSignalGun = 0.5; //50% duty cycle - max volume |
Yar | 3:e47c0c98f515 | 14 | wait(0.02); |
Yar | 0:690effcc5be0 | 15 | short tik = 0; |
Yar | 0:690effcc5be0 | 16 | char isStateGun = 1; |
Yar | 0:690effcc5be0 | 17 | for (short i = 0; i < 1500; i = i + 100) { |
Yar | 0:690effcc5be0 | 18 | outSignalGun.period(1.0/(float)(1500.0 - i)); |
Yar | 0:690effcc5be0 | 19 | outSignalGun = 0.5; |
Yar | 3:e47c0c98f515 | 20 | //Thread::wait(20); |
Yar | 3:e47c0c98f515 | 21 | wait(0.02); |
Yar | 0:690effcc5be0 | 22 | if (tik < 3) { |
Yar | 0:690effcc5be0 | 23 | tik++; |
Yar | 0:690effcc5be0 | 24 | } else { |
Yar | 0:690effcc5be0 | 25 | tik = 0; |
Yar | 0:690effcc5be0 | 26 | isStateGun ^= 1; |
Yar | 0:690effcc5be0 | 27 | gunPin = isStateGun; |
Yar | 0:690effcc5be0 | 28 | } |
Yar | 0:690effcc5be0 | 29 | } |
Yar | 0:690effcc5be0 | 30 | outSignalGun = 0.0; |
Yar | 0:690effcc5be0 | 31 | //Thread::wait(200); |
Yar | 0:690effcc5be0 | 32 | gunPin = 0; |
Yar | 0:690effcc5be0 | 33 | } |
Yar | 0:690effcc5be0 | 34 | |
Yar | 0:690effcc5be0 | 35 | void enabledGun(void) { |
Yar | 0:690effcc5be0 | 36 | gunPin = 1; |
Yar | 0:690effcc5be0 | 37 | } |
Yar | 0:690effcc5be0 | 38 | |
Yar | 0:690effcc5be0 | 39 | void disabledGun(void) { |
Yar | 0:690effcc5be0 | 40 | gunPin = 0; |
Yar | 0:690effcc5be0 | 41 | } |