для управления турелью

Dependencies:   mbed

Committer:
Yar
Date:
Thu Jan 19 05:22:19 2017 +0000
Revision:
3:e47c0c98f515
Parent:
0:690effcc5be0
MPU6050

Who changed what in which revision?

UserRevisionLine numberNew 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 }