3 * ROMにある定義済みファイルの入出力と、クロスドメインRESTが確認できます。
\r
5 #include "boot/sketch.h"
\r
6 #include "NyLPC_net.h"
\r
8 #include "NyLPC_http.h"
\r
9 #include "NyLPC_utils.h"
\r
15 NyLPC_TcHttpd_t super;
\r
18 #define NUM_OF_FSDATA 4
\r
19 extern struct NyLPC_TRomFileData fsdata[];
\r
21 static const char* ROM_PATH="rom";
\r
22 static const char* SETUP_PATH="setup";
\r
23 static const char* MVM_PATH="mvm";
\r
24 void handler(NyLPC_TcHttpdConnection_t* i_connection)
\r
27 NyLPC_TcModRomFiles_t rom;
\r
28 NyLPC_TcModMiMicSetting_t setting;
\r
29 NyLPC_TcModRemoteMcu_t mvm;
\r
34 NyLPC_cModMiMicSetting_initialize(&mod.setting,SETUP_PATH);
\r
35 if(NyLPC_cModMiMicSetting_canHandle(&mod.setting,i_connection)){
\r
36 NyLPC_cModMiMicSetting_execute(&mod.setting,i_connection);
\r
37 NyLPC_cModMiMicSetting_finalize(&mod.setting);
\r
40 NyLPC_cModMiMicSetting_finalize(&mod.setting);
\r
43 NyLPC_cModRemoteMcu_initialize(&mod.mvm,MVM_PATH);
\r
44 if(NyLPC_cModRemoteMcu_canHandle(&mod.mvm,i_connection)){
\r
45 NyLPC_cModRemoteMcu_execute(&mod.mvm,i_connection);
\r
46 NyLPC_cModRemoteMcu_finalize(&mod.mvm);
\r
49 NyLPC_cModRemoteMcu_finalize(&mod.mvm);
\r
52 NyLPC_cModRomFiles_initialize(&mod.rom,ROM_PATH,fsdata,NUM_OF_FSDATA);
\r
53 if(NyLPC_cModRomFiles_canHandle(&mod.rom,i_connection)){
\r
54 NyLPC_cModRomFiles_execute(&mod.rom,i_connection);
\r
55 NyLPC_cModRomFiles_finalize(&mod.rom);
\r
58 NyLPC_cModRomFiles_finalize(&mod.rom);
\r
60 //Redirect to index html
\r
61 NyLPC_cHttpdConnection_sendResponseHeader(
\r
64 "Status: 301:Moved Permanently\r\n"
\r
65 "Location: /rom/index.html\r\n");
\r
70 //uipサービス初期化。いろいろ利用可能に。
\r
71 NyLPC_cNet_initialize(&net);
\r
72 NyLPC_cHttpd_initialize(&httpd.super,80);
\r
73 httpd.super.function.onRequest=handler;
\r
80 NyLPC_TcNetConfig_t c2;
\r
81 NyLPC_cNetConfig_initialize(&c2,NyLPC_TBool_FALSE);
\r
82 NyLPC_cNet_start(&net,&c2);
\r
83 NyLPC_cHttpd_loop(&httpd.super);
\r