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 * @section Description
hendrikvincent 0:05ccbd4f84f1 24 *This class provides an object which can be called over RPC to run the function which is attached to it.
hendrikvincent 0:05ccbd4f84f1 25 *
hendrikvincent 0:05ccbd4f84f1 26 */
hendrikvincent 0:05ccbd4f84f1 27 #ifndef RPCFUNCTION_RPC
hendrikvincent 0:05ccbd4f84f1 28 #define RPCFUNCTION_RPC
hendrikvincent 0:05ccbd4f84f1 29 /**
hendrikvincent 0:05ccbd4f84f1 30 *Includes
hendrikvincent 0:05ccbd4f84f1 31 */
hendrikvincent 0:05ccbd4f84f1 32 #include "mbed.h"
hendrikvincent 0:05ccbd4f84f1 33 #include "platform.h"
hendrikvincent 0:05ccbd4f84f1 34 #include "rpc.h"
hendrikvincent 0:05ccbd4f84f1 35 #define STR_LEN 64
hendrikvincent 0:05ccbd4f84f1 36 #include "platform.h"
hendrikvincent 0:05ccbd4f84f1 37
hendrikvincent 0:05ccbd4f84f1 38 #ifdef MBED_RPC
hendrikvincent 0:05ccbd4f84f1 39 #include "rpc.h"
hendrikvincent 0:05ccbd4f84f1 40 #endif
hendrikvincent 0:05ccbd4f84f1 41 /**
hendrikvincent 0:05ccbd4f84f1 42 *
hendrikvincent 0:05ccbd4f84f1 43 *Class to call custom functions over RPC
hendrikvincent 0:05ccbd4f84f1 44 *
hendrikvincent 0:05ccbd4f84f1 45 */
hendrikvincent 0:05ccbd4f84f1 46 class RPCFunction : public Base{
hendrikvincent 0:05ccbd4f84f1 47 public:
hendrikvincent 0:05ccbd4f84f1 48 /**
hendrikvincent 0:05ccbd4f84f1 49 * Constructor
hendrikvincent 0:05ccbd4f84f1 50 *
hendrikvincent 0:05ccbd4f84f1 51 *@param f Pointer to the function to call. the function must be of the form void foo(char * input, char * output)
hendrikvincent 0:05ccbd4f84f1 52 *@param name The name of this object
hendrikvincent 0:05ccbd4f84f1 53 */
hendrikvincent 0:05ccbd4f84f1 54 RPCFunction(void(*f)(char*, char*), const char* = NULL);
hendrikvincent 0:05ccbd4f84f1 55
hendrikvincent 0:05ccbd4f84f1 56 /**
hendrikvincent 0:05ccbd4f84f1 57 *run
hendrikvincent 0:05ccbd4f84f1 58 *
hendrikvincent 0:05ccbd4f84f1 59 *Calls the attached function passing the string in but doesn't return the result.
hendrikvincent 0:05ccbd4f84f1 60 *@param str The string to be passed into the attached function. This string can consist of any ASCII characters apart from escape codes. The usual limtations on argument content for RPC strings has been removed
hendrikvincent 0:05ccbd4f84f1 61 *@return A string output from the function
hendrikvincent 0:05ccbd4f84f1 62 */
hendrikvincent 0:05ccbd4f84f1 63 char * run(char* str);
hendrikvincent 0:05ccbd4f84f1 64
hendrikvincent 0:05ccbd4f84f1 65 /**
hendrikvincent 0:05ccbd4f84f1 66 *Reads the value of the output string.
hendrikvincent 0:05ccbd4f84f1 67 *
hendrikvincent 0:05ccbd4f84f1 68 *@returns the string outputted from the last time the function was called
hendrikvincent 0:05ccbd4f84f1 69 */
hendrikvincent 0:05ccbd4f84f1 70 char * read();
hendrikvincent 0:05ccbd4f84f1 71
hendrikvincent 0:05ccbd4f84f1 72
hendrikvincent 0:05ccbd4f84f1 73 #ifdef MBED_RPC
hendrikvincent 0:05ccbd4f84f1 74 virtual const struct rpc_method *get_rpc_methods();
hendrikvincent 0:05ccbd4f84f1 75 #endif
hendrikvincent 0:05ccbd4f84f1 76
hendrikvincent 0:05ccbd4f84f1 77 private:
hendrikvincent 0:05ccbd4f84f1 78 void (*_ftr)(char*, char*);
hendrikvincent 0:05ccbd4f84f1 79
hendrikvincent 0:05ccbd4f84f1 80 char _input[STR_LEN];
hendrikvincent 0:05ccbd4f84f1 81 char _output[STR_LEN];
hendrikvincent 0:05ccbd4f84f1 82
hendrikvincent 0:05ccbd4f84f1 83 };
hendrikvincent 0:05ccbd4f84f1 84 #endif