for BLE Nano v1 INPUT : Analog OUTPUT : USB Serial

Dependencies:   BLE_API mbed nRF51822

Committer:
electricbaka
Date:
Thu Jul 12 15:48:28 2018 +0000
Revision:
0:42bf46ed69f7
init

Who changed what in which revision?

UserRevisionLine numberNew contents of line
electricbaka 0:42bf46ed69f7 1 /*
electricbaka 0:42bf46ed69f7 2
electricbaka 0:42bf46ed69f7 3 Copyright (c) 2012-2014 RedBearLab
electricbaka 0:42bf46ed69f7 4
electricbaka 0:42bf46ed69f7 5 Permission is hereby granted, free of charge, to any person obtaining a copy of this software
electricbaka 0:42bf46ed69f7 6 and associated documentation files (the "Software"), to deal in the Software without restriction,
electricbaka 0:42bf46ed69f7 7 including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
electricbaka 0:42bf46ed69f7 8 and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
electricbaka 0:42bf46ed69f7 9 subject to the following conditions:
electricbaka 0:42bf46ed69f7 10 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
electricbaka 0:42bf46ed69f7 11
electricbaka 0:42bf46ed69f7 12 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
electricbaka 0:42bf46ed69f7 13 INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
electricbaka 0:42bf46ed69f7 14 PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
electricbaka 0:42bf46ed69f7 15 FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
electricbaka 0:42bf46ed69f7 16 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
electricbaka 0:42bf46ed69f7 17
electricbaka 0:42bf46ed69f7 18 */
electricbaka 0:42bf46ed69f7 19
electricbaka 0:42bf46ed69f7 20 #include "Servo.h"
electricbaka 0:42bf46ed69f7 21
electricbaka 0:42bf46ed69f7 22 Servo::Servo(PinName pin) : _servo(pin)
electricbaka 0:42bf46ed69f7 23 {
electricbaka 0:42bf46ed69f7 24 _servo.period_ms(20);
electricbaka 0:42bf46ed69f7 25 }
electricbaka 0:42bf46ed69f7 26
electricbaka 0:42bf46ed69f7 27 Servo::~Servo(void)
electricbaka 0:42bf46ed69f7 28 {
electricbaka 0:42bf46ed69f7 29
electricbaka 0:42bf46ed69f7 30 }
electricbaka 0:42bf46ed69f7 31
electricbaka 0:42bf46ed69f7 32 void Servo::write(unsigned char degree)
electricbaka 0:42bf46ed69f7 33 {
electricbaka 0:42bf46ed69f7 34 convert(degree);
electricbaka 0:42bf46ed69f7 35 _servo.pulsewidth_us(pulse);
electricbaka 0:42bf46ed69f7 36 }
electricbaka 0:42bf46ed69f7 37
electricbaka 0:42bf46ed69f7 38 void Servo::convert(unsigned char degree)
electricbaka 0:42bf46ed69f7 39 {
electricbaka 0:42bf46ed69f7 40 // 0~180 degree correspond to 500~2500
electricbaka 0:42bf46ed69f7 41 pulse = degree * 11 + 500;
electricbaka 0:42bf46ed69f7 42 }