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
freemaster.h@20:355a9738a180, 2014-11-16 (annotated)
- Committer:
- JardaPajskr
- Date:
- Sun Nov 16 21:22:03 2014 +0000
- Revision:
- 20:355a9738a180
- Parent:
- 13:62ef0bfeb036
updated header files
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| JardaPajskr | 0:fb135bf60f82 | 1 | /******************************************************************************* |
| JardaPajskr | 0:fb135bf60f82 | 2 | * |
| JardaPajskr | 0:fb135bf60f82 | 3 | * Copyright 2004-2014 Freescale Semiconductor, Inc. |
| JardaPajskr | 0:fb135bf60f82 | 4 | * |
| JardaPajskr | 0:fb135bf60f82 | 5 | *******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 6 | #ifndef __FREEMASTER_H |
| JardaPajskr | 13:62ef0bfeb036 | 7 | #define __FREEMASTER_H |
| JardaPajskr | 13:62ef0bfeb036 | 8 | |
| JardaPajskr | 13:62ef0bfeb036 | 9 | /* identify our current platform */ |
| JardaPajskr | 13:62ef0bfeb036 | 10 | #define FMSTR_PLATFORM_KXX 1 |
| JardaPajskr | 13:62ef0bfeb036 | 11 | |
| JardaPajskr | 13:62ef0bfeb036 | 12 | /* FreeMASTER configuration */ |
| JardaPajskr | 13:62ef0bfeb036 | 13 | #include "freemaster_cfg.h" |
| JardaPajskr | 13:62ef0bfeb036 | 14 | |
| JardaPajskr | 13:62ef0bfeb036 | 15 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 16 | * Global types |
| JardaPajskr | 13:62ef0bfeb036 | 17 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 18 | |
| JardaPajskr | 13:62ef0bfeb036 | 19 | typedef unsigned char * FMSTR_ADDR; /* CPU address type (4bytes) */ |
| JardaPajskr | 13:62ef0bfeb036 | 20 | typedef unsigned short FMSTR_SIZE; /* general size type (at least 16 bits) */ |
| JardaPajskr | 13:62ef0bfeb036 | 21 | typedef unsigned char FMSTR_BOOL; /* general boolean type */ |
| JardaPajskr | 13:62ef0bfeb036 | 22 | #if FMSTR_REC_LARGE_MODE |
| JardaPajskr | 13:62ef0bfeb036 | 23 | typedef unsigned long FMSTR_SIZE_RECBUFF; |
| JardaPajskr | 13:62ef0bfeb036 | 24 | #else |
| JardaPajskr | 13:62ef0bfeb036 | 25 | typedef unsigned short FMSTR_SIZE_RECBUFF; |
| JardaPajskr | 13:62ef0bfeb036 | 26 | #endif |
| JardaPajskr | 13:62ef0bfeb036 | 27 | typedef unsigned char* FMSTR_BPTR; /* pointer within a communication buffer */ |
| JardaPajskr | 13:62ef0bfeb036 | 28 | #define FMSTR_TSA_CDECL const |
| JardaPajskr | 0:fb135bf60f82 | 29 | |
| JardaPajskr | 13:62ef0bfeb036 | 30 | /* application command-specific types */ |
| JardaPajskr | 13:62ef0bfeb036 | 31 | typedef unsigned char FMSTR_APPCMD_CODE; |
| JardaPajskr | 13:62ef0bfeb036 | 32 | typedef unsigned char FMSTR_APPCMD_DATA, *FMSTR_APPCMD_PDATA; |
| JardaPajskr | 13:62ef0bfeb036 | 33 | typedef unsigned char FMSTR_APPCMD_RESULT; |
| JardaPajskr | 13:62ef0bfeb036 | 34 | |
| JardaPajskr | 13:62ef0bfeb036 | 35 | /* pointer to application command callback handler */ |
| JardaPajskr | 13:62ef0bfeb036 | 36 | typedef FMSTR_APPCMD_RESULT (*FMSTR_PAPPCMDFUNC)(FMSTR_APPCMD_CODE,FMSTR_APPCMD_PDATA,FMSTR_SIZE); |
| JardaPajskr | 13:62ef0bfeb036 | 37 | |
| JardaPajskr | 13:62ef0bfeb036 | 38 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 39 | * TSA-related user types and macros |
| JardaPajskr | 13:62ef0bfeb036 | 40 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 41 | |
| JardaPajskr | 13:62ef0bfeb036 | 42 | #include "freemaster_tsa.h" |
| JardaPajskr | 13:62ef0bfeb036 | 43 | |
| JardaPajskr | 13:62ef0bfeb036 | 44 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 45 | * Constants |
| JardaPajskr | 13:62ef0bfeb036 | 46 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 47 | |
| JardaPajskr | 13:62ef0bfeb036 | 48 | /* application command status information */ |
| JardaPajskr | 13:62ef0bfeb036 | 49 | #define FMSTR_APPCMDRESULT_NOCMD 0xffU |
| JardaPajskr | 13:62ef0bfeb036 | 50 | #define FMSTR_APPCMDRESULT_RUNNING 0xfeU |
| JardaPajskr | 13:62ef0bfeb036 | 51 | #define MFSTR_APPCMDRESULT_LASTVALID 0xf7U /* F8-FF are reserved */ |
| JardaPajskr | 13:62ef0bfeb036 | 52 | |
| JardaPajskr | 13:62ef0bfeb036 | 53 | /* recorder time base declaration helpers */ |
| JardaPajskr | 13:62ef0bfeb036 | 54 | #define FMSTR_REC_BASE_SECONDS(x) ((x) & 0x3fffU) |
| JardaPajskr | 13:62ef0bfeb036 | 55 | #define FMSTR_REC_BASE_MILLISEC(x) (((x) & 0x3fffU) | 0x4000U) |
| JardaPajskr | 13:62ef0bfeb036 | 56 | #define FMSTR_REC_BASE_MICROSEC(x) (((x) & 0x3fffU) | 0x8000U) |
| JardaPajskr | 13:62ef0bfeb036 | 57 | #define FMSTR_REC_BASE_NANOSEC(x) (((x) & 0x3fffU) | 0xc000U) |
| JardaPajskr | 0:fb135bf60f82 | 58 | |
| JardaPajskr | 0:fb135bf60f82 | 59 | /****************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 60 | * NULL needed |
| JardaPajskr | 13:62ef0bfeb036 | 61 | ******************************************************************************/ |
| JardaPajskr | 0:fb135bf60f82 | 62 | |
| JardaPajskr | 13:62ef0bfeb036 | 63 | #ifndef NULL |
| JardaPajskr | 13:62ef0bfeb036 | 64 | #ifdef __cplusplus |
| JardaPajskr | 13:62ef0bfeb036 | 65 | #define NULL (0) |
| JardaPajskr | 13:62ef0bfeb036 | 66 | #else |
| JardaPajskr | 13:62ef0bfeb036 | 67 | #define NULL ((void *) 0) |
| JardaPajskr | 0:fb135bf60f82 | 68 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 69 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 70 | |
| JardaPajskr | 0:fb135bf60f82 | 71 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 72 | * Global functions |
| JardaPajskr | 0:fb135bf60f82 | 73 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 74 | #ifdef __cplusplus |
| JardaPajskr | 13:62ef0bfeb036 | 75 | extern "C" { |
| JardaPajskr | 0:fb135bf60f82 | 76 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 77 | |
| JardaPajskr | 13:62ef0bfeb036 | 78 | /* Assigning FreeMASTER communication module base address */ |
| JardaPajskr | 13:62ef0bfeb036 | 79 | void FMSTR_SetSciBaseAddress(FMSTR_ADDR nSciAddr); |
| JardaPajskr | 13:62ef0bfeb036 | 80 | void FMSTR_SetCanBaseAddress(FMSTR_ADDR nCanAddr); |
| JardaPajskr | 0:fb135bf60f82 | 81 | |
| JardaPajskr | 13:62ef0bfeb036 | 82 | /* FreeMASTER serial communication API */ |
| JardaPajskr | 13:62ef0bfeb036 | 83 | FMSTR_BOOL FMSTR_Init(void); /* general initialization */ |
| JardaPajskr | 13:62ef0bfeb036 | 84 | void FMSTR_Poll(void); /* polling call, use in SHORT_INTR and POLL_DRIVEN modes */ |
| JardaPajskr | 13:62ef0bfeb036 | 85 | void FMSTR_Isr(void); /* SCI interrupt handler for LONG_INTR and SHORT_INTR modes */ |
| JardaPajskr | 13:62ef0bfeb036 | 86 | void FMSTR_SetSciMbedObject(FMSTR_ADDR pSerObj); |
| JardaPajskr | 12:15696acfeebe | 87 | |
| JardaPajskr | 13:62ef0bfeb036 | 88 | /* Recorder API */ |
| JardaPajskr | 13:62ef0bfeb036 | 89 | void FMSTR_Recorder(void); |
| JardaPajskr | 13:62ef0bfeb036 | 90 | void FMSTR_TriggerRec(void); |
| JardaPajskr | 13:62ef0bfeb036 | 91 | void FMSTR_SetUpRecBuff(FMSTR_ADDR nBuffAddr, FMSTR_SIZE_RECBUFF nBuffSize); |
| JardaPajskr | 0:fb135bf60f82 | 92 | |
| JardaPajskr | 13:62ef0bfeb036 | 93 | /* Application commands API */ |
| JardaPajskr | 13:62ef0bfeb036 | 94 | FMSTR_APPCMD_CODE FMSTR_GetAppCmd(void); |
| JardaPajskr | 13:62ef0bfeb036 | 95 | FMSTR_APPCMD_PDATA FMSTR_GetAppCmdData(FMSTR_SIZE* pDataLen); |
| JardaPajskr | 13:62ef0bfeb036 | 96 | FMSTR_BOOL FMSTR_RegisterAppCmdCall(FMSTR_APPCMD_CODE nAppCmdCode, FMSTR_PAPPCMDFUNC pCallbackFunc); |
| JardaPajskr | 0:fb135bf60f82 | 97 | |
| JardaPajskr | 13:62ef0bfeb036 | 98 | void FMSTR_AppCmdAck(FMSTR_APPCMD_RESULT nResultCode); |
| JardaPajskr | 13:62ef0bfeb036 | 99 | void FMSTR_AppCmdSetResponseData(FMSTR_ADDR nResultDataAddr, FMSTR_SIZE nResultDataLen); |
| JardaPajskr | 0:fb135bf60f82 | 100 | |
| JardaPajskr | 13:62ef0bfeb036 | 101 | /* Dynamic TSA API */ |
| JardaPajskr | 13:62ef0bfeb036 | 102 | void FMSTR_SetUpTsaBuff(FMSTR_ADDR nBuffAddr, FMSTR_SIZE nBuffSize); |
| JardaPajskr | 13:62ef0bfeb036 | 103 | FMSTR_BOOL FMSTR_TsaAddVar(FMSTR_TSATBL_STRPTR name, FMSTR_TSATBL_STRPTR type, FMSTR_TSATBL_VOIDPTR addr, FMSTR_TSATBL_VOIDPTR info); |
| JardaPajskr | 0:fb135bf60f82 | 104 | |
| JardaPajskr | 13:62ef0bfeb036 | 105 | #ifdef __cplusplus |
| JardaPajskr | 13:62ef0bfeb036 | 106 | } |
| JardaPajskr | 0:fb135bf60f82 | 107 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 108 | |
| JardaPajskr | 13:62ef0bfeb036 | 109 | #endif /* __FREEMASTER_H */ |
| JardaPajskr | 0:fb135bf60f82 | 110 |
