Andrew Chen
/
pullin_RPC_Serial
testing
Fork of RPC_Serial by
main.cpp@3:92f92f48bd8c, 2015-08-05 (annotated)
- Committer:
- ajc
- Date:
- Wed Aug 05 23:46:47 2015 +0000
- Revision:
- 3:92f92f48bd8c
- Parent:
- 2:fe5692354530
testing....
Who changed what in which revision?
User | Revision | Line number | New 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 | } |