Jun Furutani / libMiMic

Fork of libMiMic by Ryo Iizuka

Committer:
nyatla
Date:
Fri Jul 04 14:28:46 2014 +0000
Revision:
85:416f8bbbdf54
Parent:
78:8cdb8fc7eda8
RPC???I2C/Slave/Memory/Serial???; ?????????????RPC????????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 77:8651d3c19a55 1 #include "RpcHandlerBase.h"
nyatla 77:8651d3c19a55 2 namespace MiMic
nyatla 77:8651d3c19a55 3 {
nyatla 77:8651d3c19a55 4 class AnalogInHandler :RpcHandlerBase
nyatla 77:8651d3c19a55 5 {
nyatla 77:8651d3c19a55 6 public:
nyatla 77:8651d3c19a55 7 static NyLPC_TBool new1(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
nyatla 77:8651d3c19a55 8 {
nyatla 77:8651d3c19a55 9 //u
nyatla 85:416f8bbbdf54 10 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
nyatla 77:8651d3c19a55 11 PinName pin;
nyatla 77:8651d3c19a55 12 if(getParamsAsPin(mod,i_rpc,&pin,1)){
nyatla 77:8651d3c19a55 13 addNewObjectBatch(mod,i_rpc->method.id,new ModJsonRpc::RpcObject<AnalogIn>(new AnalogIn(pin)));
nyatla 77:8651d3c19a55 14 }
nyatla 77:8651d3c19a55 15 return NyLPC_TBool_TRUE;
nyatla 77:8651d3c19a55 16 }
nyatla 77:8651d3c19a55 17 static NyLPC_TBool read_u16(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
nyatla 77:8651d3c19a55 18 {
nyatla 77:8651d3c19a55 19 //d return d
nyatla 85:416f8bbbdf54 20 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
nyatla 77:8651d3c19a55 21 AnalogIn* inst=(AnalogIn*)getObjectBatch(mod,i_rpc);
nyatla 77:8651d3c19a55 22 if(inst!=NULL){
nyatla 78:8cdb8fc7eda8 23 int v=inst->read_u16();
nyatla 78:8cdb8fc7eda8 24 mod->putResult(i_rpc->method.id,"%d",v);
nyatla 77:8651d3c19a55 25 }
nyatla 77:8651d3c19a55 26 return NyLPC_TBool_TRUE;
nyatla 77:8651d3c19a55 27 }
nyatla 77:8651d3c19a55 28 /** 10000倍したread()の値を返す*/
nyatla 77:8651d3c19a55 29 static NyLPC_TBool read_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
nyatla 77:8651d3c19a55 30 {
nyatla 77:8651d3c19a55 31 //d return d
nyatla 85:416f8bbbdf54 32 ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr;
nyatla 77:8651d3c19a55 33 AnalogIn* inst=(AnalogIn*)getObjectBatch(mod,i_rpc);
nyatla 77:8651d3c19a55 34 if(inst!=NULL){
nyatla 77:8651d3c19a55 35 mod->putResult(i_rpc->method.id,"%d",(int)(inst->read()*10000));
nyatla 77:8651d3c19a55 36 }
nyatla 77:8651d3c19a55 37 return NyLPC_TBool_TRUE;
nyatla 77:8651d3c19a55 38 }
nyatla 77:8651d3c19a55 39 };
nyatla 77:8651d3c19a55 40
nyatla 77:8651d3c19a55 41
nyatla 77:8651d3c19a55 42
nyatla 77:8651d3c19a55 43 const static struct NyLPC_TJsonRpcMethodDef func_table[]=
nyatla 77:8651d3c19a55 44 {
nyatla 77:8651d3c19a55 45 { "_new1" ,"u" ,AnalogInHandler::new1},
nyatla 77:8651d3c19a55 46 { "read_u16" ,"d" ,AnalogInHandler::read_u16},
nyatla 77:8651d3c19a55 47 { "read_fx" ,"d" ,AnalogInHandler::read_fx},
nyatla 77:8651d3c19a55 48 { NULL ,NULL ,NULL}
nyatla 77:8651d3c19a55 49 };
nyatla 77:8651d3c19a55 50
nyatla 77:8651d3c19a55 51 const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_ANALOG_IN={
nyatla 77:8651d3c19a55 52 "mbedJS","AnalogIn",func_table
nyatla 77:8651d3c19a55 53 };
nyatla 77:8651d3c19a55 54
nyatla 77:8651d3c19a55 55
nyatla 77:8651d3c19a55 56
nyatla 77:8651d3c19a55 57 }