From 011548d8b6504b31a087897c01091b56164e50ee Mon Sep 17 00:00:00 2001 From: nyatla Date: Thu, 18 Apr 2013 05:37:40 +0000 Subject: [PATCH] change rename configulation save/load API git-svn-id: http://svn.osdn.jp/svnroot/mimic/trunk@217 47198e57-cb75-475f-84c4-a814cd6f29e0 --- lib/src/flash/NyLPC_cMiMicConfiglation.c | 9 +++++++-- lib/src/flash/NyLPC_cMiMicConfiglation.h | 4 ++-- lib/src/net/NyLPC_cNetConfig.c | 15 ++++++++++----- lib/src/net/NyLPC_cNetConfig.h | 3 +-- lib/src/net/httpd/NyLPC_cHttpd.h | 2 +- lib/src/net/httpd/mod/NyLPC_cModMiMicSetting.c | 2 +- lib/src/uip/NyLPC_uip.h | 2 +- lib/src/uip/NyLPC_uip_ethernet.h | 2 +- 8 files changed, 24 insertions(+), 15 deletions(-) diff --git a/lib/src/flash/NyLPC_cMiMicConfiglation.c b/lib/src/flash/NyLPC_cMiMicConfiglation.c index b7f5b68..d6b990a 100644 --- a/lib/src/flash/NyLPC_cMiMicConfiglation.c +++ b/lib/src/flash/NyLPC_cMiMicConfiglation.c @@ -9,7 +9,7 @@ -#define IP2Int(a0,a1,a2,a3) ((0xff000000&(a0<<24))|(0x00ff0000&(a1<<16))|(0x0000ff00&(a2<<8))|(0x000000ff&(a3))) +#define IP2Int(a0,a1,a2,a3) ((0xff000000&(((NyLPC_TUInt32)(a0))<<24))|(0x00ff0000&(((NyLPC_TUInt32)(a1))<<16))|(0x0000ff00&(((NyLPC_TUInt32)(a2))<<8))|(0x000000ff&(((NyLPC_TUInt32)(a3))))) /** * コンフィギュレーションの保存セクタ */ @@ -65,7 +65,7 @@ Error: /** * コンフィギュレーション値を返す。 */ -const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadMiMicConfigulation(void) +const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadFromFlash(void) { if(hasUserConfigulation()){ //userコンフィギュレーション読むよ @@ -75,6 +75,11 @@ const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadMiMicConfig return &factory_default; } } +const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadFactoryDefault(void) +{ + return &factory_default; +} + diff --git a/lib/src/flash/NyLPC_cMiMicConfiglation.h b/lib/src/flash/NyLPC_cMiMicConfiglation.h index 1523208..00bc31b 100644 --- a/lib/src/flash/NyLPC_cMiMicConfiglation.h +++ b/lib/src/flash/NyLPC_cMiMicConfiglation.h @@ -37,7 +37,7 @@ NyLPC_TBool NyLPC_cMiMicConfiglation_updateConfigulation(const struct NyLPC_TMim * コンフィギュレーション値を返す。 * この関数は、RTOSが停止中に実行すること。 */ -const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadMiMicConfigulation(void); - +const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadFromFlash(void); +const struct NyLPC_TMimicConfigulation* NyLPC_cMiMicConfiglation_loadFactoryDefault(void); #endif /* CCONFIGLATIONSTORAGE_H_ */ diff --git a/lib/src/net/NyLPC_cNetConfig.c b/lib/src/net/NyLPC_cNetConfig.c index cab04eb..a6b9529 100644 --- a/lib/src/net/NyLPC_cNetConfig.c +++ b/lib/src/net/NyLPC_cNetConfig.c @@ -24,11 +24,17 @@ struct TNetConfigMemMap // NyLPC_TUInt32 accessmode; }; -static void loadFromMemory(NyLPC_TcNetConfig_t* i_inst); +static void update(NyLPC_TcNetConfig_t* i_inst,const struct NyLPC_TMimicConfigulation* pdata); -void NyLPC_cNetConfig_initialize(NyLPC_TcNetConfig_t* i_inst) + +void NyLPC_cNetConfig_initialize(NyLPC_TcNetConfig_t* i_inst,NyLPC_TBool i_is_factory_default) { - loadFromMemory(i_inst); + if(i_is_factory_default) + { + update(i_inst,NyLPC_cMiMicConfiglation_loadFactoryDefault()); + }else{ + update(i_inst,NyLPC_cMiMicConfiglation_loadFromFlash()); + } } @@ -77,11 +83,10 @@ Error: #define ETHERNET_FRAME_LEN 1480 -static void loadFromMemory(NyLPC_TcNetConfig_t* i_inst) +static void update(NyLPC_TcNetConfig_t* i_inst,const struct NyLPC_TMimicConfigulation* pdata) { struct NyLPC_TEthAddr ea; struct NyLPC_TIPv4Addr ip,mask,drt; - const struct NyLPC_TMimicConfigulation* pdata=NyLPC_cMiMicConfiglation_loadMiMicConfigulation(); //値の読み出し ea.addr[0]=(NyLPC_TUInt8)((pdata->mac_00_01_02_03>>24)&0xff); ea.addr[1]=(NyLPC_TUInt8)((pdata->mac_00_01_02_03>>16)&0xff); diff --git a/lib/src/net/NyLPC_cNetConfig.h b/lib/src/net/NyLPC_cNetConfig.h index efb98ec..87e5fbe 100644 --- a/lib/src/net/NyLPC_cNetConfig.h +++ b/lib/src/net/NyLPC_cNetConfig.h @@ -42,9 +42,8 @@ struct NyLPC_TcNetConfig /** * インスタンスを初期化します。 - * 値は工場出荷時設定になります。 */ -void NyLPC_cNetConfig_initialize(NyLPC_TcNetConfig_t* i_inst); +void NyLPC_cNetConfig_initialize(NyLPC_TcNetConfig_t* i_inst,NyLPC_TBool i_is_factory_default); /** * インスタンスを終期化します。 */ diff --git a/lib/src/net/httpd/NyLPC_cHttpd.h b/lib/src/net/httpd/NyLPC_cHttpd.h index fc423c9..2761783 100644 --- a/lib/src/net/httpd/NyLPC_cHttpd.h +++ b/lib/src/net/httpd/NyLPC_cHttpd.h @@ -31,7 +31,7 @@ struct NyLPC_TcHttpd NyLPC_TcMutex_t _mutex; NyLPC_TcTcpListener_t _listener; NyLPC_TcHttpdThread_t _thread[NyLPC_cNet_NUMBER_OF_THREAD]; - NyLPC_TUInt16 _num_of_active_connection; + NyLPC_TInt16 _num_of_active_connection; }; diff --git a/lib/src/net/httpd/mod/NyLPC_cModMiMicSetting.c b/lib/src/net/httpd/mod/NyLPC_cModMiMicSetting.c index 29200b2..a5e4b4e 100644 --- a/lib/src/net/httpd/mod/NyLPC_cModMiMicSetting.c +++ b/lib/src/net/httpd/mod/NyLPC_cModMiMicSetting.c @@ -353,7 +353,7 @@ static void setup_proc(NyLPC_TcHttpdConnection_t* i_connection,struct TModMiMicS if(!NyLPC_cHttpdModUtils_sendJsonHeader(i_connection)){ NyLPC_OnErrorGoto(Error); } - config=NyLPC_cMiMicConfiglation_loadMiMicConfigulation(); + config=NyLPC_cMiMicConfiglation_loadFromFlash(); //JSONを書く。 if(!NyLPC_cHttpdConnection_sendResponseBodyF(i_connection, "{\"application\":\""MOD_VERSION";%s\",\"mac00010203\":%u,\"mac0405xxxx\":%u,\"ip\":%u,\"mask\":%u,\"droute\":%u,\"port\":%u,\"access\":%u}", diff --git a/lib/src/uip/NyLPC_uip.h b/lib/src/uip/NyLPC_uip.h index 210faf4..be83cba 100644 --- a/lib/src/uip/NyLPC_uip.h +++ b/lib/src/uip/NyLPC_uip.h @@ -113,7 +113,7 @@ extern const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_BROADCAST; NyLPC_TIpv4Addr_set(&ip,1,2,3,4); \endcode */ -#define NyLPC_TIPv4Addr_set(s,a0,a1,a2,a3) (s).v=NyLPC_htonl((0xff000000&(a0<<24))|(0x00ff0000&(a1<<16))|(0x0000ff00&(a2<<8))|(0x000000ff&(a3))) +#define NyLPC_TIPv4Addr_set(s,a0,a1,a2,a3) (s)->v=NyLPC_htonl((0xff000000&(a0<<24))|(0x00ff0000&(a1<<16))|(0x0000ff00&(a2<<8))|(0x000000ff&(a3))) #define NyLPC_TIPv4Addr_pack(a0,a1,a2,a3) {NyLPC_HTONL((0xff000000&(a0<<24))|(0x00ff0000&(a1<<16))|(0x0000ff00&(a2<<8))|(0x000000ff&(a3)))} diff --git a/lib/src/uip/NyLPC_uip_ethernet.h b/lib/src/uip/NyLPC_uip_ethernet.h index 8da17ff..98ab81c 100644 --- a/lib/src/uip/NyLPC_uip_ethernet.h +++ b/lib/src/uip/NyLPC_uip_ethernet.h @@ -96,7 +96,7 @@ struct NyLPC_TEthAddr NyLPC_TEthAddr_set(&en,1,2,3,4,5,6); \endcode */ -#define NyLPC_TEthAddr_set(v,a1,a2,a3,a4,a5,a6) {v->addr[0]=(a1);v->addr[1]=(a2);v->addr[2]=(a3);v->addr[3]=(a4);v->addr[4]=(a5);v->addr[5]=(a6);} +#define NyLPC_TEthAddr_set(v,a1,a2,a3,a4,a5,a6) {(v)->addr[0]=(a1);(v)->addr[1]=(a2);(v)->addr[2]=(a3);(v)->addr[3]=(a4);(v)->addr[4]=(a5);(v)->addr[5]=(a6);} extern const struct NyLPC_TEthAddr NyLPC_TEthAddr_BROADCAST; -- 2.11.0