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@20:355a9738a180, 2014-11-16 (annotated)
- Committer:
- JardaPajskr
- Date:
- Sun Nov 16 21:22:03 2014 +0000
- Revision:
- 20:355a9738a180
- Parent:
- 19:8b6f13b16bf5
updated header files
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| JardaPajskr | 20:355a9738a180 | 1 | /******************************************************************************* |
| JardaPajskr | 20:355a9738a180 | 2 | * |
| JardaPajskr | 20:355a9738a180 | 3 | * Copyright 2004-2014 Freescale Semiconductor, Inc. |
| JardaPajskr | 20:355a9738a180 | 4 | * |
| JardaPajskr | 20:355a9738a180 | 5 | *******************************************************************************/ |
| JardaPajskr | 0:fb135bf60f82 | 6 | #include "mbed.h" |
| JardaPajskr | 8:17470feaa6be | 7 | #include "freemaster_class.h" |
| JardaPajskr | 0:fb135bf60f82 | 8 | |
| JardaPajskr | 0:fb135bf60f82 | 9 | |
| JardaPajskr | 0:fb135bf60f82 | 10 | #if DEVICE_SERIAL |
| JardaPajskr | 0:fb135bf60f82 | 11 | #define FMSTR_USE_TSA_DYNAMIC 1 |
| JardaPajskr | 0:fb135bf60f82 | 12 | #define FMSTR_REC_OWNBUFF 1 |
| JardaPajskr | 0:fb135bf60f82 | 13 | namespace mbed { |
| JardaPajskr | 0:fb135bf60f82 | 14 | Freemaster::Freemaster(PinName tx, PinName rx, uint32_t tsaMembers, uint32_t recBufferSize, uint32_t flags) { |
| JardaPajskr | 0:fb135bf60f82 | 15 | serial_init(&_serial, tx, rx); |
| JardaPajskr | 19:8b6f13b16bf5 | 16 | _baud = 115200; |
| JardaPajskr | 0:fb135bf60f82 | 17 | serial_irq_handler(&_serial, Freemaster::_irq_handler, (uint32_t)this); |
| JardaPajskr | 9:61b2beb811bf | 18 | FMSTR_SetSciMbedObject((FMSTR_ADDR) &_serial); |
| JardaPajskr | 0:fb135bf60f82 | 19 | FMSTR_Init(); |
| JardaPajskr | 0:fb135bf60f82 | 20 | #if !(FMSTR_POLL_DRIVEN) |
| JardaPajskr | 0:fb135bf60f82 | 21 | serial_irq_set(&_serial, RxIrq, 1); |
| JardaPajskr | 10:ee28cf2ae687 | 22 | serial_irq_set(&_serial, TxIrq, 0); |
| JardaPajskr | 10:ee28cf2ae687 | 23 | // serial_readable(&_serial); |
| JardaPajskr | 0:fb135bf60f82 | 24 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 25 | #if (FMSTR_USE_TSA_DYNAMIC) |
| JardaPajskr | 0:fb135bf60f82 | 26 | tsaTable=malloc(tsaMembers*sizeof(FMSTR_TSA_ENTRY)); |
| JardaPajskr | 11:d1de61dc3766 | 27 | FMSTR_SetUpTsaBuff((FMSTR_ADDR)tsaTable, (tsaMembers)*sizeof(FMSTR_TSA_ENTRY)); |
| JardaPajskr | 10:ee28cf2ae687 | 28 | |
| JardaPajskr | 0:fb135bf60f82 | 29 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 30 | |
| JardaPajskr | 0:fb135bf60f82 | 31 | #if (FMSTR_REC_OWNBUFF) |
| JardaPajskr | 0:fb135bf60f82 | 32 | recBuf=malloc(recBufferSize); |
| JardaPajskr | 0:fb135bf60f82 | 33 | FMSTR_SetUpRecBuff((FMSTR_ADDR)recBuf, recBufferSize); |
| JardaPajskr | 0:fb135bf60f82 | 34 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 35 | } |
| JardaPajskr | 0:fb135bf60f82 | 36 | |
| JardaPajskr | 0:fb135bf60f82 | 37 | FMSTR_BOOL Freemaster::TsaAddVar(FMSTR_TSATBL_STRPTR name, FMSTR_TSATBL_STRPTR type, FMSTR_TSATBL_VOIDPTR addr, FMSTR_TSATBL_VOIDPTR info) { |
| JardaPajskr | 0:fb135bf60f82 | 38 | #if FMSTR_USE_TSA_DYNAMIC |
| JardaPajskr | 0:fb135bf60f82 | 39 | return FMSTR_TsaAddVar(name, type, addr, info); |
| JardaPajskr | 0:fb135bf60f82 | 40 | #else |
| JardaPajskr | 0:fb135bf60f82 | 41 | return FMSTR_FALSE; |
| JardaPajskr | 0:fb135bf60f82 | 42 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 43 | } |
| JardaPajskr | 0:fb135bf60f82 | 44 | |
| JardaPajskr | 0:fb135bf60f82 | 45 | void Freemaster::baud(int baudrate) { |
| JardaPajskr | 0:fb135bf60f82 | 46 | serial_baud(&_serial, baudrate); |
| JardaPajskr | 0:fb135bf60f82 | 47 | _baud = baudrate; |
| JardaPajskr | 0:fb135bf60f82 | 48 | } |
| JardaPajskr | 0:fb135bf60f82 | 49 | |
| JardaPajskr | 0:fb135bf60f82 | 50 | void Freemaster::Recorder() { |
| JardaPajskr | 0:fb135bf60f82 | 51 | FMSTR_Recorder(); |
| JardaPajskr | 0:fb135bf60f82 | 52 | } |
| JardaPajskr | 0:fb135bf60f82 | 53 | |
| JardaPajskr | 8:17470feaa6be | 54 | void Freemaster::TriggerRec() { |
| JardaPajskr | 8:17470feaa6be | 55 | FMSTR_TriggerRec(); |
| JardaPajskr | 8:17470feaa6be | 56 | } |
| JardaPajskr | 8:17470feaa6be | 57 | |
| JardaPajskr | 0:fb135bf60f82 | 58 | void Freemaster::Poll() { |
| JardaPajskr | 0:fb135bf60f82 | 59 | FMSTR_Poll(); |
| JardaPajskr | 0:fb135bf60f82 | 60 | } |
| JardaPajskr | 0:fb135bf60f82 | 61 | |
| JardaPajskr | 14:b2f3414a55d3 | 62 | FMSTR_APPCMD_CODE Freemaster::GetAppCmd(void) |
| JardaPajskr | 8:17470feaa6be | 63 | { |
| JardaPajskr | 14:b2f3414a55d3 | 64 | return FMSTR_GetAppCmd(); |
| JardaPajskr | 8:17470feaa6be | 65 | } |
| JardaPajskr | 8:17470feaa6be | 66 | |
| JardaPajskr | 8:17470feaa6be | 67 | FMSTR_APPCMD_PDATA Freemaster::GetAppCmdData(FMSTR_SIZE* pDataLen) |
| JardaPajskr | 8:17470feaa6be | 68 | { |
| JardaPajskr | 8:17470feaa6be | 69 | return FMSTR_GetAppCmdData(pDataLen); |
| JardaPajskr | 8:17470feaa6be | 70 | } |
| JardaPajskr | 8:17470feaa6be | 71 | |
| JardaPajskr | 8:17470feaa6be | 72 | FMSTR_BOOL Freemaster::RegisterAppCmdCall(FMSTR_APPCMD_CODE nAppCmdCode, FMSTR_PAPPCMDFUNC pCallbackFunc) |
| JardaPajskr | 8:17470feaa6be | 73 | { |
| JardaPajskr | 8:17470feaa6be | 74 | return FMSTR_RegisterAppCmdCall(nAppCmdCode, pCallbackFunc); |
| JardaPajskr | 8:17470feaa6be | 75 | } |
| JardaPajskr | 8:17470feaa6be | 76 | |
| JardaPajskr | 8:17470feaa6be | 77 | void Freemaster::AppCmdAck(FMSTR_APPCMD_RESULT nResultCode) |
| JardaPajskr | 8:17470feaa6be | 78 | { |
| JardaPajskr | 8:17470feaa6be | 79 | FMSTR_AppCmdAck(nResultCode); |
| JardaPajskr | 8:17470feaa6be | 80 | } |
| JardaPajskr | 8:17470feaa6be | 81 | |
| JardaPajskr | 8:17470feaa6be | 82 | void Freemaster::AppCmdSetResponseData(FMSTR_ADDR nResultDataAddr, FMSTR_SIZE nResultDataLen) |
| JardaPajskr | 8:17470feaa6be | 83 | { |
| JardaPajskr | 8:17470feaa6be | 84 | FMSTR_AppCmdSetResponseData(nResultDataAddr, nResultDataLen); |
| JardaPajskr | 8:17470feaa6be | 85 | } |
| JardaPajskr | 8:17470feaa6be | 86 | |
| JardaPajskr | 0:fb135bf60f82 | 87 | void Freemaster::_irq_handler(uint32_t id, SerialIrq irq_type) { |
| JardaPajskr | 0:fb135bf60f82 | 88 | FMSTR_Isr(); |
| JardaPajskr | 0:fb135bf60f82 | 89 | } |
| JardaPajskr | 0:fb135bf60f82 | 90 | |
| JardaPajskr | 0:fb135bf60f82 | 91 | } // namespace mbed |
| JardaPajskr | 0:fb135bf60f82 | 92 | |
| JardaPajskr | 0:fb135bf60f82 | 93 | #endif |
