FC2ブログ
  VagabondWorksTitle
  当Blogは個人の趣味等に関するものです。Vagabond Worksは実在の企業、組織ではありません。
  著作権等は放棄していません。文章や写真、動画の無断盗用、転用はお断りします。

 bCore関連情報はこちら⇒GitHub bCore Wiki
 埋込用ArduinoUno互換機BARONDUINO関連情報はこちら⇒GitHub BARONDUINO Wiki

bCore NKD サンプルスクリプト 01: LEDを点滅させる(IO Port Output)

bCoreNKDの P00-07, P10-17, P20-22 19本ある全てのIOポートを出力に設定して
いわゆるLチカ(LEDを光らせる)サンプルスクリプトのプロジェクトファイル

GitHubからまとめでDownLoadできるようになっています。



bCoreNDKSample_01.bgproj

プロジェクトファイルについては説明省略


bCoreNDKSample_01_gatt.xml
GATT設定ファイル
このサンプルアプリでは、GATTは使っていません
(何のためのBLEデバイスだ?というのはさておき)
のでGATTの設定は不要ですが、省略するとbuildに通らないため、
最低限この程度記述されたXMLファイルが必要


bCoreNDKSample_01_hardware.xml

ハード的な設定に関するXMLファイル

6行目  <sleep enable="false" /> は、通信相手がいない場合に問答無用で
BLE113がスリ-プしないために必要。
このサンプルのように、最初から通信しない場合は、スクリプトが走るとすぐにスリ-プしてしまいます。

9行目 <script enable="true" /> がないと、スクリプトが実行されません。
falseにするとスクリプトが実行されなくなります。

12~14行目 各ポートの 3ステートバッファの有効無効、プルアップ/プルダウンの設定を行います。
設定は、P0x、P1x、P2x単位で行います。個々のポート個別に設定を変更することはできません。
indexで、ポート(0:P0x、1:P1x、2:P2x)を選択。
3ステートバッファを有効にしたいビットを tristatemaskで1にします。(全て有効の場合$FF、Px7の有効の場合 $80)
pullで、プルアップ(up)かプルダウン(down)を選択


bCoreNDKSample_01_script.bgs

スクリプト本体ファイル

5~7行目 スクリプト中で使える変数は dim で定義。4byte 32bitのみ使用できます。

11行目 event system_boot(major ,minor ,patch ,build ,ll_version ,protocol_version ,hw )
Arudinoで言うところの setup()に相当する、スクリプト実行時に最初に呼ばれる処理
Arudinoで言うところの loop()に相当する部分は無いので、イベントドリブンでスクリプトを書く必要があります。

13~15行目 変数の初期化

18、21、24行目  call hardware_io_port_config_direction(port, direction)
各ポートの入力/出力を設定します。
port (0:P0x、1:P1x、2:P2x)
direction 1を設定したBitが 出力に、0を設定したBitが 入力 に設定されます。
      全出力の場合 $FF、Px7のみ出力にする場合は $80

26~28行目 call hardware_io_port_write(port, mask, data)
各ポートの出力に設定したbitの出力値を更新します。 
port (0:P0x、1:P1x、2:P2x)
mask マスクビット、対応するbitが1のbitのみ反映されます。
data  出力データ、対応するbitの0/1がマスクビット1のbitのみ反映されます。

30行目 call hardware_set_soft_timer(3277,0,0)
0.1秒ごとに繰り返しタイマ割り込みを発生させる設定です。
詳細はタイマ割り込みのサンプルで解説するのでここでは省略します。
Arudinoの用に、loop()に相当する部分はBGスクリプトには無いため
タイマ割り込みでloop()に相当する処理を実装します。

38行目 event hardware_soft_timer(handle)
タイマ割り込みが発生すると実行されるイベントハンドラから呼び出される関数です。
詳細はタイマ割り込みのサンプルで解説するのでここでは省略します。

45~48行目
全て出力ポートに設定してあるP0x、P1x、P2xを1bitずつ0.1秒周期でカウントアップ
しながら点滅させています。
Px0が5Hz、Px1が2.5Hz、Px2が1.25Hz・・・と、上位ビットが下位ビットの半分の周期で
点滅を繰り返します。
引数に入れてある portxData は、4byteデータですが、有効なのは下位の1byteのみになります。


テスト回路


IMG_5255.jpg
sample1.png
全てのIOポートにLEDを刺すのは場所が無いため。P0xにのみLEDをつけて試しています。
秋月電子の 抵抗内蔵LEDを使うと、電流制限抵抗ナシで
電源ラインとIOポート間にLEDを入れるだけで済むのでとても便利です。3.3Vでも問題なく全色点灯します。
5V仕様のもの(内蔵抵抗250Ωと推定)の場合、赤LEDが最も消費電流が大きく3.3Vで6.9mAと
BLE113の仕様値を大きく超えてしまうため、12V仕様のもの(内蔵抵抗1kΩと推定)を利用して下さい。

  1. 2016/06/09(木) 16:46:17|
  2. bCoreNKDとは?
  3. | コメント:0

bCoreNKD BGスクリプトプロジェクトのファイル構成

bCoreNKD BGスクリプトプロジェクトのファイル構成

bCoreNKDに搭載されている、BLE113のBGスクリプトプロジェクトファイルは4つのファイルで構成されます。

image1.png
↑サンプルスクリプトのプロジェクトファイル構成

各ファイルの名前は自由に設定できます。

*.bgproj プロジェクトの各ファイルを定義
 テキストエディタ等で編集
*.(hardware).xml BLE113の端子機能や内部機能設定をするXMLファイル
 テキストエディタ等で編集
*.(gatt).xml BLE113のBLE通信のGATTを設定をするXMLファイル
 テキストエディタ等で編集
*.bgs スクリプト本体、テクストエディタ等で編集

*(hardware).xml、*(gatt).xml、*.bgsについては各サンプルスクリプトで解説するため、
ここでは*.bgproj についてのみ解説します。
Buildを行うと、プロジェクトファイルのあるフォルダ(つまりこのフォルダ)に、
 *.hex
 attributes.txt
 variable_memory_usage.txt
という3つのファイルが生成されます。


BGプロジェクトファイルの中身
例えば、bCoreNDKSample_01.bgproj をテキストエディタで開くと


となっています。
要するにXMLファイルで、
3行目 GATTの設定をしているXMLファイルの名前を設定
4行目 Hardwareの設定しているファイルの名前を設定
5行目 スクリプトファイルの名前を設定
6行目 Buildされるバイナリファイル(.hex)の名前を設定
7行目 使用するデバイスを設定
してあります。
各ファイルは、おそらく同じフォルダにある必要はないと思われますが、
迷子になる可能性があるので同一フォルダに入れておくほうが良いでしょう。
同じファイル名で使いまわしていると、目的外のファイルを編集してしまうことがある
ので面倒でもプロジェクトごとに変更しておくのが良いでしょう。
3~7行目の順番は任意で問題ありません。


  1. 2016/06/09(木) 13:07:31|
  2. bCoreNKDとは?
  3. | コメント:0

bCoreNKDのスクリプトを更新する方法(Bluegiga BLE SW Update Toolでスクリプトを更新する)

前準備
開発環境のダウンロードとインストール
CCデバッガの入手とbCoreNDKの接続
を行います。


CC DebuggerをPCにつなぐ
0.この作業は、bCoreNKDを接続する作業と前後しても問題ありません
1.開発環境がインストールされたPCにUSBケーブルでCC Debuggerを接続
2.ドライバが自動的にインストールされる(初回のみ)

 install12.png

 install13.png

※WindowsUpdateからのドライバーソフトウェアの取得 はスキップして構いません

3.PC、CC Debugger、bCoreNKDが正しく接続されている場合、CC DebuggerのLEDが緑に点灯する
IMG_5255.jpg
 赤く点灯している場合は、bCoreNKDの接続や電源供給を確認する
 点灯していない場合はPCとの接続を確認する


Bluegiga BLE SW Update Toolを起動してスクリプトを更新する
1.サンプルスクリプトや、自分で編集作成したスクリプトフォルダで、プロジェクトファイル(拡張子.bgproj)をダブルクリック
 image1.png

2.Bluegiga BLE SW Update Toolが起動する
 image2.png

3.プロジェクトファイルと開発環境がインストールされたドライブが異なる場合などで
 Buildツールが自動認識されてないことがあるので、その場合は左上の『BGBuild』から
 『Select manually』を選択して、主導でBGBuildのフォルダを参照させる。
 ※デフォルトでインストールをしてある場合は、 C:\Bluegiga\ble-1.4.2-130\bin 

4.『Reflesh』ボタンを押すと、接続されているCC Debuggerを自動的に認識する
  認識しない場合、USB接続やデバイスドライバが正常に機能しているかなどを確認
 image4.png

5.右下の『Update』をクリックすると、プロジェクトファイルをビルドしてスクリプトの更新が始まる

6.正常に終了した場合、『Update Complete』と表示され、自動的にリセットがかかりスクリプトが実行される
image5.png
 エラーの場合、黄色や赤の画面になる。エラーへの対処法は別トピックを参照

  1. 2016/06/09(木) 11:58:23|
  2. その他
  3. | コメント:0

bCoreNKDのスクリプトを更新する方法(開発環境のダウンロードとインストール)

※この情報は2016年6月9日時点のもので、今後変更されていく可能性があります。
 ここではWindows7環境での紹介になります。
 Mac環境でやりたいという方は、こちらを参考にしてみてください。

Gluegigaのサイトでログインアカウントを登録してSDKをダウンロード
1.Bluegigaのサイトにアクセス
2.Bluetooth Smart Module and SoCs の 『LEARN MORE』 をクリック
 web1.png

3.右下の、『SDK』をクリック
 web2.png

4.表示されたページをスクロールして、SOFTWARE RELEASES のところの 『Bluetooth Smart Software and SDK v.1.4.2』(2016年6月9日時点の最新)をクリック
 web3.png
 web4.png

5.ログインウィンドウが表示されるので、アカウントを持っていない人は『here』をクリックして6へ、アカウントを持ってる人は登録したE-mailアドレスとパスワードを入力して8へ
 web5.png

6.必要事項を記入して下の『Submit』をクリック
 web6.png

7.登録したメールアドレスに連絡のメールが来ますが、『Submit』を押した時点でダウンロードは始まります
8.『Bluegiga_ble-1.4.2-130.exe』(2016年6月9日時点)がダウンロードされるのを待って、適当なフォルダなりデスクトップに保存
 web7.png



ダウンロードしたSDKを作業用PCにインストールする
1.『Bluegiga_ble-1.4.2-130.exe』(2016年6月9日時点)をダブルクリックしてインストールを開始
 web7.png

2.『Next』をクリック
 install1.png

3.内容を確認して、『I accept the agreement』にチェックを入れて『Next』をクリック
 instal2.png

4.SDKをインストールするフォルダを選択/入力して『Next』をクリック
 install3.png
 ※デフォルトでCドライブ直下に掘ってくるのが気持ち悪いですが、
  後々面倒なことになるのが嫌なのでデフォルト設定で設定しています。


5.インストールする内容を『Full installation』で選択(デフォルト)
 install4.png

6.BLE Updateアプリのインストール先を聞いてくるのでコレも特に理由がなければデフォルトのままで『Next』をクリック
 install5.png

7.スタートメニューにショートカットを作るか聞いてくるのでお好みで作る/作らないを決めて『Next』をクリック
 install6.png

8.デスクトップにショートカットアイコンを作るか聞いてくるのでお好みで作る/作らないを決めて『Next』をクリック
 install7.png

9.インストールの最終確認をして『Install』をクリック
 install8.png

10.インストールが始まります。
 ※こちらの環境で試した際、1度目のインストールはいろいろファイルがないと
  警告が出て失敗し、再度アンインストールしないでインストーラーを起動してインストールし直すと
  何の問題もなくインストールが完了しました。


11.アプリのインストールが終わると、ドライバを2種類インストールしてくるので、両方共『インストール』を選択
 install10.png
 install11.png


12.『finish』をクリックしてインストール完了
 install9.png


必要なドキュメント類、ツールをダウンロードする
SDKのページ および BLE113のページ で開発で必要な情報の各種ドキュメントのダウンロードができます。
・流行りの補完機能やハイライト機能のあるオシャレな統合開発環境は用意されていませんので、スクリプトは任意のテキストエディタで書いていくことになります。PC TOOLSのところから、『Note Pad++』とそのプラグイン『BGScript Syntax Highlighting for Notepad++』をダウンロードしてインストール、適用させるとスクリプト開発が快適になります。

  1. 2016/06/09(木) 03:15:23|
  2. bCoreNKDとは?
  3. | コメント:0

検索フォーム

カテゴリ

Project: bCore (61)
bCoreとは? (4)
bDriverとは? (5)
bCore製作事例集 (5)
bCoreNKDとは? (13)
bCoreMX & bDriverMX (2)
Project: BARONDUINO (2)
Project: QT-4X "boogie" (2)
Project: B5 (1)
Project: Fab mini 4WD (1)
mini.Rock (1)
Project S-4WDS Racing (7)
S-4WDS Racingとは? (1)
S-4WDS Racing進捗 (6)
Project: uLCX2 (2)
uLCX2BLEとは? (1)
uLCX2とは? (1)
Project: LCXX (20)
LCXXとは? (1)
LCXX進捗 (19)
Project: uLCX (12)
uLCXとは? (1)
uLCX進捗 (11)
Project: Land Crawler (39)
Land Crawlerとは? (1)
Land Crawler 進捗 (19)
LC eXtreme 進捗 (19)
AAF 回顧録 (3)
イベント/TV/雑誌など (40)
販売情報 (5)
その他 (10)
Vagabond Works (2)

最新コメント

メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ

カレンダー

05 | 2016/06 | 07
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -