MotorControlModuleSDFM_TMS3.../Projects/mem_test/Freemaster/PE_freemaster_rec.h

84 lines
2.9 KiB
C
Raw Normal View History

/******************************************************************************
*
* Freescale Semiconductor Inc.
* (c) Copyright 2004-2006 Freescale Semiconductor, Inc.
* (c) Copyright 2001-2004 Motorola, Inc.
* ALL RIGHTS RESERVED.
*
****************************************************************************//*!
*
* @file PE_freemaster_rec.h
*
* @brief FreeMASTER Recorder implementation.
*
* @version 1.0.2.0
*
* @date Aug-15-2007
*
*******************************************************************************/
#ifndef __FREEMASTER_REC_H
#define __FREEMASTER_REC_H
#ifndef __FREEMASTER_H
#error Please include PE_freemaster_rec.h after PE_freemaster.h main header file.
#endif
#include "PE_freemaster.h"
#include "PE_freemaster_private.h"
/***********************************
* global recorder types
***********************************/
/* recorder runtime flags */
typedef volatile union
{
FMSTR_FLAGS all;
struct
{
unsigned bIsConfigured : 1; /* recorder is configured */
unsigned bIsRunning : 1; /* recorder is running */
unsigned bIsStopping : 1; /* trigger activated, sample countdown */
unsigned bInvirginCycle : 1; /* virgin cycle of the circular buffer in-progress */
unsigned bTrgCrossActive : 1; /* trigger trheshold was crossed */
} flg;
} FMSTR_REC_FLAGS;
/* the same flags for optimized asm access (see fast recorder) */
#if defined(FMSTR_PLATFORM_56F8xxx) /* flag allocation tested on 56f8xxx only */
#define FMSTR_REC_FLAG_bIsConfigured 0x01
#define FMSTR_REC_FLAG_bIsRunning 0x02
#define FMSTR_REC_FLAG_bIsStopping 0x04
#define FMSTR_REC_FLAG_bInvirginCycle 0x08
#define FMSTR_REC_FLAG_bTrgCrossActive 0x10
#endif
/***********************************
* global recorder variables
***********************************/
/* configuration variables */
extern FMSTR_U16 pcm_wRecTotalSmps; /* number of samples to measure */
extern FMSTR_U16 pcm_wRecPostTrigger; /* number of post-trigger samples to keep */
extern FMSTR_U8 pcm_nRecTriggerMode; /* triger mode (0 = disabled, 1 = _/, 2 = \_) */
extern FMSTR_U16 pcm_wRecTimeDiv; /* divisor of recorder "clock" */
extern FMSTR_U8 pcm_nRecVarCount; /* number of active recorder variables */
extern FMSTR_ADDR pcm_pRecVarAddr[FMSTR_MAX_SCOPE_VARS]; /* addresses of recorded variables */
extern FMSTR_SIZE8 pcm_pRecVarSize[FMSTR_MAX_SCOPE_VARS]; /* sizes of recorded variables */
/* runtime variables */
extern FMSTR_U16 pcm_wRecBuffStartIx; /* first sample index */
extern FMSTR_ADDR pcm_dwRecWritePtr; /* write pointer in recorder buffer */
extern FMSTR_ADDR pcm_dwRecEndBuffPtr; /* pointer to end of active recorder buffer */
extern FMSTR_U16 pcm_wRecTimeDivCtr; /* recorder "clock" divisor counter */
extern FMSTR_U16 pcm_wStoprecCountDown; /* post-trigger countdown counter */
extern FMSTR_REC_FLAGS pcm_wRecFlags;
#endif /* __FREEMASTER_REC_H */