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 RpcSPI.cpp Source File

RpcSPI.cpp

00001 #include "RpcHandlerBase.h"
00002 namespace MiMic
00003 {
00004     class SPIHandler :RpcHandlerBase
00005     {
00006     public:
00007         static NyLPC_TBool new1(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
00008         {
00009             //uuuu
00010             ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
00011             PinName pin[4];
00012             if(getParamsAsPin(mod,i_rpc,pin,4)){
00013                 addNewObjectBatch(mod,i_rpc->method.id,new ModJsonRpc::RpcObject<SPI>(new SPI(pin[0],pin[1],pin[2],pin[3])));
00014             }
00015             return NyLPC_TBool_TRUE;
00016         }
00017         static NyLPC_TBool format(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
00018         {
00019             //ddd return void
00020             ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
00021             SPI* inst=(SPI*)getObjectBatch(mod,i_rpc);
00022             if(inst!=NULL){
00023                 int p[2];
00024                 if(getParamsInt(mod,i_rpc,p,2,1)){
00025                     inst->format(p[0],p[1]);
00026                     mod->putResult(i_rpc->method.id);
00027 
00028                 }
00029             }
00030             return NyLPC_TBool_TRUE;
00031         }
00032         static NyLPC_TBool frequency(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
00033         {
00034             //dd return void
00035             ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
00036             SPI* inst=(SPI*)getObjectBatch(mod,i_rpc);
00037             if(inst!=NULL){
00038                 int v;
00039                 if(getParamInt(mod,i_rpc,v,1)){
00040                     inst->frequency(v);
00041                     mod->putResult(i_rpc->method.id);
00042                 }
00043             }
00044             return NyLPC_TBool_TRUE;
00045         }
00046         static NyLPC_TBool write(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
00047         {
00048             //dd return d
00049             ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
00050             SPI* inst=(SPI*)getObjectBatch(mod,i_rpc);
00051             if(inst!=NULL){
00052                 int v;
00053                 if(getParamInt(mod,i_rpc,v,1)){
00054                     mod->putResult(i_rpc->method.id,"%d",(int)(inst->write(v)));
00055                 }
00056             }
00057             return NyLPC_TBool_TRUE;
00058         }
00059     };
00060 
00061 
00062 
00063 const static struct NyLPC_TJsonRpcMethodDef func_table[]=
00064 {
00065     { "_new1"       ,"uuuu" ,SPIHandler::new1},
00066     { "format"      ,"ddd"  ,SPIHandler::format},
00067     { "frequency"   ,"dd"   ,SPIHandler::frequency},
00068     { "write"       ,"dd"   ,SPIHandler::write},
00069     { NULL      ,NULL   ,NULL}
00070 };
00071 
00072 const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_SPI={
00073     "mbedJS","SPI",func_table
00074 };
00075 
00076 
00077 
00078 }