Jun Furutani / libMiMic

Fork of libMiMic by Ryo Iizuka

Committer:
nyatla
Date:
Fri Jun 20 15:38:30 2014 +0000
Revision:
77:8651d3c19a55
Child:
78:8cdb8fc7eda8
MiMicCore??363????; mbed/jsonrpc?????????

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 77:8651d3c19a55 10 ModJsonRpc* mod=(ModJsonRpc*)i_param;
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 77:8651d3c19a55 20 ModJsonRpc* mod=(ModJsonRpc*)i_param;
nyatla 77:8651d3c19a55 21 AnalogIn* inst=(AnalogIn*)getObjectBatch(mod,i_rpc);
nyatla 77:8651d3c19a55 22 if(inst!=NULL){
nyatla 77:8651d3c19a55 23 mod->putResult(i_rpc->method.id,"%d",(int)(inst->read_u16()));
nyatla 77:8651d3c19a55 24 }
nyatla 77:8651d3c19a55 25 return NyLPC_TBool_TRUE;
nyatla 77:8651d3c19a55 26 }
nyatla 77:8651d3c19a55 27 /** 10000倍したread()の値を返す*/
nyatla 77:8651d3c19a55 28 static NyLPC_TBool read_fx(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param)
nyatla 77:8651d3c19a55 29 {
nyatla 77:8651d3c19a55 30 //d return d
nyatla 77:8651d3c19a55 31 ModJsonRpc* mod=(ModJsonRpc*)i_param;
nyatla 77:8651d3c19a55 32 AnalogIn* inst=(AnalogIn*)getObjectBatch(mod,i_rpc);
nyatla 77:8651d3c19a55 33 if(inst!=NULL){
nyatla 77:8651d3c19a55 34 mod->putResult(i_rpc->method.id,"%d",(int)(inst->read()*10000));
nyatla 77:8651d3c19a55 35 }
nyatla 77:8651d3c19a55 36 return NyLPC_TBool_TRUE;
nyatla 77:8651d3c19a55 37 }
nyatla 77:8651d3c19a55 38 };
nyatla 77:8651d3c19a55 39
nyatla 77:8651d3c19a55 40
nyatla 77:8651d3c19a55 41
nyatla 77:8651d3c19a55 42 const static struct NyLPC_TJsonRpcMethodDef func_table[]=
nyatla 77:8651d3c19a55 43 {
nyatla 77:8651d3c19a55 44 { "_new1" ,"u" ,AnalogInHandler::new1},
nyatla 77:8651d3c19a55 45 { "read_u16" ,"d" ,AnalogInHandler::read_u16},
nyatla 77:8651d3c19a55 46 { "read_fx" ,"d" ,AnalogInHandler::read_fx},
nyatla 77:8651d3c19a55 47 { NULL ,NULL ,NULL}
nyatla 77:8651d3c19a55 48 };
nyatla 77:8651d3c19a55 49
nyatla 77:8651d3c19a55 50 const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_ANALOG_IN={
nyatla 77:8651d3c19a55 51 "mbedJS","AnalogIn",func_table
nyatla 77:8651d3c19a55 52 };
nyatla 77:8651d3c19a55 53
nyatla 77:8651d3c19a55 54
nyatla 77:8651d3c19a55 55
nyatla 77:8651d3c19a55 56 }
nyatla 77:8651d3c19a55 57