Leest de waarde van een sensor binnen een maakt deze beschikbaar via internet

Dependencies:   NTPClient_NetServices mbed

Committer:
hendrikvincent
Date:
Mon Dec 02 09:01:23 2013 +0000
Revision:
0:05ccbd4f84f1
eerste programma;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hendrikvincent 0:05ccbd4f84f1 1 /**
hendrikvincent 0:05ccbd4f84f1 2 * @section LICENSE
hendrikvincent 0:05ccbd4f84f1 3 *Copyright (c) 2010 ARM Ltd.
hendrikvincent 0:05ccbd4f84f1 4 *
hendrikvincent 0:05ccbd4f84f1 5 *Permission is hereby granted, free of charge, to any person obtaining a copy
hendrikvincent 0:05ccbd4f84f1 6 *of this software and associated documentation files (the "Software"), to deal
hendrikvincent 0:05ccbd4f84f1 7 *in the Software without restriction, including without limitation the rights
hendrikvincent 0:05ccbd4f84f1 8 *to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
hendrikvincent 0:05ccbd4f84f1 9 *copies of the Software, and to permit persons to whom the Software is
hendrikvincent 0:05ccbd4f84f1 10 *furnished to do so, subject to the following conditions:
hendrikvincent 0:05ccbd4f84f1 11 *
hendrikvincent 0:05ccbd4f84f1 12 *The above copyright notice and this permission notice shall be included in
hendrikvincent 0:05ccbd4f84f1 13 *all copies or substantial portions of the Software.
hendrikvincent 0:05ccbd4f84f1 14 *
hendrikvincent 0:05ccbd4f84f1 15 *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
hendrikvincent 0:05ccbd4f84f1 16 *IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
hendrikvincent 0:05ccbd4f84f1 17 *FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
hendrikvincent 0:05ccbd4f84f1 18 *AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
hendrikvincent 0:05ccbd4f84f1 19 *LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
hendrikvincent 0:05ccbd4f84f1 20 *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
hendrikvincent 0:05ccbd4f84f1 21 *THE SOFTWARE.
hendrikvincent 0:05ccbd4f84f1 22 *
hendrikvincent 0:05ccbd4f84f1 23 *
hendrikvincent 0:05ccbd4f84f1 24 * @section DESCRIPTION
hendrikvincent 0:05ccbd4f84f1 25 *
hendrikvincent 0:05ccbd4f84f1 26 *This class sets up RPC communication over serial.
hendrikvincent 0:05ccbd4f84f1 27 */
hendrikvincent 0:05ccbd4f84f1 28 #ifndef INTERFACE
hendrikvincent 0:05ccbd4f84f1 29 #define INTERFACE
hendrikvincent 0:05ccbd4f84f1 30
hendrikvincent 0:05ccbd4f84f1 31 /**
hendrikvincent 0:05ccbd4f84f1 32 *Includes
hendrikvincent 0:05ccbd4f84f1 33 */
hendrikvincent 0:05ccbd4f84f1 34 #include "mbed.h"
hendrikvincent 0:05ccbd4f84f1 35 #include "platform.h"
hendrikvincent 0:05ccbd4f84f1 36 #include "rpc.h"
hendrikvincent 0:05ccbd4f84f1 37 #include "RPCFunction.h"
hendrikvincent 0:05ccbd4f84f1 38 #include "RPCVariable.h"
hendrikvincent 0:05ccbd4f84f1 39
hendrikvincent 0:05ccbd4f84f1 40
hendrikvincent 0:05ccbd4f84f1 41 namespace mbed{
hendrikvincent 0:05ccbd4f84f1 42 /**
hendrikvincent 0:05ccbd4f84f1 43 *Provides an Interface to mbed over RPC.
hendrikvincent 0:05ccbd4f84f1 44 *
hendrikvincent 0:05ccbd4f84f1 45 *For the chosen communication type this class sets up the necessary interrupts to receive RPC messages. Receives the messages, passes them to the rpc function and then returns the result.
hendrikvincent 0:05ccbd4f84f1 46 */
hendrikvincent 0:05ccbd4f84f1 47 class SerialRPCInterface{
hendrikvincent 0:05ccbd4f84f1 48 public:
hendrikvincent 0:05ccbd4f84f1 49 /**
hendrikvincent 0:05ccbd4f84f1 50 *Constructor
hendrikvincent 0:05ccbd4f84f1 51 *
hendrikvincent 0:05ccbd4f84f1 52 *Sets up RPC communication using serial communication.
hendrikvincent 0:05ccbd4f84f1 53 *
hendrikvincent 0:05ccbd4f84f1 54 *@param tx The transmit pin of the serial port.
hendrikvincent 0:05ccbd4f84f1 55 *@param rx The receive pin of the serial port.
hendrikvincent 0:05ccbd4f84f1 56 *@param baud Set the baud rate, default is 9600.
hendrikvincent 0:05ccbd4f84f1 57 */
hendrikvincent 0:05ccbd4f84f1 58 SerialRPCInterface(PinName tx, PinName rx, int baud = 9600);
hendrikvincent 0:05ccbd4f84f1 59
hendrikvincent 0:05ccbd4f84f1 60 /**
hendrikvincent 0:05ccbd4f84f1 61 *Disable the RPC.
hendrikvincent 0:05ccbd4f84f1 62 *
hendrikvincent 0:05ccbd4f84f1 63 *This will stop RPC messages being recevied and interpreted by this library. This might be used to prevent RPC commands interrupting an important piece of code on mbed.
hendrikvincent 0:05ccbd4f84f1 64 */
hendrikvincent 0:05ccbd4f84f1 65 void Disable(void);
hendrikvincent 0:05ccbd4f84f1 66
hendrikvincent 0:05ccbd4f84f1 67 /**
hendrikvincent 0:05ccbd4f84f1 68 *Enable the RPC
hendrikvincent 0:05ccbd4f84f1 69 *
hendrikvincent 0:05ccbd4f84f1 70 *This will set this class to receiving and executing RPC commands. The class starts in this mode so this function only needs to be called if you have previosuly disabled the RPC.
hendrikvincent 0:05ccbd4f84f1 71 *
hendrikvincent 0:05ccbd4f84f1 72 */
hendrikvincent 0:05ccbd4f84f1 73 void Enable(void);
hendrikvincent 0:05ccbd4f84f1 74
hendrikvincent 0:05ccbd4f84f1 75 //The Serial Port
hendrikvincent 0:05ccbd4f84f1 76 Serial pc;
hendrikvincent 0:05ccbd4f84f1 77
hendrikvincent 0:05ccbd4f84f1 78
hendrikvincent 0:05ccbd4f84f1 79 private:
hendrikvincent 0:05ccbd4f84f1 80 //Handle messgaes and take appropriate action
hendrikvincent 0:05ccbd4f84f1 81 void _MsgProcess(void);
hendrikvincent 0:05ccbd4f84f1 82 void _RegClasses(void);
hendrikvincent 0:05ccbd4f84f1 83 void _RPCSerial();
hendrikvincent 0:05ccbd4f84f1 84 bool _enabled;
hendrikvincent 0:05ccbd4f84f1 85 char _command[256];
hendrikvincent 0:05ccbd4f84f1 86 char _response[256];
hendrikvincent 0:05ccbd4f84f1 87 bool _RPCflag;
hendrikvincent 0:05ccbd4f84f1 88 };
hendrikvincent 0:05ccbd4f84f1 89 }
hendrikvincent 0:05ccbd4f84f1 90 #endif