SimpleControls works with the BLEController iOS/Android App. The mbed's pin can acts as DIGITAL_IN, DIGITAL_OUT, PWM, SERVO, ANALOG_IN. The sketch is to show you how to control the pin as one of the abilities.

Dependencies:   BLE_API mbed nRF51822

Fork of BLENano_SimpleControls by RedBearLab

Committer:
drkangel
Date:
Wed Nov 09 17:58:13 2016 +0000
Revision:
4:dbf70068b442
Parent:
1:81a97eb70d3d
simple test for SAndroide

Who changed what in which revision?

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