This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Dependents: MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more
RpcBusInOut.cpp
00001 #include "RpcHandlerBase.h" 00002 namespace MiMic 00003 { 00004 class BusInOutHandler :RpcHandlerBase 00005 { 00006 public: 00007 static NyLPC_TBool new1(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00008 { 00009 //uuuuuuuuuuuuuuuu 00010 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00011 PinName pin[16]; 00012 if(getParamsAsPin(mod,i_rpc,pin,16)){ 00013 addNewObjectBatch(mod,i_rpc->method.id,new ModJsonRpc::RpcObject<BusInOut>(new BusInOut(pin))); 00014 } 00015 return NyLPC_TBool_TRUE; 00016 } 00017 static NyLPC_TBool read(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00018 { 00019 //d return d 00020 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00021 BusInOut* inst=(BusInOut*)getObjectBatch(mod,i_rpc); 00022 if(inst!=NULL){ 00023 mod->putResult(i_rpc->method.id,"%d",(int)(inst->read())); 00024 } 00025 return NyLPC_TBool_TRUE; 00026 } 00027 static NyLPC_TBool write(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00028 { 00029 //dd return void 00030 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00031 BusInOut* inst=(BusInOut*)getObjectBatch(mod,i_rpc); 00032 if(inst!=NULL){ 00033 int v; 00034 if(getParamInt(mod,i_rpc,v,1)){ 00035 inst->write(v); 00036 mod->putResult(i_rpc->method.id); 00037 } 00038 } 00039 return NyLPC_TBool_TRUE; 00040 } 00041 static NyLPC_TBool output(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00042 { 00043 //d return void 00044 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00045 BusInOut* inst=(BusInOut*)getObjectBatch(mod,i_rpc); 00046 if(inst!=NULL){ 00047 inst->output(); 00048 mod->putResult(i_rpc->method.id); 00049 } 00050 return NyLPC_TBool_TRUE; 00051 } 00052 static NyLPC_TBool input(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00053 { 00054 //d return void 00055 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00056 BusInOut* inst=(BusInOut*)getObjectBatch(mod,i_rpc); 00057 if(inst!=NULL){ 00058 inst->input(); 00059 mod->putResult(i_rpc->method.id); 00060 } 00061 return NyLPC_TBool_TRUE; 00062 } 00063 static NyLPC_TBool mode(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00064 { 00065 //dd return void 00066 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00067 BusInOut* inst=(BusInOut*)getObjectBatch(mod,i_rpc); 00068 if(inst!=NULL){ 00069 int v; 00070 if(getParamInt(mod,i_rpc,v,1)){ 00071 inst->mode(pinmodeId2PinMode(v)); 00072 mod->putResult(i_rpc->method.id); 00073 } 00074 } 00075 return NyLPC_TBool_TRUE; 00076 } 00077 }; 00078 00079 00080 00081 const static struct NyLPC_TJsonRpcMethodDef func_table[]= 00082 { 00083 { "_new1" ,"uuuuuuuuuuuuuuuuu" ,BusInOutHandler::new1}, 00084 { "read" ,"d" ,BusInOutHandler::read}, 00085 { "write" ,"dd" ,BusInOutHandler::write}, 00086 { "output" ,"d" ,BusInOutHandler::output}, 00087 { "input" ,"d" ,BusInOutHandler::input}, 00088 { "mode" ,"dd" ,BusInOutHandler::mode}, 00089 { NULL ,NULL ,NULL} 00090 }; 00091 00092 const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_BUS_IN_OUT={ 00093 "mbedJS","BusInOut",func_table 00094 }; 00095 00096 00097 00098 }
Generated on Tue Jul 12 2022 15:46:17 by 1.7.2