project wireless

Dependencies:   mbed nRF24L01P nRF24L01P_Hello_World TextLCD

Fork of nRF24L01P_Hello_World by Owen Edwards

Committer:
ninoderkinderen
Date:
Tue May 19 17:26:07 2015 +0000
Revision:
4:da91478e0ca4
uitvoer - wireless

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ninoderkinderen 4:da91478e0ca4 1 /**
ninoderkinderen 4:da91478e0ca4 2 * @section LICENSE
ninoderkinderen 4:da91478e0ca4 3 *Copyright (c) 2010 ARM Ltd.
ninoderkinderen 4:da91478e0ca4 4 *
ninoderkinderen 4:da91478e0ca4 5 *Permission is hereby granted, free of charge, to any person obtaining a copy
ninoderkinderen 4:da91478e0ca4 6 *of this software and associated documentation files (the "Software"), to deal
ninoderkinderen 4:da91478e0ca4 7 *in the Software without restriction, including without limitation the rights
ninoderkinderen 4:da91478e0ca4 8 *to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
ninoderkinderen 4:da91478e0ca4 9 *copies of the Software, and to permit persons to whom the Software is
ninoderkinderen 4:da91478e0ca4 10 *furnished to do so, subject to the following conditions:
ninoderkinderen 4:da91478e0ca4 11 *
ninoderkinderen 4:da91478e0ca4 12 *The above copyright notice and this permission notice shall be included in
ninoderkinderen 4:da91478e0ca4 13 *all copies or substantial portions of the Software.
ninoderkinderen 4:da91478e0ca4 14 *
ninoderkinderen 4:da91478e0ca4 15 *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
ninoderkinderen 4:da91478e0ca4 16 *IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
ninoderkinderen 4:da91478e0ca4 17 *FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
ninoderkinderen 4:da91478e0ca4 18 *AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
ninoderkinderen 4:da91478e0ca4 19 *LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
ninoderkinderen 4:da91478e0ca4 20 *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
ninoderkinderen 4:da91478e0ca4 21 *THE SOFTWARE.
ninoderkinderen 4:da91478e0ca4 22 *
ninoderkinderen 4:da91478e0ca4 23 * @section Description
ninoderkinderen 4:da91478e0ca4 24 *This class provides an object which can be called over RPC to run the function which is attached to it.
ninoderkinderen 4:da91478e0ca4 25 *
ninoderkinderen 4:da91478e0ca4 26 */
ninoderkinderen 4:da91478e0ca4 27 #ifndef RPCFUNCTION_RPC
ninoderkinderen 4:da91478e0ca4 28 #define RPCFUNCTION_RPC
ninoderkinderen 4:da91478e0ca4 29 /**
ninoderkinderen 4:da91478e0ca4 30 *Includes
ninoderkinderen 4:da91478e0ca4 31 */
ninoderkinderen 4:da91478e0ca4 32 #include "mbed.h"
ninoderkinderen 4:da91478e0ca4 33 #include "platform.h"
ninoderkinderen 4:da91478e0ca4 34 #include "rpc.h"
ninoderkinderen 4:da91478e0ca4 35 #define STR_LEN 64
ninoderkinderen 4:da91478e0ca4 36 #include "platform.h"
ninoderkinderen 4:da91478e0ca4 37
ninoderkinderen 4:da91478e0ca4 38 #ifdef MBED_RPC
ninoderkinderen 4:da91478e0ca4 39 #include "rpc.h"
ninoderkinderen 4:da91478e0ca4 40 #endif
ninoderkinderen 4:da91478e0ca4 41 /**
ninoderkinderen 4:da91478e0ca4 42 *
ninoderkinderen 4:da91478e0ca4 43 *Class to call custom functions over RPC
ninoderkinderen 4:da91478e0ca4 44 *
ninoderkinderen 4:da91478e0ca4 45 */
ninoderkinderen 4:da91478e0ca4 46 class RPCFunction : public Base{
ninoderkinderen 4:da91478e0ca4 47 public:
ninoderkinderen 4:da91478e0ca4 48 /**
ninoderkinderen 4:da91478e0ca4 49 * Constructor
ninoderkinderen 4:da91478e0ca4 50 *
ninoderkinderen 4:da91478e0ca4 51 *@param f Pointer to the function to call. the function must be of the form void foo(char * input, char * output)
ninoderkinderen 4:da91478e0ca4 52 *@param name The name of this object
ninoderkinderen 4:da91478e0ca4 53 */
ninoderkinderen 4:da91478e0ca4 54 RPCFunction(void(*f)(char*, char*), const char* = NULL);
ninoderkinderen 4:da91478e0ca4 55
ninoderkinderen 4:da91478e0ca4 56 /**
ninoderkinderen 4:da91478e0ca4 57 *run
ninoderkinderen 4:da91478e0ca4 58 *
ninoderkinderen 4:da91478e0ca4 59 *Calls the attached function passing the string in but doesn't return the result.
ninoderkinderen 4:da91478e0ca4 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
ninoderkinderen 4:da91478e0ca4 61 *@return A string output from the function
ninoderkinderen 4:da91478e0ca4 62 */
ninoderkinderen 4:da91478e0ca4 63 char * run(char* str);
ninoderkinderen 4:da91478e0ca4 64
ninoderkinderen 4:da91478e0ca4 65 /**
ninoderkinderen 4:da91478e0ca4 66 *Reads the value of the output string.
ninoderkinderen 4:da91478e0ca4 67 *
ninoderkinderen 4:da91478e0ca4 68 *@returns the string outputted from the last time the function was called
ninoderkinderen 4:da91478e0ca4 69 */
ninoderkinderen 4:da91478e0ca4 70 char * read();
ninoderkinderen 4:da91478e0ca4 71
ninoderkinderen 4:da91478e0ca4 72
ninoderkinderen 4:da91478e0ca4 73 #ifdef MBED_RPC
ninoderkinderen 4:da91478e0ca4 74 virtual const struct rpc_method *get_rpc_methods();
ninoderkinderen 4:da91478e0ca4 75 #endif
ninoderkinderen 4:da91478e0ca4 76
ninoderkinderen 4:da91478e0ca4 77 private:
ninoderkinderen 4:da91478e0ca4 78 void (*_ftr)(char*, char*);
ninoderkinderen 4:da91478e0ca4 79
ninoderkinderen 4:da91478e0ca4 80 char _input[STR_LEN];
ninoderkinderen 4:da91478e0ca4 81 char _output[STR_LEN];
ninoderkinderen 4:da91478e0ca4 82
ninoderkinderen 4:da91478e0ca4 83 };
ninoderkinderen 4:da91478e0ca4 84 #endif