Small Testprogram to have WebAccess via Webserver to a 433Mhz tranmitter to control remotly some devices from remote, with TFTP, NTP and RMF. This could be a base to develop applications.

Dependencies:   ChaNFSSD TFTPServer RMFWeb

Dependents:   RMFWeb

Committer:
ED7418
Date:
Mon Jun 16 07:40:08 2014 +0000
Revision:
1:809b59c7a800
Parent:
0:51f1ef89ec7b
mbed-lib and other libs are a based on a project, published in a Elektor-book "ARM-microkontroller Part II".

Who changed what in which revision?

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