MiMic for mbed

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行近かったのと比較すると、大分スッキリしました。

今の作業リストはこんな感じです。

  1. [済]WebAPIのモジュール化
  2. [済]オンチップコンテンツ(JavascriptEditor)
  3. [済]オンチップコンテンツ(MiMicILエディタ)
  4. [済]オンチップコンテンツ(‘メモリダンプツール)
  5. [済]ローカルファイルの公開機能
  6. [済]オンチップコンテンツ(JavascriptEditor,MiMicILエディタ,メモリダンプツール)
  7. [済]JavascriptAPIの更新
  8. [済]jsdo.itの1.4.0系化
  9. [済:2013/04/21]ファイルから設定値読み出し
  10. ローカルファイルディレクトリの参照
  11. Bugfix:mimetypeのcase-insensitive化
  12. URLQueryパーサの実装
  13. SDカード対応
  14. PHPAPIの更新
  15. UnityAPIの更新
  16. マニュアル整備

11番まである程度対応した段階でリリースする予定です。機能追加等のご希望がありましたら作業リストに加えますすので、@nyatlaまでご連絡ください。

Comments are closed, but trackbacks and pingbacks are open.