Jarda Pajskr / freemaster_lib

Dependents:   FreeMASTER_HelloWorld FreeMASTER_HelloWorld2 FreeMASTER_HelloWorld3

Fork of freemaster_lib by Jarda Pajskr

Committer:
JardaPajskr
Date:
Mon May 05 20:13:09 2014 +0000
Revision:
0:fb135bf60f82
Child:
1:5033fe82d4c2
defined FMSTR class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JardaPajskr 0:fb135bf60f82 1 #ifndef MBED_FREEMASTER_H
JardaPajskr 0:fb135bf60f82 2 #define MBED_FREEMASTER_H
JardaPajskr 0:fb135bf60f82 3
JardaPajskr 0:fb135bf60f82 4 #include "platform.h"
JardaPajskr 0:fb135bf60f82 5
JardaPajskr 0:fb135bf60f82 6 #if DEVICE_SERIAL
JardaPajskr 0:fb135bf60f82 7
JardaPajskr 0:fb135bf60f82 8 #include "serial_api.h"
JardaPajskr 0:fb135bf60f82 9 #include "freemaster.h"
JardaPajskr 0:fb135bf60f82 10
JardaPajskr 0:fb135bf60f82 11 namespace mbed {
JardaPajskr 0:fb135bf60f82 12
JardaPajskr 0:fb135bf60f82 13 /** A FreeMASTER serial driver
JardaPajskr 0:fb135bf60f82 14 *
JardaPajskr 0:fb135bf60f82 15 * Can be used for debugging code over the serial line
JardaPajskr 0:fb135bf60f82 16 *
JardaPajskr 0:fb135bf60f82 17 * Example:
JardaPajskr 0:fb135bf60f82 18 * @code
JardaPajskr 0:fb135bf60f82 19 * // Set up the FreeMASTER serial driver
JardaPajskr 0:fb135bf60f82 20 *
JardaPajskr 0:fb135bf60f82 21 * #include "mbed.h"
JardaPajskr 0:fb135bf60f82 22 * #include "freemaster_class.h"
JardaPajskr 0:fb135bf60f82 23 *
JardaPajskr 0:fb135bf60f82 24 * Freemaster fm(USBTX, USBRX);
JardaPajskr 0:fb135bf60f82 25 *
JardaPajskr 0:fb135bf60f82 26 * FMSTR_TSA_TABLE_LIST_BEGIN()
JardaPajskr 0:fb135bf60f82 27 * FMSTR_TSA_TABLE_LIST_END()
JardaPajskr 0:fb135bf60f82 28 *
JardaPajskr 0:fb135bf60f82 29 * //define global variables
JardaPajskr 0:fb135bf60f82 30 * volatile unsigned char example_var8;
JardaPajskr 0:fb135bf60f82 31 * volatile unsigned short example_var16;
JardaPajskr 0:fb135bf60f82 32 *
JardaPajskr 0:fb135bf60f82 33 * int main() {
JardaPajskr 0:fb135bf60f82 34 * //register global or static variables
JardaPajskr 0:fb135bf60f82 35 * fm.TsaAddVar(FMSTR_TSA_RW_VAR_CFG(example_var8,FMSTR_TSA_UINT8));
JardaPajskr 0:fb135bf60f82 36 * //register read only variable
JardaPajskr 0:fb135bf60f82 37 * fm.TsaAddVar(FMSTR_TSA_RO_VAR_CFG(example_var16,FMSTR_TSA_UINT16));
JardaPajskr 0:fb135bf60f82 38 * while(1)
JardaPajskr 0:fb135bf60f82 39 * {
JardaPajskr 0:fb135bf60f82 40 * //your application
JardaPajskr 0:fb135bf60f82 41 * }
JardaPajskr 0:fb135bf60f82 42 * }
JardaPajskr 0:fb135bf60f82 43 * @endcode
JardaPajskr 0:fb135bf60f82 44 */
JardaPajskr 0:fb135bf60f82 45 class Freemaster {
JardaPajskr 0:fb135bf60f82 46
JardaPajskr 0:fb135bf60f82 47 public:
JardaPajskr 0:fb135bf60f82 48 Freemaster(PinName tx, PinName rx, uint32_t tsaMembers = 20, uint32_t recBufferSize = 1024, uint32_t flags = 0);
JardaPajskr 0:fb135bf60f82 49 void baud(int baudrate);
JardaPajskr 0:fb135bf60f82 50 void Recorder(void);
JardaPajskr 0:fb135bf60f82 51 void Poll(void);
JardaPajskr 0:fb135bf60f82 52
JardaPajskr 0:fb135bf60f82 53 FMSTR_BOOL TsaAddVar(FMSTR_TSATBL_STRPTR name, FMSTR_TSATBL_STRPTR type, FMSTR_TSATBL_VOIDPTR addr, FMSTR_TSATBL_VOIDPTR info);
JardaPajskr 0:fb135bf60f82 54
JardaPajskr 0:fb135bf60f82 55 static void _irq_handler(uint32_t id, SerialIrq irq_type);
JardaPajskr 0:fb135bf60f82 56 protected:
JardaPajskr 0:fb135bf60f82 57 serial_t _serial;
JardaPajskr 0:fb135bf60f82 58 int _baud;
JardaPajskr 0:fb135bf60f82 59 void* tsaTable;
JardaPajskr 0:fb135bf60f82 60 void* recBuf;
JardaPajskr 0:fb135bf60f82 61
JardaPajskr 0:fb135bf60f82 62 };
JardaPajskr 0:fb135bf60f82 63
JardaPajskr 0:fb135bf60f82 64 } // namespace mbed
JardaPajskr 0:fb135bf60f82 65 #endif
JardaPajskr 0:fb135bf60f82 66
JardaPajskr 0:fb135bf60f82 67 #endif