MiMic for mbedの新作(version 1.4.0)を作っています。
http://mbed.org/users/nyatla/code/MiMicRemoteMCU-for-Mbed/
今回は前回までと違って、mbedのオンラインコンパイラでビルドできるようにしています。他にも、mbed単体でMiMicコンテンツの作成ができるようにオンチップコンテンツ充実させたり、mbedのローカルファイルシステムを利用できるようになりました。
mbedのMiMic(MiMicRemoteMCU)がどのくらいシンプルになったかというと・・・、
#include "mimic.h" #include "fsdata.h" LocalFileSystem lf("local"); class MiMicRemoteMcu:public MiMic::Httpd { private: ModRomFiles modromfs; //ROM file module ModMiMicSetting mimicsetting; //mimic setting API ModRemoteMcu remotemcu; // remotemcu API ModLocalFileSystem modlocal; //basic URL parser public: MiMicRemoteMcu():Httpd(80) { this->modromfs.setParam("rom",RMCU_FSDATA,19); this->mimicsetting.setParam("setup"); this->remotemcu.setParam("mvm"); this->modlocal.setParam("local"); } virtual void onRequest(HttpdConnection& i_connection) { //try to ModRomFS module. if(this->modromfs.execute(i_connection)){ return; } //try to ModMiMicSetting module. if(this->mimicsetting.execute(i_connection)){ return; } //try to ModRemoteMcu module. if(this->remotemcu.execute(i_connection)){ return; } //try to ModLocalFileSystem if(this->modlocal.execute(i_connection)){ return; } //Otherwise, Send the redirect response to /rom/index.html i_connection.sendHeader(301, "text/html", "Status: 301:Moved Permanently\r\n" "Location: /rom/index.html\r\n"); return; } }; int main() { NetConfig cfg; //create network configulation Net net(cfg); //create a net instance. MiMicRemoteMcu httpd; //create a httpd instance. httpd.loop(); //start httpd loop. return 0; }
大体60行くらいです。以前のコードが700行近かったのと比較すると、大分スッキリしました。
今の作業リストはこんな感じです。
- [済]WebAPIのモジュール化
- [済]オンチップコンテンツ(JavascriptEditor)
- [済]オンチップコンテンツ(MiMicILエディタ)
- [済]オンチップコンテンツ(‘メモリダンプツール)
- [済]ローカルファイルの公開機能
- [済]オンチップコンテンツ(JavascriptEditor,MiMicILエディタ,メモリダンプツール)
- [済]JavascriptAPIの更新
- [済]jsdo.itの1.4.0系化
- [済:2013/04/21]ファイルから設定値読み出し
- ローカルファイルディレクトリの参照
- Bugfix:mimetypeのcase-insensitive化
- URLQueryパーサの実装
- SDカード対応
- PHPAPIの更新
- UnityAPIの更新
- マニュアル整備
11番まである程度対応した段階でリリースする予定です。機能追加等のご希望がありましたら作業リストに加えますすので、@nyatlaまでご連絡ください。
Comments are closed, but trackbacks and pingbacks are open.