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@13:62ef0bfeb036, 2014-06-19 (annotated)
- Committer:
- JardaPajskr
- Date:
- Thu Jun 19 17:08:29 2014 +0000
- Revision:
- 13:62ef0bfeb036
- Parent:
- 12:15696acfeebe
- Child:
- 20:355a9738a180
updated right content of the freemaster.h file
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 | * This software is owned or controlled by Freescale Semiconductor. |
| JardaPajskr | 0:fb135bf60f82 | 6 | * Use of this software is governed by the Freescale FreeMASTER License |
| JardaPajskr | 0:fb135bf60f82 | 7 | * distributed with this Material. |
| JardaPajskr | 12:15696acfeebe | 8 | * See the LICENSE file distributed for more details. |
| JardaPajskr | 0:fb135bf60f82 | 9 | * |
| JardaPajskr | 0:fb135bf60f82 | 10 | ****************************************************************************//*! |
| JardaPajskr | 0:fb135bf60f82 | 11 | * |
| JardaPajskr | 13:62ef0bfeb036 | 12 | * @brief FreeMASTER Driver main API header file, Kxx(40/60) platform |
| JardaPajskr | 13:62ef0bfeb036 | 13 | * |
| JardaPajskr | 13:62ef0bfeb036 | 14 | * This is the only header file needed to be included by the user application |
| JardaPajskr | 13:62ef0bfeb036 | 15 | * to implement the FreeMASTER interface. In addition, user has to write the |
| JardaPajskr | 13:62ef0bfeb036 | 16 | * "freemaster_cfg.h" configuration file and put it anywhere on the #include path |
| JardaPajskr | 0:fb135bf60f82 | 17 | * |
| JardaPajskr | 0:fb135bf60f82 | 18 | *******************************************************************************/ |
| JardaPajskr | 0:fb135bf60f82 | 19 | |
| JardaPajskr | 13:62ef0bfeb036 | 20 | #ifndef __FREEMASTER_H |
| JardaPajskr | 13:62ef0bfeb036 | 21 | #define __FREEMASTER_H |
| JardaPajskr | 13:62ef0bfeb036 | 22 | |
| JardaPajskr | 13:62ef0bfeb036 | 23 | /* identify our current platform */ |
| JardaPajskr | 13:62ef0bfeb036 | 24 | #define FMSTR_PLATFORM_KXX 1 |
| JardaPajskr | 13:62ef0bfeb036 | 25 | |
| JardaPajskr | 13:62ef0bfeb036 | 26 | /* FreeMASTER configuration */ |
| JardaPajskr | 13:62ef0bfeb036 | 27 | #include "freemaster_cfg.h" |
| JardaPajskr | 13:62ef0bfeb036 | 28 | |
| JardaPajskr | 13:62ef0bfeb036 | 29 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 30 | * Global types |
| JardaPajskr | 13:62ef0bfeb036 | 31 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 32 | |
| JardaPajskr | 13:62ef0bfeb036 | 33 | typedef unsigned char * FMSTR_ADDR; /* CPU address type (4bytes) */ |
| JardaPajskr | 13:62ef0bfeb036 | 34 | typedef unsigned short FMSTR_SIZE; /* general size type (at least 16 bits) */ |
| JardaPajskr | 13:62ef0bfeb036 | 35 | typedef unsigned char FMSTR_BOOL; /* general boolean type */ |
| JardaPajskr | 13:62ef0bfeb036 | 36 | #if FMSTR_REC_LARGE_MODE |
| JardaPajskr | 13:62ef0bfeb036 | 37 | typedef unsigned long FMSTR_SIZE_RECBUFF; |
| JardaPajskr | 13:62ef0bfeb036 | 38 | #else |
| JardaPajskr | 13:62ef0bfeb036 | 39 | typedef unsigned short FMSTR_SIZE_RECBUFF; |
| JardaPajskr | 13:62ef0bfeb036 | 40 | #endif |
| JardaPajskr | 13:62ef0bfeb036 | 41 | typedef unsigned char* FMSTR_BPTR; /* pointer within a communication buffer */ |
| JardaPajskr | 13:62ef0bfeb036 | 42 | #define FMSTR_TSA_CDECL const |
| JardaPajskr | 0:fb135bf60f82 | 43 | |
| JardaPajskr | 13:62ef0bfeb036 | 44 | /* application command-specific types */ |
| JardaPajskr | 13:62ef0bfeb036 | 45 | typedef unsigned char FMSTR_APPCMD_CODE; |
| JardaPajskr | 13:62ef0bfeb036 | 46 | typedef unsigned char FMSTR_APPCMD_DATA, *FMSTR_APPCMD_PDATA; |
| JardaPajskr | 13:62ef0bfeb036 | 47 | typedef unsigned char FMSTR_APPCMD_RESULT; |
| JardaPajskr | 13:62ef0bfeb036 | 48 | |
| JardaPajskr | 13:62ef0bfeb036 | 49 | /* pointer to application command callback handler */ |
| JardaPajskr | 13:62ef0bfeb036 | 50 | typedef FMSTR_APPCMD_RESULT (*FMSTR_PAPPCMDFUNC)(FMSTR_APPCMD_CODE,FMSTR_APPCMD_PDATA,FMSTR_SIZE); |
| JardaPajskr | 13:62ef0bfeb036 | 51 | |
| JardaPajskr | 13:62ef0bfeb036 | 52 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 53 | * TSA-related user types and macros |
| JardaPajskr | 13:62ef0bfeb036 | 54 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 55 | |
| JardaPajskr | 13:62ef0bfeb036 | 56 | #include "freemaster_tsa.h" |
| JardaPajskr | 13:62ef0bfeb036 | 57 | |
| JardaPajskr | 13:62ef0bfeb036 | 58 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 59 | * Constants |
| JardaPajskr | 13:62ef0bfeb036 | 60 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 61 | |
| JardaPajskr | 13:62ef0bfeb036 | 62 | /* application command status information */ |
| JardaPajskr | 13:62ef0bfeb036 | 63 | #define FMSTR_APPCMDRESULT_NOCMD 0xffU |
| JardaPajskr | 13:62ef0bfeb036 | 64 | #define FMSTR_APPCMDRESULT_RUNNING 0xfeU |
| JardaPajskr | 13:62ef0bfeb036 | 65 | #define MFSTR_APPCMDRESULT_LASTVALID 0xf7U /* F8-FF are reserved */ |
| JardaPajskr | 13:62ef0bfeb036 | 66 | |
| JardaPajskr | 13:62ef0bfeb036 | 67 | /* recorder time base declaration helpers */ |
| JardaPajskr | 13:62ef0bfeb036 | 68 | #define FMSTR_REC_BASE_SECONDS(x) ((x) & 0x3fffU) |
| JardaPajskr | 13:62ef0bfeb036 | 69 | #define FMSTR_REC_BASE_MILLISEC(x) (((x) & 0x3fffU) | 0x4000U) |
| JardaPajskr | 13:62ef0bfeb036 | 70 | #define FMSTR_REC_BASE_MICROSEC(x) (((x) & 0x3fffU) | 0x8000U) |
| JardaPajskr | 13:62ef0bfeb036 | 71 | #define FMSTR_REC_BASE_NANOSEC(x) (((x) & 0x3fffU) | 0xc000U) |
| JardaPajskr | 0:fb135bf60f82 | 72 | |
| JardaPajskr | 0:fb135bf60f82 | 73 | /****************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 74 | * NULL needed |
| JardaPajskr | 13:62ef0bfeb036 | 75 | ******************************************************************************/ |
| JardaPajskr | 0:fb135bf60f82 | 76 | |
| JardaPajskr | 13:62ef0bfeb036 | 77 | #ifndef NULL |
| JardaPajskr | 13:62ef0bfeb036 | 78 | #ifdef __cplusplus |
| JardaPajskr | 13:62ef0bfeb036 | 79 | #define NULL (0) |
| JardaPajskr | 13:62ef0bfeb036 | 80 | #else |
| JardaPajskr | 13:62ef0bfeb036 | 81 | #define NULL ((void *) 0) |
| JardaPajskr | 0:fb135bf60f82 | 82 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 83 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 84 | |
| JardaPajskr | 0:fb135bf60f82 | 85 | /***************************************************************************** |
| JardaPajskr | 13:62ef0bfeb036 | 86 | * Global functions |
| JardaPajskr | 0:fb135bf60f82 | 87 | ******************************************************************************/ |
| JardaPajskr | 13:62ef0bfeb036 | 88 | #ifdef __cplusplus |
| JardaPajskr | 13:62ef0bfeb036 | 89 | extern "C" { |
| JardaPajskr | 0:fb135bf60f82 | 90 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 91 | |
| JardaPajskr | 13:62ef0bfeb036 | 92 | /* Assigning FreeMASTER communication module base address */ |
| JardaPajskr | 13:62ef0bfeb036 | 93 | void FMSTR_SetSciBaseAddress(FMSTR_ADDR nSciAddr); |
| JardaPajskr | 13:62ef0bfeb036 | 94 | void FMSTR_SetCanBaseAddress(FMSTR_ADDR nCanAddr); |
| JardaPajskr | 0:fb135bf60f82 | 95 | |
| JardaPajskr | 13:62ef0bfeb036 | 96 | /* FreeMASTER serial communication API */ |
| JardaPajskr | 13:62ef0bfeb036 | 97 | FMSTR_BOOL FMSTR_Init(void); /* general initialization */ |
| JardaPajskr | 13:62ef0bfeb036 | 98 | void FMSTR_Poll(void); /* polling call, use in SHORT_INTR and POLL_DRIVEN modes */ |
| JardaPajskr | 13:62ef0bfeb036 | 99 | void FMSTR_Isr(void); /* SCI interrupt handler for LONG_INTR and SHORT_INTR modes */ |
| JardaPajskr | 13:62ef0bfeb036 | 100 | void FMSTR_SetSciMbedObject(FMSTR_ADDR pSerObj); |
| JardaPajskr | 12:15696acfeebe | 101 | |
| JardaPajskr | 13:62ef0bfeb036 | 102 | /* Recorder API */ |
| JardaPajskr | 13:62ef0bfeb036 | 103 | void FMSTR_Recorder(void); |
| JardaPajskr | 13:62ef0bfeb036 | 104 | void FMSTR_TriggerRec(void); |
| JardaPajskr | 13:62ef0bfeb036 | 105 | void FMSTR_SetUpRecBuff(FMSTR_ADDR nBuffAddr, FMSTR_SIZE_RECBUFF nBuffSize); |
| JardaPajskr | 0:fb135bf60f82 | 106 | |
| JardaPajskr | 13:62ef0bfeb036 | 107 | /* Application commands API */ |
| JardaPajskr | 13:62ef0bfeb036 | 108 | FMSTR_APPCMD_CODE FMSTR_GetAppCmd(void); |
| JardaPajskr | 13:62ef0bfeb036 | 109 | FMSTR_APPCMD_PDATA FMSTR_GetAppCmdData(FMSTR_SIZE* pDataLen); |
| JardaPajskr | 13:62ef0bfeb036 | 110 | FMSTR_BOOL FMSTR_RegisterAppCmdCall(FMSTR_APPCMD_CODE nAppCmdCode, FMSTR_PAPPCMDFUNC pCallbackFunc); |
| JardaPajskr | 0:fb135bf60f82 | 111 | |
| JardaPajskr | 13:62ef0bfeb036 | 112 | void FMSTR_AppCmdAck(FMSTR_APPCMD_RESULT nResultCode); |
| JardaPajskr | 13:62ef0bfeb036 | 113 | void FMSTR_AppCmdSetResponseData(FMSTR_ADDR nResultDataAddr, FMSTR_SIZE nResultDataLen); |
| JardaPajskr | 0:fb135bf60f82 | 114 | |
| JardaPajskr | 13:62ef0bfeb036 | 115 | /* Dynamic TSA API */ |
| JardaPajskr | 13:62ef0bfeb036 | 116 | void FMSTR_SetUpTsaBuff(FMSTR_ADDR nBuffAddr, FMSTR_SIZE nBuffSize); |
| JardaPajskr | 13:62ef0bfeb036 | 117 | FMSTR_BOOL FMSTR_TsaAddVar(FMSTR_TSATBL_STRPTR name, FMSTR_TSATBL_STRPTR type, FMSTR_TSATBL_VOIDPTR addr, FMSTR_TSATBL_VOIDPTR info); |
| JardaPajskr | 0:fb135bf60f82 | 118 | |
| JardaPajskr | 13:62ef0bfeb036 | 119 | #ifdef __cplusplus |
| JardaPajskr | 13:62ef0bfeb036 | 120 | } |
| JardaPajskr | 0:fb135bf60f82 | 121 | #endif |
| JardaPajskr | 0:fb135bf60f82 | 122 | |
| JardaPajskr | 13:62ef0bfeb036 | 123 | #endif /* __FREEMASTER_H */ |
| JardaPajskr | 0:fb135bf60f82 | 124 |
