Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: FreeMASTER_HelloWorld FreeMASTER_HelloWorld2 FreeMASTER_HelloWorld3
Fork of freemaster_lib by
class/freemaster_class.cpp@0:fb135bf60f82, 2014-05-05 (annotated)
- Committer:
- JardaPajskr
- Date:
- Mon May 05 20:13:09 2014 +0000
- Revision:
- 0:fb135bf60f82
- Child:
- 8:17470feaa6be
defined FMSTR class
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| JardaPajskr | 0:fb135bf60f82 | 1 | #include "mbed.h" |
| JardaPajskr | 0:fb135bf60f82 | 2 | |
| JardaPajskr | 0:fb135bf60f82 | 3 | #include "freemaster_class.h" |
| JardaPajskr | 0:fb135bf60f82 | 4 | |
| JardaPajskr | 0:fb135bf60f82 | 5 | #if DEVICE_SERIAL |
| JardaPajskr | 0:fb135bf60f82 | 6 | #define FMSTR_USE_TSA_DYNAMIC 1 |
| JardaPajskr | 0:fb135bf60f82 | 7 | #define FMSTR_REC_OWNBUFF 1 |
| JardaPajskr | 0:fb135bf60f82 | 8 | namespace mbed { |
| JardaPajskr | 0:fb135bf60f82 | 9 | Freemaster::Freemaster(PinName tx, PinName rx, uint32_t tsaMembers, uint32_t recBufferSize, uint32_t flags) { |
| JardaPajskr | 0:fb135bf60f82 | 10 | serial_init(&_serial, tx, rx); |
| JardaPajskr | 0:fb135bf60f82 | 11 | _baud = 9600; |
| JardaPajskr | 0:fb135bf60f82 | 12 | serial_irq_handler(&_serial, Freemaster::_irq_handler, (uint32_t)this); |
| JardaPajskr | 0:fb135bf60f82 | 13 | FMSTR_InitSerialBase((FMSTR_BPTR)&_serial.uart->BDH); |
| JardaPajskr | 0:fb135bf60f82 | 14 | FMSTR_Init(); |
| JardaPajskr | 0:fb135bf60f82 | 15 | #if !(FMSTR_POLL_DRIVEN) |
| JardaPajskr | 0:fb135bf60f82 | 16 | serial_irq_set(&_serial, RxIrq, 1); |
| JardaPajskr | 0:fb135bf60f82 | 17 | serial_irq_set(&_serial, TxIrq, 1); |
| JardaPajskr | 0:fb135bf60f82 | 18 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 19 | #if (FMSTR_USE_TSA_DYNAMIC) |
| JardaPajskr | 0:fb135bf60f82 | 20 | tsaTable=malloc(tsaMembers*sizeof(FMSTR_TSA_ENTRY)); |
| JardaPajskr | 0:fb135bf60f82 | 21 | FMSTR_SetUpTsaBuff((FMSTR_ADDR)tsaTable, (tsaMembers)*sizeof(FMSTR_TSA_ENTRY)); |
| JardaPajskr | 0:fb135bf60f82 | 22 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 23 | |
| JardaPajskr | 0:fb135bf60f82 | 24 | #if (FMSTR_REC_OWNBUFF) |
| JardaPajskr | 0:fb135bf60f82 | 25 | recBuf=malloc(recBufferSize); |
| JardaPajskr | 0:fb135bf60f82 | 26 | FMSTR_SetUpRecBuff((FMSTR_ADDR)recBuf, recBufferSize); |
| JardaPajskr | 0:fb135bf60f82 | 27 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 28 | } |
| JardaPajskr | 0:fb135bf60f82 | 29 | |
| JardaPajskr | 0:fb135bf60f82 | 30 | FMSTR_BOOL Freemaster::TsaAddVar(FMSTR_TSATBL_STRPTR name, FMSTR_TSATBL_STRPTR type, FMSTR_TSATBL_VOIDPTR addr, FMSTR_TSATBL_VOIDPTR info) { |
| JardaPajskr | 0:fb135bf60f82 | 31 | #if FMSTR_USE_TSA_DYNAMIC |
| JardaPajskr | 0:fb135bf60f82 | 32 | return FMSTR_TsaAddVar(name, type, addr, info); |
| JardaPajskr | 0:fb135bf60f82 | 33 | #else |
| JardaPajskr | 0:fb135bf60f82 | 34 | return FMSTR_FALSE; |
| JardaPajskr | 0:fb135bf60f82 | 35 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 36 | } |
| JardaPajskr | 0:fb135bf60f82 | 37 | |
| JardaPajskr | 0:fb135bf60f82 | 38 | void Freemaster::baud(int baudrate) { |
| JardaPajskr | 0:fb135bf60f82 | 39 | serial_baud(&_serial, baudrate); |
| JardaPajskr | 0:fb135bf60f82 | 40 | _baud = baudrate; |
| JardaPajskr | 0:fb135bf60f82 | 41 | } |
| JardaPajskr | 0:fb135bf60f82 | 42 | |
| JardaPajskr | 0:fb135bf60f82 | 43 | void Freemaster::Recorder() { |
| JardaPajskr | 0:fb135bf60f82 | 44 | FMSTR_Recorder(); |
| JardaPajskr | 0:fb135bf60f82 | 45 | } |
| JardaPajskr | 0:fb135bf60f82 | 46 | |
| JardaPajskr | 0:fb135bf60f82 | 47 | void Freemaster::Poll() { |
| JardaPajskr | 0:fb135bf60f82 | 48 | FMSTR_Poll(); |
| JardaPajskr | 0:fb135bf60f82 | 49 | } |
| JardaPajskr | 0:fb135bf60f82 | 50 | |
| JardaPajskr | 0:fb135bf60f82 | 51 | void Freemaster::_irq_handler(uint32_t id, SerialIrq irq_type) { |
| JardaPajskr | 0:fb135bf60f82 | 52 | FMSTR_Isr(); |
| JardaPajskr | 0:fb135bf60f82 | 53 | } |
| JardaPajskr | 0:fb135bf60f82 | 54 | |
| JardaPajskr | 0:fb135bf60f82 | 55 | } // namespace mbed |
| JardaPajskr | 0:fb135bf60f82 | 56 | |
| JardaPajskr | 0:fb135bf60f82 | 57 | #endif |
