Library - ライブラリの作成
Library - ライブラリの作成
詳しい記事を Tedd OKANO さんが書かれています。次のリンクも参照してください。
ライブラリ・コンポーネントの作りかた (by Tedd OKANO)
Information
本ページは私家版のため、誤り等あればご指摘ください。
最新の情報は公式のドキュメントをご参照ください。
http://mbed.org/cookbook/Writing-a-Library
ライブラリはC++のクラス(Class)として作成します。
Step 1 検討
実現したい機能を関数としてプログラムします。
main.cpp
#include "mbed.h" DigitalOut pin(LED2); // LED(デジタル出力)を点滅させる関数 void flash(int n) { for(int i=0; i<n*2; n++) { pin = !pin; wait(0.2); } } int main() { // 5回点滅 flash(5); // 2回点滅 flash(2); }
Step 2 クラス作成
クラスに書き換えます。
main.cpp
#include "mbed.h" class Flasher { public: Flasher(PinName pin) : _pin(pin) { // デジタル出力の実体化 _pin = 0; // デジタル出力の初期化 } void flash(int n) { for(int i=0; i<n*2; n++) { _pin = !_pin; wait(0.2); } } private: DigitalOut _pin; // デジタル出力の宣言 }; Flasher led(LED2); int main() { led.flash(5); led.flash(2); }
Step 3 ファイル分割
宣言部分とプログラムの実体にファイルを分けます。
開発環境のプロジェクトで右クリックし、メニューから「New library」を選びライブラリ用フォルダを作る。 この中へライブラリのファイルを作成します。
ヘッダファイルには宣言だけ記述する。
Flasher.h
#ifndef MBED_FLASHER_H #define MBED_FLASHER_H #include "mbed.h" class Flasher { public: Flasher(PinName pin); void flash(int n); private: DigitalOut _pin; }; #endif
プログラムの実体は .cpp ファイルへ。
Flasher.cpp
#include "Flasher.h" #include "mbed.h" Flasher::Flasher(PinName pin) : _pin(pin) { _pin = 0; } void Flasher::flash(int n) { for(int i=0; i<n*2; n++) { _pin = !_pin; wait(0.2); } }
main.cppではライブラリをincludeします。
main.cpp
#include "mbed.h" #include "Flasher.h" Flasher led(LED2); int main() { led.flash(5); led.flash(2); }
Step 4 公開
ライブラリのフォルダで右クリックし、メニューから「Publish Library」を選ぶ。
説明等を入力し[OK]すると公開され、ライブラリのURLが発行される。
URLの末尾の「le586m」などの部分は、公開するたびにバージョンによって変わる。 常に最新のライブラリへリンクさせたい場合はここを「latest」に置き換えるとよい。
Notebook等からリンクする場合は
<<program URL>>
と書く。
ライブラリのフォルダは以下のように開けなくなる。
編集したい場合は、右クリックし、メニューから「Edit Library」を選ぶ。
備考
- あらかじめ Doxygen 用のドキュメントを埋め込んでおくと、公開時に自動的にドキュメントが生成される。
Please log in to post comments.