MMEx with SPI Slave to allow legacy devices to communicate with modern media such as USB, SD cards, the internet and all of the mbed\'s other interfaces
Dependencies: NetServices MSCUsbHost mbed TMP102 SDFileSystem
pfuncs.h@0:67a55a82ce06, 2011-02-27 (annotated)
- Committer:
- DeMein
- Date:
- Sun Feb 27 18:54:40 2011 +0000
- Revision:
- 0:67a55a82ce06
Version as submitted to the NXP Design Challenge
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DeMein | 0:67a55a82ce06 | 1 | /* MMEx for MBED - Parameter Command processing |
DeMein | 0:67a55a82ce06 | 2 | * Copyright (c) 2011 MK |
DeMein | 0:67a55a82ce06 | 3 | * |
DeMein | 0:67a55a82ce06 | 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
DeMein | 0:67a55a82ce06 | 5 | * of this software and associated documentation files (the "Software"), to deal |
DeMein | 0:67a55a82ce06 | 6 | * in the Software without restriction, including without limitation the rights |
DeMein | 0:67a55a82ce06 | 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
DeMein | 0:67a55a82ce06 | 8 | * copies of the Software, and to permit persons to whom the Software is |
DeMein | 0:67a55a82ce06 | 9 | * furnished to do so, subject to the following conditions: |
DeMein | 0:67a55a82ce06 | 10 | * |
DeMein | 0:67a55a82ce06 | 11 | * The above copyright notice and this permission notice shall be included in |
DeMein | 0:67a55a82ce06 | 12 | * all copies or substantial portions of the Software. |
DeMein | 0:67a55a82ce06 | 13 | * |
DeMein | 0:67a55a82ce06 | 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
DeMein | 0:67a55a82ce06 | 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
DeMein | 0:67a55a82ce06 | 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
DeMein | 0:67a55a82ce06 | 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
DeMein | 0:67a55a82ce06 | 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
DeMein | 0:67a55a82ce06 | 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
DeMein | 0:67a55a82ce06 | 20 | * THE SOFTWARE. |
DeMein | 0:67a55a82ce06 | 21 | */ |
DeMein | 0:67a55a82ce06 | 22 | |
DeMein | 0:67a55a82ce06 | 23 | /** |
DeMein | 0:67a55a82ce06 | 24 | \file pfuncs.h |
DeMein | 0:67a55a82ce06 | 25 | \brief Commands starting with P for processing Parameters |
DeMein | 0:67a55a82ce06 | 26 | */ |
DeMein | 0:67a55a82ce06 | 27 | |
DeMein | 0:67a55a82ce06 | 28 | #ifndef PFUNCS_H |
DeMein | 0:67a55a82ce06 | 29 | #define PFUNCS_H |
DeMein | 0:67a55a82ce06 | 30 | |
DeMein | 0:67a55a82ce06 | 31 | #include "mmex.h" |
DeMein | 0:67a55a82ce06 | 32 | #include <string> // allow use of string classes |
DeMein | 0:67a55a82ce06 | 33 | |
DeMein | 0:67a55a82ce06 | 34 | // definition of the P-functions |
DeMein | 0:67a55a82ce06 | 35 | #define pclear 'C' // Clear Parameter |
DeMein | 0:67a55a82ce06 | 36 | #define pset 'S' // Set Parameter to value |
DeMein | 0:67a55a82ce06 | 37 | #define pget 'G' // Get Parameter |
DeMein | 0:67a55a82ce06 | 38 | #define plen 'L' // return the length of the parameter string |
DeMein | 0:67a55a82ce06 | 39 | #define psave 'V' // Save all parameters to LocalDisk |
DeMein | 0:67a55a82ce06 | 40 | #define pread 'R' // Read all parameters from LocalDisk |
DeMein | 0:67a55a82ce06 | 41 | #define pxeq 'X' // Execute parameter string as command |
DeMein | 0:67a55a82ce06 | 42 | |
DeMein | 0:67a55a82ce06 | 43 | // definitions for the user defined parameters |
DeMein | 0:67a55a82ce06 | 44 | #define par_0 '0' // 0, user parameter |
DeMein | 0:67a55a82ce06 | 45 | #define par_1 '1' // 1, user parameter |
DeMein | 0:67a55a82ce06 | 46 | #define par_2 '2' // 2, user parameter |
DeMein | 0:67a55a82ce06 | 47 | #define par_3 '3' // 3, user parameter |
DeMein | 0:67a55a82ce06 | 48 | #define par_4 '4' // 4, user parameter |
DeMein | 0:67a55a82ce06 | 49 | #define par_5 '5' // 5, user parameter |
DeMein | 0:67a55a82ce06 | 50 | #define par_6 '6' // 6, user parameter |
DeMein | 0:67a55a82ce06 | 51 | #define par_7 '7' // 7, user parameter |
DeMein | 0:67a55a82ce06 | 52 | #define par_8 '8' // 8, user parameter |
DeMein | 0:67a55a82ce06 | 53 | #define par_9 '9' // 9, user parameter |
DeMein | 0:67a55a82ce06 | 54 | |
DeMein | 0:67a55a82ce06 | 55 | // other parameters predefined |
DeMein | 0:67a55a82ce06 | 56 | #define par_E 'E' // (10) E: most recent Error message |
DeMein | 0:67a55a82ce06 | 57 | #define par_R 'R' // (11) R: RPC Command string |
DeMein | 0:67a55a82ce06 | 58 | #define par_S 'S' // (12) S: RPC Result string |
DeMein | 0:67a55a82ce06 | 59 | #define par_C 'C' // (13) C: Most recent MMEx command |
DeMein | 0:67a55a82ce06 | 60 | #define par_X 'X' // (14) X: Auto execute command string |
DeMein | 0:67a55a82ce06 | 61 | |
DeMein | 0:67a55a82ce06 | 62 | // Networking parameters |
DeMein | 0:67a55a82ce06 | 63 | #define par_I 'I' // (15) I: Network IP Address |
DeMein | 0:67a55a82ce06 | 64 | #define par_J 'J' // (16) J: Network IP Address when no DHCP |
DeMein | 0:67a55a82ce06 | 65 | #define par_H 'H' // (17) H: Network Host name |
DeMein | 0:67a55a82ce06 | 66 | #define par_M 'M' // (18) M: Network MAC hardware address |
DeMein | 0:67a55a82ce06 | 67 | #define par_U 'U' // (19) U: Network URL |
DeMein | 0:67a55a82ce06 | 68 | #define par_N 'N' // (20) N: Networkl User name |
DeMein | 0:67a55a82ce06 | 69 | #define par_P 'P' // (21) P: Network Password |
DeMein | 0:67a55a82ce06 | 70 | |
DeMein | 0:67a55a82ce06 | 71 | #define par_E_ 10 // (10) E: most recent Error message |
DeMein | 0:67a55a82ce06 | 72 | #define par_R_ 11 // (11) R: RPC Command string |
DeMein | 0:67a55a82ce06 | 73 | #define par_S_ 12 // (12) S: RPC Result string |
DeMein | 0:67a55a82ce06 | 74 | #define par_C_ 13 // (13) C: Most recent command string |
DeMein | 0:67a55a82ce06 | 75 | #define par_X_ 14 // (14) X: Auto execute command string |
DeMein | 0:67a55a82ce06 | 76 | |
DeMein | 0:67a55a82ce06 | 77 | #define par_I_ 15 // (15) I: Network IP Address |
DeMein | 0:67a55a82ce06 | 78 | #define par_J_ 16 // (16) J: Network IP Address when no DHCP |
DeMein | 0:67a55a82ce06 | 79 | #define par_H_ 17 // (17) H: Network Host name |
DeMein | 0:67a55a82ce06 | 80 | #define par_M_ 18 // (18) M: Network MAC hardware address |
DeMein | 0:67a55a82ce06 | 81 | #define par_U_ 19 // (19) U: Network URL |
DeMein | 0:67a55a82ce06 | 82 | #define par_N_ 20 // (20) N: Networkl User name |
DeMein | 0:67a55a82ce06 | 83 | #define par_P_ 21 // (21) P: Network Password |
DeMein | 0:67a55a82ce06 | 84 | |
DeMein | 0:67a55a82ce06 | 85 | |
DeMein | 0:67a55a82ce06 | 86 | #define maxparams 21 // number of last parameter |
DeMein | 0:67a55a82ce06 | 87 | |
DeMein | 0:67a55a82ce06 | 88 | extern string param[maxparams + 1]; // our array of parameter strings |
DeMein | 0:67a55a82ce06 | 89 | |
DeMein | 0:67a55a82ce06 | 90 | int getpnum(char C); |
DeMein | 0:67a55a82ce06 | 91 | void parse_P(); |
DeMein | 0:67a55a82ce06 | 92 | void do_pclear(); |
DeMein | 0:67a55a82ce06 | 93 | void do_pset(); |
DeMein | 0:67a55a82ce06 | 94 | void do_pget(); |
DeMein | 0:67a55a82ce06 | 95 | void do_plen(); |
DeMein | 0:67a55a82ce06 | 96 | void do_psave(); |
DeMein | 0:67a55a82ce06 | 97 | void do_pread(); |
DeMein | 0:67a55a82ce06 | 98 | void do_pxeq(); |
DeMein | 0:67a55a82ce06 | 99 | void init_loadp(); |
DeMein | 0:67a55a82ce06 | 100 | void init_xeq(); |
DeMein | 0:67a55a82ce06 | 101 | void do_pdefault(); |
DeMein | 0:67a55a82ce06 | 102 | |
DeMein | 0:67a55a82ce06 | 103 | #endif |