library to modify and read program variable in runtime from a serial console. You can reset as well the mbed from the console without pushing buttons. Handy for debugging from the online compiler as you can change the behavior of the program without need to recompile each time.

Committer:
julmbed
Date:
Mon Aug 25 10:45:03 2014 +0000
Revision:
2:a59207652720
Parent:
0:85afbf3c9fad
Child:
3:cf43e6de918e
worker como  static, lanzandolo de manera independiente en el main. admite tres comandos, via ->DO que son set/get-dump/reset para carge de nuevo programa en el mbed sin darle al boton

Who changed what in which revision?

UserRevisionLine numberNew contents of line
julmbed 0:85afbf3c9fad 1 #ifndef VARSTORE_H
julmbed 0:85afbf3c9fad 2 #define VARSTORE_H
julmbed 0:85afbf3c9fad 3
julmbed 0:85afbf3c9fad 4 #include "mbed.h"
julmbed 0:85afbf3c9fad 5 #include "VarItems.h"
julmbed 0:85afbf3c9fad 6
julmbed 0:85afbf3c9fad 7
julmbed 0:85afbf3c9fad 8 #define SZ 10
julmbed 0:85afbf3c9fad 9
julmbed 0:85afbf3c9fad 10 class VarStore
julmbed 0:85afbf3c9fad 11 {
julmbed 0:85afbf3c9fad 12 public:
julmbed 2:a59207652720 13 /*******************************
julmbed 2:a59207652720 14 *
julmbed 2:a59207652720 15 *Constructor
julmbed 2:a59207652720 16 ********************************/
julmbed 0:85afbf3c9fad 17
julmbed 0:85afbf3c9fad 18 VarStore(Serial *ser);
julmbed 2:a59207652720 19 /*******************************
julmbed 2:a59207652720 20 *
julmbed 2:a59207652720 21 *Destructor
julmbed 2:a59207652720 22 ********************************/
julmbed 0:85afbf3c9fad 23
julmbed 0:85afbf3c9fad 24 virtual ~VarStore();
julmbed 2:a59207652720 25 /*******************************
julmbed 2:a59207652720 26 *
julmbed 2:a59207652720 27 *asigna valor a una variable/array o retorna ERR
julmbed 2:a59207652720 28 ********************************/
julmbed 0:85afbf3c9fad 29
julmbed 2:a59207652720 30 char * Set(char *Input);
julmbed 0:85afbf3c9fad 31
julmbed 2:a59207652720 32 /*******************************
julmbed 2:a59207652720 33 *
julmbed 2:a59207652720 34 *devuelve en un string el contenido de una variable
julmbed 2:a59207652720 35 ********************************/
julmbed 0:85afbf3c9fad 36
julmbed 0:85afbf3c9fad 37 char* Get(char *Name);
julmbed 0:85afbf3c9fad 38
julmbed 2:a59207652720 39 /*******************************
julmbed 2:a59207652720 40 *carga en el store una variable
julmbed 2:a59207652720 41 *
julmbed 2:a59207652720 42 ********************************/
julmbed 0:85afbf3c9fad 43
julmbed 0:85afbf3c9fad 44 int Load(char *Name, void *VarPtr,VarTypes VarType );
julmbed 2:a59207652720 45
julmbed 2:a59207652720 46 /*******************************
julmbed 2:a59207652720 47 *
julmbed 2:a59207652720 48 *carga en el store una variable/array
julmbed 2:a59207652720 49 ********************************/
julmbed 0:85afbf3c9fad 50
julmbed 0:85afbf3c9fad 51 int Load(char *Name, void *VarPtr,VarTypes VarType, int Size );
julmbed 0:85afbf3c9fad 52
julmbed 2:a59207652720 53 /*******************************
julmbed 2:a59207652720 54 * Proceso que less del un serial para modificar
julmbed 2:a59207652720 55 * los valores de las variables.
julmbed 2:a59207652720 56 *
julmbed 2:a59207652720 57 ********************************/
julmbed 0:85afbf3c9fad 58
julmbed 2:a59207652720 59 static void Worker(void const *args);
julmbed 2:a59207652720 60
julmbed 0:85afbf3c9fad 61
julmbed 0:85afbf3c9fad 62
julmbed 0:85afbf3c9fad 63 protected:
julmbed 2:a59207652720 64
julmbed 0:85afbf3c9fad 65 private:
julmbed 2:a59207652720 66 /*******************************
julmbed 2:a59207652720 67 * Busca una variable con nombre name.
julmbed 2:a59207652720 68 *
julmbed 2:a59207652720 69 ********************************/
julmbed 0:85afbf3c9fad 70
julmbed 0:85afbf3c9fad 71 VarItem *GetVar(char *name);
julmbed 0:85afbf3c9fad 72
julmbed 2:a59207652720 73 /*******************************
julmbed 2:a59207652720 74 * Llamado por worker para
julmbed 2:a59207652720 75 * llevar a cabo la acción
julmbed 2:a59207652720 76 *
julmbed 2:a59207652720 77 ********************************/
julmbed 2:a59207652720 78 char *Do(char *str, VarStore *MyThis);
julmbed 2:a59207652720 79 /*******************************
julmbed 2:a59207652720 80 *
julmbed 2:a59207652720 81 *
julmbed 2:a59207652720 82 ********************************/
julmbed 0:85afbf3c9fad 83 VarItem Store[SZ];
julmbed 0:85afbf3c9fad 84 int VarCounter;
julmbed 0:85afbf3c9fad 85 Serial *pc;
julmbed 0:85afbf3c9fad 86
julmbed 2:a59207652720 87
julmbed 0:85afbf3c9fad 88 };
julmbed 0:85afbf3c9fad 89
julmbed 0:85afbf3c9fad 90 #endif // VARSTORE_H