Includes library modifications to allow access to AIN_4 (AIN_0 / 5)

Committer:
bryantaylor
Date:
Tue Sep 20 21:26:12 2016 +0000
Revision:
0:eafc3fd41f75
hackathon

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bryantaylor 0:eafc3fd41f75 1 /* mbed Microcontroller Library
bryantaylor 0:eafc3fd41f75 2 * Copyright (c) 2006-2013 ARM Limited
bryantaylor 0:eafc3fd41f75 3 *
bryantaylor 0:eafc3fd41f75 4 * Licensed under the Apache License, Version 2.0 (the "License");
bryantaylor 0:eafc3fd41f75 5 * you may not use this file except in compliance with the License.
bryantaylor 0:eafc3fd41f75 6 * You may obtain a copy of the License at
bryantaylor 0:eafc3fd41f75 7 *
bryantaylor 0:eafc3fd41f75 8 * http://www.apache.org/licenses/LICENSE-2.0
bryantaylor 0:eafc3fd41f75 9 *
bryantaylor 0:eafc3fd41f75 10 * Unless required by applicable law or agreed to in writing, software
bryantaylor 0:eafc3fd41f75 11 * distributed under the License is distributed on an "AS IS" BASIS,
bryantaylor 0:eafc3fd41f75 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
bryantaylor 0:eafc3fd41f75 13 * See the License for the specific language governing permissions and
bryantaylor 0:eafc3fd41f75 14 * limitations under the License.
bryantaylor 0:eafc3fd41f75 15 */
bryantaylor 0:eafc3fd41f75 16 #ifndef RPCFUNCTION_RPC
bryantaylor 0:eafc3fd41f75 17 #define RPCFUNCTION_RPC
bryantaylor 0:eafc3fd41f75 18
bryantaylor 0:eafc3fd41f75 19 #include "rpc.h"
bryantaylor 0:eafc3fd41f75 20 #define STR_LEN 64
bryantaylor 0:eafc3fd41f75 21
bryantaylor 0:eafc3fd41f75 22 namespace mbed {
bryantaylor 0:eafc3fd41f75 23
bryantaylor 0:eafc3fd41f75 24 /**
bryantaylor 0:eafc3fd41f75 25 *
bryantaylor 0:eafc3fd41f75 26 *Class to call custom functions over RPC
bryantaylor 0:eafc3fd41f75 27 *
bryantaylor 0:eafc3fd41f75 28 */
bryantaylor 0:eafc3fd41f75 29 class RPCFunction: public RPC {
bryantaylor 0:eafc3fd41f75 30 public:
bryantaylor 0:eafc3fd41f75 31 /**
bryantaylor 0:eafc3fd41f75 32 * Constructor
bryantaylor 0:eafc3fd41f75 33 *
bryantaylor 0:eafc3fd41f75 34 *@param f Pointer to the function to call. the function must be of the form void foo(char * input, char * output)
bryantaylor 0:eafc3fd41f75 35 *@param name The name of this object
bryantaylor 0:eafc3fd41f75 36 */
bryantaylor 0:eafc3fd41f75 37 RPCFunction(void (*f)(Arguments*, Reply*), const char* = NULL);
bryantaylor 0:eafc3fd41f75 38
bryantaylor 0:eafc3fd41f75 39 /**
bryantaylor 0:eafc3fd41f75 40 *run
bryantaylor 0:eafc3fd41f75 41 *
bryantaylor 0:eafc3fd41f75 42 *Calls the attached function passing the string in but doesn't return the result.
bryantaylor 0:eafc3fd41f75 43 *@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
bryantaylor 0:eafc3fd41f75 44 *@return A string output from the function
bryantaylor 0:eafc3fd41f75 45 */
bryantaylor 0:eafc3fd41f75 46 void run(Arguments* args, Reply* r);
bryantaylor 0:eafc3fd41f75 47
bryantaylor 0:eafc3fd41f75 48 virtual const struct rpc_method *get_rpc_methods();
bryantaylor 0:eafc3fd41f75 49
bryantaylor 0:eafc3fd41f75 50 private:
bryantaylor 0:eafc3fd41f75 51 void (*_ftr)(Arguments*, Reply*);
bryantaylor 0:eafc3fd41f75 52
bryantaylor 0:eafc3fd41f75 53 char _input[STR_LEN];
bryantaylor 0:eafc3fd41f75 54 char _output[STR_LEN];
bryantaylor 0:eafc3fd41f75 55 };
bryantaylor 0:eafc3fd41f75 56
bryantaylor 0:eafc3fd41f75 57 }
bryantaylor 0:eafc3fd41f75 58
bryantaylor 0:eafc3fd41f75 59 #endif