AndroidのBLEラジコンプロポアプリ「BLEPropo」と接続し、RCサーボとDCモータを制御するプログラムです。 BLE Nanoで動作を確認しています。 BLEPropo → https://github.com/lipoyang/BLEPropo

Dependencies:   BLE_API mbed

BLEを使ったAndroid用ラジコンプロポアプリ「BLEPropo」に対応するBLE Nano用ファームウェアです。
BLEPropoは、GitHubにて公開中。
https://github.com/lipoyang/BLEPropo
/media/uploads/lipoyang/blepropo_ui.png
ラジコンは、mbed HRM1017とRCサーボやDCモータを組み合わせて作ります。
/media/uploads/lipoyang/ministeer3.jpg
回路図
/media/uploads/lipoyang/ministeer3.pdf

Committer:
lipoyang
Date:
Sat Mar 14 12:02:48 2015 +0000
Revision:
5:7f89fca19a9e
-convert nRF51822 library to a folder

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lipoyang 5:7f89fca19a9e 1 #ifndef _NRF_DELAY_H
lipoyang 5:7f89fca19a9e 2 #define _NRF_DELAY_H
lipoyang 5:7f89fca19a9e 3
lipoyang 5:7f89fca19a9e 4 // #include "nrf.h"
lipoyang 5:7f89fca19a9e 5
lipoyang 5:7f89fca19a9e 6 /*lint --e{438, 522} "Variable not used" "Function lacks side-effects" */
lipoyang 5:7f89fca19a9e 7 #if defined ( __CC_ARM )
lipoyang 5:7f89fca19a9e 8 static __ASM void __INLINE nrf_delay_us(uint32_t volatile number_of_us)
lipoyang 5:7f89fca19a9e 9 {
lipoyang 5:7f89fca19a9e 10 loop
lipoyang 5:7f89fca19a9e 11 SUBS R0, R0, #1
lipoyang 5:7f89fca19a9e 12 NOP
lipoyang 5:7f89fca19a9e 13 NOP
lipoyang 5:7f89fca19a9e 14 NOP
lipoyang 5:7f89fca19a9e 15 NOP
lipoyang 5:7f89fca19a9e 16 NOP
lipoyang 5:7f89fca19a9e 17 NOP
lipoyang 5:7f89fca19a9e 18 NOP
lipoyang 5:7f89fca19a9e 19 NOP
lipoyang 5:7f89fca19a9e 20 NOP
lipoyang 5:7f89fca19a9e 21 NOP
lipoyang 5:7f89fca19a9e 22 NOP
lipoyang 5:7f89fca19a9e 23 NOP
lipoyang 5:7f89fca19a9e 24 BNE loop
lipoyang 5:7f89fca19a9e 25 BX LR
lipoyang 5:7f89fca19a9e 26 }
lipoyang 5:7f89fca19a9e 27 #elif defined ( __ICCARM__ )
lipoyang 5:7f89fca19a9e 28 static void __INLINE nrf_delay_us(uint32_t volatile number_of_us)
lipoyang 5:7f89fca19a9e 29 {
lipoyang 5:7f89fca19a9e 30 __ASM (
lipoyang 5:7f89fca19a9e 31 "loop:\n\t"
lipoyang 5:7f89fca19a9e 32 " SUBS R0, R0, #1\n\t"
lipoyang 5:7f89fca19a9e 33 " NOP\n\t"
lipoyang 5:7f89fca19a9e 34 " NOP\n\t"
lipoyang 5:7f89fca19a9e 35 " NOP\n\t"
lipoyang 5:7f89fca19a9e 36 " NOP\n\t"
lipoyang 5:7f89fca19a9e 37 " NOP\n\t"
lipoyang 5:7f89fca19a9e 38 " NOP\n\t"
lipoyang 5:7f89fca19a9e 39 " NOP\n\t"
lipoyang 5:7f89fca19a9e 40 " NOP\n\t"
lipoyang 5:7f89fca19a9e 41 " NOP\n\t"
lipoyang 5:7f89fca19a9e 42 " NOP\n\t"
lipoyang 5:7f89fca19a9e 43 " NOP\n\t"
lipoyang 5:7f89fca19a9e 44 " NOP\n\t"
lipoyang 5:7f89fca19a9e 45 " BNE loop\n\t");
lipoyang 5:7f89fca19a9e 46 }
lipoyang 5:7f89fca19a9e 47 #elif defined ( __GNUC__ )
lipoyang 5:7f89fca19a9e 48 static void __INLINE nrf_delay_us(uint32_t volatile number_of_us)
lipoyang 5:7f89fca19a9e 49 {
lipoyang 5:7f89fca19a9e 50 do
lipoyang 5:7f89fca19a9e 51 {
lipoyang 5:7f89fca19a9e 52 __ASM volatile (
lipoyang 5:7f89fca19a9e 53 "NOP\n\t"
lipoyang 5:7f89fca19a9e 54 "NOP\n\t"
lipoyang 5:7f89fca19a9e 55 "NOP\n\t"
lipoyang 5:7f89fca19a9e 56 "NOP\n\t"
lipoyang 5:7f89fca19a9e 57 "NOP\n\t"
lipoyang 5:7f89fca19a9e 58 "NOP\n\t"
lipoyang 5:7f89fca19a9e 59 "NOP\n\t"
lipoyang 5:7f89fca19a9e 60 "NOP\n\t"
lipoyang 5:7f89fca19a9e 61 "NOP\n\t"
lipoyang 5:7f89fca19a9e 62 "NOP\n\t"
lipoyang 5:7f89fca19a9e 63 "NOP\n\t"
lipoyang 5:7f89fca19a9e 64 "NOP\n\t"
lipoyang 5:7f89fca19a9e 65 "NOP\n\t"
lipoyang 5:7f89fca19a9e 66 "NOP\n\t"
lipoyang 5:7f89fca19a9e 67 );
lipoyang 5:7f89fca19a9e 68 } while (--number_of_us);
lipoyang 5:7f89fca19a9e 69 }
lipoyang 5:7f89fca19a9e 70 #endif
lipoyang 5:7f89fca19a9e 71
lipoyang 5:7f89fca19a9e 72 void nrf_delay_ms(uint32_t volatile number_of_ms);
lipoyang 5:7f89fca19a9e 73
lipoyang 5:7f89fca19a9e 74 #endif