testing

Dependencies:   mbed-rpc mbed

Fork of RPC_Serial by Andrew p

Committer:
ajc
Date:
Wed Aug 05 23:46:47 2015 +0000
Revision:
3:92f92f48bd8c
Parent:
2:fe5692354530
testing....

Who changed what in which revision?

UserRevisionLine numberNew contents of line
harrisjunaid 0:3ffd66df9efb 1 #include "mbed.h"
apullin 2:fe5692354530 2 #include "mbed_rpc.h"
apullin 2:fe5692354530 3
apullin 2:fe5692354530 4 //using namespace mbed;
apullin 1:c7b247964631 5
harrisjunaid 0:3ffd66df9efb 6 Serial pc(USBTX, USBRX);
apullin 1:c7b247964631 7
ajc 3:92f92f48bd8c 8 float num = 0;
ajc 3:92f92f48bd8c 9
ajc 3:92f92f48bd8c 10 RPCVariable<float> rpc_num(&num, "num");
ajc 3:92f92f48bd8c 11
harrisjunaid 0:3ffd66df9efb 12 int main() {
harrisjunaid 0:3ffd66df9efb 13 // setup the classes that can be created dynamically
apullin 2:fe5692354530 14
apullin 2:fe5692354530 15 //These exist for all platforms
apullin 2:fe5692354530 16 RPC::add_rpc_class<RpcDigitalIn>();
apullin 2:fe5692354530 17 RPC::add_rpc_class<RpcDigitalOut>();
apullin 2:fe5692354530 18 RPC::add_rpc_class<RpcDigitalInOut>();
apullin 2:fe5692354530 19 RPC::add_rpc_class<RpcTimer>();
apullin 2:fe5692354530 20
apullin 2:fe5692354530 21 //Others are conditional by platform
apullin 2:fe5692354530 22
apullin 2:fe5692354530 23 //Unknown how RPC would work if serial was not present?
apullin 2:fe5692354530 24 #if DEVICE_SERIAL
apullin 2:fe5692354530 25 RPC::add_rpc_class<RpcSerial>();
apullin 2:fe5692354530 26 #else
apullin 2:fe5692354530 27 #warning "No Serial function available in this configuration."
apullin 2:fe5692354530 28 #endif
apullin 2:fe5692354530 29
apullin 2:fe5692354530 30 #if DEVICE_ANALOGIN
apullin 2:fe5692354530 31 RPC::add_rpc_class<RpcAnalogIn>();
apullin 2:fe5692354530 32 #else
apullin 2:fe5692354530 33 #warning "No AnalogIn function available in this configuration."
apullin 2:fe5692354530 34 #endif
apullin 2:fe5692354530 35
apullin 2:fe5692354530 36 #if DEVICE_ANALOGOUT
apullin 2:fe5692354530 37 RPC::add_rpc_class<RpcAnalogOut>();
apullin 2:fe5692354530 38 #else
apullin 2:fe5692354530 39 #warning "No AnalogOut function available in this configuration."
apullin 2:fe5692354530 40 #endif
apullin 2:fe5692354530 41
apullin 2:fe5692354530 42 #if DEVICE_PWMOUT
apullin 2:fe5692354530 43 RPC::add_rpc_class<RpcPwmOut>();
apullin 2:fe5692354530 44 #else
apullin 2:fe5692354530 45 #warning "No PWMOut function available in this configuration."
apullin 2:fe5692354530 46 #endif
apullin 2:fe5692354530 47
apullin 2:fe5692354530 48 #if DEVICE_SPI
apullin 2:fe5692354530 49 RPC::add_rpc_class<RpcSPI>();
apullin 2:fe5692354530 50 #else
apullin 2:fe5692354530 51 #warning "No SPI function available in this configuration."
apullin 2:fe5692354530 52 #endif
apullin 2:fe5692354530 53
apullin 2:fe5692354530 54 //These appear to not be implemented
apullin 2:fe5692354530 55 //RPC::add_rpc_class<BusOut>();
apullin 2:fe5692354530 56 //RPC::add_rpc_class<RpcBusIn>();
apullin 2:fe5692354530 57 //RPC::add_rpc_class<RpcBusInOut>();
apullin 2:fe5692354530 58
harrisjunaid 0:3ffd66df9efb 59 // receive commands, and send back the responses
apullin 2:fe5692354530 60 char buf[RPC_MAX_STRING], outbuf[RPC_MAX_STRING];
harrisjunaid 0:3ffd66df9efb 61 while(1) {
apullin 2:fe5692354530 62 pc.gets(buf, RPC_MAX_STRING);
apullin 2:fe5692354530 63 RPC::call(buf, outbuf);
harrisjunaid 0:3ffd66df9efb 64 pc.printf("%s\n", outbuf);
harrisjunaid 0:3ffd66df9efb 65 }
apullin 2:fe5692354530 66
harrisjunaid 0:3ffd66df9efb 67 }