This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Dependents: MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more
RpcPwmOut.cpp
00001 #include "RpcHandlerBase.h" 00002 00003 namespace MiMic 00004 { 00005 class PwmOutHandler :RpcHandlerBase 00006 { 00007 public: 00008 static NyLPC_TBool new1(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00009 { 00010 //u 00011 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00012 PinName pin; 00013 if(getParamsAsPin(mod,i_rpc,&pin,1)){ 00014 addNewObjectBatch(mod,i_rpc->method.id,new ModJsonRpc::RpcObject<PwmOut>(new PwmOut(pin))); 00015 } 00016 return NyLPC_TBool_TRUE; 00017 } 00018 static NyLPC_TBool write_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00019 { 00020 //dd return void 00021 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00022 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00023 if(inst!=NULL){ 00024 int v; 00025 if(getParamInt(mod,i_rpc,v,1)){ 00026 inst->write((float)v/10000.f); 00027 mod->putResult(i_rpc->method.id); 00028 } 00029 } 00030 return NyLPC_TBool_TRUE; 00031 } 00032 static NyLPC_TBool read_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00033 { 00034 //d return d 00035 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00036 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00037 if(inst!=NULL){ 00038 mod->putResult(i_rpc->method.id,"%d",(int)(inst->read()*10000)); 00039 } 00040 return NyLPC_TBool_TRUE; 00041 } 00042 static NyLPC_TBool period_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00043 { 00044 //dd return void 00045 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00046 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00047 if(inst!=NULL){ 00048 int v; 00049 if(getParamInt(mod,i_rpc,v,1)){ 00050 inst->period((float)v/10000.f); 00051 mod->putResult(i_rpc->method.id); 00052 } 00053 } 00054 return NyLPC_TBool_TRUE; 00055 } 00056 static NyLPC_TBool period_ms(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00057 { 00058 //dd return void 00059 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00060 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00061 if(inst!=NULL){ 00062 int v; 00063 if(getParamInt(mod,i_rpc,v,1)){ 00064 inst->period_ms(v); 00065 mod->putResult(i_rpc->method.id); 00066 } 00067 } 00068 return NyLPC_TBool_TRUE; 00069 } 00070 static NyLPC_TBool period_us(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00071 { 00072 //dd return void 00073 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00074 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00075 if(inst!=NULL){ 00076 int v; 00077 if(getParamInt(mod,i_rpc,v,1)){ 00078 inst->period_us(v); 00079 mod->putResult(i_rpc->method.id); 00080 } 00081 } 00082 return NyLPC_TBool_TRUE; 00083 } 00084 static NyLPC_TBool pulsewidth_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00085 { 00086 //dd return void 00087 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00088 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00089 if(inst!=NULL){ 00090 int v; 00091 if(getParamInt(mod,i_rpc,v,1)){ 00092 inst->pulsewidth((float)v/10000.0f); 00093 mod->putResult(i_rpc->method.id); 00094 } 00095 } 00096 return NyLPC_TBool_TRUE; 00097 } 00098 static NyLPC_TBool pulsewidth_ms(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00099 { 00100 //dd return void 00101 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00102 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00103 if(inst!=NULL){ 00104 int v; 00105 if(getParamInt(mod,i_rpc,v,1)){ 00106 inst->pulsewidth_ms(v); 00107 mod->putResult(i_rpc->method.id); 00108 } 00109 } 00110 return NyLPC_TBool_TRUE; 00111 } 00112 static NyLPC_TBool pulsewidth_us(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) 00113 { 00114 //dd return void 00115 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; 00116 PwmOut* inst=(PwmOut*)getObjectBatch(mod,i_rpc); 00117 if(inst!=NULL){ 00118 int v; 00119 if(getParamInt(mod,i_rpc,v,1)){ 00120 inst->pulsewidth_us(v); 00121 mod->putResult(i_rpc->method.id); 00122 } 00123 } 00124 return NyLPC_TBool_TRUE; 00125 } 00126 }; 00127 00128 00129 00130 const static struct NyLPC_TJsonRpcMethodDef func_table[]= 00131 { 00132 { "_new1" ,"u" ,PwmOutHandler::new1}, 00133 { "write_fx" ,"dd" ,PwmOutHandler::write_fx}, 00134 { "read_fx" ,"d" ,PwmOutHandler::read_fx}, 00135 { "period_fx" ,"dd" ,PwmOutHandler::period_fx}, 00136 { "period_ms" ,"dd" ,PwmOutHandler::period_ms}, 00137 { "period_us" ,"dd" ,PwmOutHandler::period_us}, 00138 { "pulsewidth_fx" ,"dd" ,PwmOutHandler::pulsewidth_fx}, 00139 { "pulsewidth_ms" ,"dd" ,PwmOutHandler::pulsewidth_ms}, 00140 { "pulsewidth_us" ,"dd" ,PwmOutHandler::pulsewidth_us}, 00141 { NULL ,NULL ,NULL} 00142 }; 00143 00144 const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_PWM_OUT={ 00145 "mbedJS","PwmOut",func_table 00146 }; 00147 00148 00149 00150 }
Generated on Tue Jul 12 2022 15:46:17 by 1.7.2