This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Dependents: MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more
RpcAnalogOut.cpp
00001 #include "RpcHandlerBase.h" 00002 namespace MiMic 00003 { 00004 class AnalogOutHandler :RpcHandlerBase 00005 { 00006 public: 00007 static NyLPC_TBool new1(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00008 { 00009 //u 00010 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00011 PinName pin; 00012 if(getParamsAsPin(mod,i_rpc,&pin,1)){ 00013 addNewObjectBatch(mod,i_rpc->method.id,new ModJsonRpc::RpcObject<AnalogOut>(new AnalogOut(pin))); 00014 } 00015 return NyLPC_TBool_TRUE; 00016 } 00017 /** 10000倍したread()の値を返す*/ 00018 static NyLPC_TBool read_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00019 { 00020 //d return d 00021 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00022 AnalogOut* inst=(AnalogOut*)getObjectBatch(mod,i_rpc); 00023 if(inst!=NULL){ 00024 mod->putResult(i_rpc->method.id,"%d",(int)(inst->read()*10000)); 00025 } 00026 return NyLPC_TBool_TRUE; 00027 } 00028 static NyLPC_TBool write_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00029 { 00030 //dd return void 00031 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00032 AnalogOut* inst=(AnalogOut*)getObjectBatch(mod,i_rpc); 00033 if(inst!=NULL){ 00034 int v; 00035 if(getParamInt(mod,i_rpc,v,1)){ 00036 inst->write((float)v/10000.0f); 00037 mod->putResult(i_rpc->method.id); 00038 } 00039 } 00040 return NyLPC_TBool_TRUE; 00041 } 00042 static NyLPC_TBool write_u16(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00043 { 00044 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00045 AnalogOut* inst=(AnalogOut*)getObjectBatch(mod,i_rpc); 00046 if(inst!=NULL){ 00047 unsigned int v; 00048 if(getParamUInt(mod,i_rpc,v,1)){ 00049 inst->write_u16((unsigned short)v); 00050 mod->putResult(i_rpc->method.id); 00051 } 00052 } 00053 return NyLPC_TBool_TRUE; 00054 } 00055 }; 00056 00057 00058 00059 const static struct NyLPC_TJsonRpcMethodDef func_table[]= 00060 { 00061 { "_new1" ,"u" ,AnalogOutHandler::new1}, 00062 { "read_fx" ,"d" ,AnalogOutHandler::read_fx}, 00063 { "write_fx" ,"dd" ,AnalogOutHandler::write_fx}, 00064 { "write_u16" ,"du" ,AnalogOutHandler::write_u16}, 00065 { NULL ,NULL ,NULL} 00066 }; 00067 00068 const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_ANALOG_OUT={ 00069 "mbedJS","AnalogOut",func_table 00070 }; 00071 00072 00073 00074 }
Generated on Tue Jul 12 2022 15:46:17 by 1.7.2