From d17bc0fc4bb057378fadf3f9feb0de1df60d611a Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Mon, 11 Jan 2021 13:41:18 +0100 Subject: :sparkles: Add working bluetooth receiver --- source/HoverBitController.h | 68 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 source/HoverBitController.h (limited to 'source/HoverBitController.h') diff --git a/source/HoverBitController.h b/source/HoverBitController.h new file mode 100644 index 0000000..4963cd1 --- /dev/null +++ b/source/HoverBitController.h @@ -0,0 +1,68 @@ +/* +The MIT License (MIT) + +Copyright (c) 2016 British Broadcasting Corporation. +This software is provided by Lancaster University by arrangement with the BBC. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*/ +#ifndef HOVERBITCONTROLLER_H_ +#define HOVERBITCONTROLLER_H_ + +#include + +#define BATTERY_LOW_LIMIT 3500 + +class HoverBitController { + private: + MicroBit* uBit; + + int buzzer; + int servo_1; + int arm; + int roll; + int pitch; + int yaw; + int throttle; + int failSafeC; + + bool mainController; + bool batteryEmpty; + int batteryMilliVolt; + float batteryFactor; + + public: + void init(MicroBit* _uBit); + void failSafe(void); + unsigned int getBatteryVoltage(void); + void AirBit(int Pitch,int Arm,int Roll,int Throttle,int Yaw,int Aux1,int Aux2); + void HoverControl(); + + int Throttle(); + void Throttle(int _throttle); + int Servo1(); + void Servo1(int _servo1); + int Roll(); + void Roll(int _roll); + bool Arm(); + void Arm(bool _arm); + bool BatteryEmpty(); +}; + +#endif // HOVERBITCONTROLLER_H_ -- cgit v1.2.3