This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Dependents:   MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers RpcPwmOut.cpp Source File

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 }