📄 pc_m1.h
字号:
/** ###################################################################
** THIS BEAN MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
** Filename : PC_M1.H
** Project : spi_master
** Processor : 56F8346
** Beantype : PC_Master
** Version : Bean 01.029, Driver 01.13, CPU db: 2.87.097
** Compiler : Metrowerks DSP C Compiler
** Date/Time : 2009-1-12, 16:11
** Abstract :
** The PC master software application is a software tool initially created
** for developers of Motor Control applications but it may be extended to any
** application development. This tool allows control of an application remotely
** from a user-friendly graphical environment running on a PC.
** Settings :
** AsynchroSerial : Inhr1
**
** Initialization:
** Recorder buffer length : 40
** Command buffer length : 4
** Data buffer size : 60
** Recorder timebase : 32816
** Board firmware major number : 0
** Board firmware minor number : 0
** Device identification string : PC Master communication !
** Contents :
** pcmasterdrvInit - Word16 PC_M1_pcmasterdrvInit(sPCMasterComm *p_sPCMasterComm);
** pcmasterdrvGetAppCmdSts - UWord16 PC_M1_pcmasterdrvGetAppCmdSts(void);
** pcmasterdrvWriteAppCmdSts - Word16 PC_M1_pcmasterdrvWriteAppCmdSts(UWord16 state);
** pcmasterdrvIsr - void PC_M1_pcmasterdrvIsr(void);
** pcmasterdrvRecorder - void PC_M1_pcmasterdrvRecorder(void);
** getPCMasterComm - sPCMasterComm * PC_M1_getPCMasterComm(void);
**
** (c) Freescale Semiconductor
** 2004 All Rights Reserved
**
** (c) Copyright UNIS, spol. s r.o. 1997-2005
** UNIS, spol. s r.o.
** Jundrovska 33
** 624 00 Brno
** Czech Republic
** http : www.processorexpert.com
** mail : info@processorexpert.com
** ###################################################################*/
#ifndef __PC_M1
#define __PC_M1
/* MODULE PC_M1. */
/*Include shared modules, which are used for whole project*/
#include "PE_Types.h"
#include "PE_Error.h"
#include "PE_Const.h"
#include "IO_Map.h"
/* Include inherited beans */
#include "Inhr1.h"
#include "Cpu.h"
/* set configuration of PC Master */
/*-----------------
standard commands
-----------------*/
#define PCMDRV_CMD_READMEM 0x01 /* read block of memory */
#define PCMDRV_CMD_WRITEMEM 0x02 /* write block of memory */
#define PCMDRV_CMD_WRITEMEMMASK 0x03 /* write block of memory with mask */
#define PCMDRV_CMD_READMEMEX 0x04 /* v3+ */
#define PCMDRV_CMD_WRITEMEMEX 0x05 /* v3+ */
#define PCMDRV_CMD_WRITEMEMMASKEX 0x06 /* v3+ */
#define PCMDRV_CMD_SETUPSCOPE 0x08 /* setup scope */
#define PCMDRV_CMD_SETUPREC 0x09 /* setup recorder */
#define PCMDRV_CMD_SETUPSCOPEEX 0x0A /* v3+ */
#define PCMDRV_CMD_SETUPRECEX 0x0B /* v3+ */
#define PCMDRV_CMD_CALLAPPCMD 0x10 /* call user application command */
/*-----------------
special commands
-----------------*/
/* no data part */
#define PCMDRV_CMD_GETINFO 0xC0 /* get system information */
#define PCMDRV_CMD_STARTREC 0xC1 /* start recorder */
#define PCMDRV_CMD_STOPREC 0xC2 /* stop recorder */
#define PCMDRV_CMD_GETRECSTS 0xC3 /* get recorder status */
#define PCMDRV_CMD_GETRECBUFF 0xC4 /* get recorder buffer information */
#define PCMDRV_CMD_READSCOPE 0xC5 /* read scope variables */
#define PCMDRV_CMD_GETAPPCMDSTS 0xC6 /* get user application command status */
#define PCMDRV_CMD_GETINFOBRIEF 0xC8 /* v2+ get brief system information */
#define PCMDRV_CMD_GETRECBUFFEX 0xC9 /* v3+ */
/* 2 bytes data part */
#define PCMDRV_CMD_READVAR8 0xD0 /* read 8-bit variable from 16-bit address */
#define PCMDRV_CMD_READVAR16 0xD1 /* read 16-bit variable from 16-bit address */
#define PCMDRV_CMD_READVAR32 0xD2 /* read 32-bit variable from 16-bit address */
/* 4 bytes data part */
#define PCMDRV_CMD_READVAR8EX 0xE0 /* read 8-bit variable from 32-bit address */
#define PCMDRV_CMD_READVAR16EX 0xE1 /* read 16-bit variable from 32-bit address */
#define PCMDRV_CMD_READVAR32EX 0xE2 /* read 32-bit variable from 32-bit address */
/*-------------
status bytes
-------------*/
#define PCMDRV_STC_OK 0x00 /* operation succesful */
#define PCMDRV_STC_RECRUN 0x01 /* recorder running */
#define PCMDRV_STC_RECDONE 0x02 /* recorder finished */
/* error codes */
#define PCMDRV_STC_INVCMD 0x81 /* invalid command */
#define PCMDRV_STC_CMDSERR 0x82 /* checksum error */
#define PCMDRV_STC_CMDBUFFOVF 0x83 /* command too long */
#define PCMDRV_STC_RSPBUFFOVF 0x84 /* response would be too long */
#define PCMDRV_STC_INVBUFF 0x85 /* invalid buffer length specified */
#define PCMDRV_STC_INVSIZE 0x86 /* invalid size */
#define PCMDRV_STC_SERVBUSY 0x87 /* service is busy */
#define PCMDRV_STC_NOTINIT 0x88 /* scope/recorder not configured */
#define PCMDRV_STC_UNKNOWN 0xFF /* reserved */
/* recorder trigger modes */
#define PCMDRV_REC_TRIGOFF 0 /* manual mode (trigger disabled) */
#define PCMDRV_REC_TRIGRIS 1 /* rising edge */
#define PCMDRV_REC_TRIGFAL 2 /* falling edge */
#define PCMDRV_IDT_STRING_LEN 25 /* length of identification string */
/* get info command parameters */
#define PCMDRV_PROT_VER 3 /* PC Master protocol version */
#define PCMDRV_DATABUSWDT 1 /* data bus width */
#define PCMDRV_CFG_FLAFGS 0x000C /* little endian data format + no fast writes */
/* PC Master initialization */
#define PC_MASTER_REC_BUFF_LEN 40 /* PC Matser Recorder buffer length */
#define PC_MASTER_APPCMD_BUFF_LEN 4 /* Application Command buffer length */
#define PC_MASTER_RECORDER_TIME_BASE 32816 /* A sampling period preset by the board application (value 0x8030 = 50us) */
#define PC_MASTER_GLOB_VERSION_MAJOR 0 /* Board firmware version major number */
#define PC_MASTER_GLOB_VERSION_MINOR 0 /* Board firmware version minor number */
#define PCMDRV_BUFFER_SIZE 60 /* Size of board data buffer */
#define PC_MASTER_IDT_STRING "PC Master communication !" /* Identification string of the device */
/*------------------------------------------------------------------------------------------------------*/
/* structure with SCI communication settings */
/*------------------------------------------------------------------------------------------------------*/
typedef struct {
UInt8 *p_dataBuff; /* pointer to input/output communication buffer */
UInt8 dataBuffSize; /* size of input/output communication buffer */
UInt8 *p_recBuff; /* pointer to recorder buffer */
UWord16 recSize; /* recorder buffer size */
UInt8 *p_recorder; /* structure with recorder settings and temporary variables */
UInt8 *p_scope; /* structure with scope settings */
UWord16 timeBase; /* period of Recorder Routine launch */
UInt8 *p_appCmdBuff; /* pointer to application command buffer */
UInt8 appCmdSize; /* application command buffer size */
UInt8 globVerMajor; /* board firmware version major number */
UInt8 globVerMinor; /* board firmware version minor number */
UInt8 idtString[PCMDRV_IDT_STRING_LEN]; /* device identification string */
} sPCMasterComm;
/*------------------------------------------------------------------------------------------------------*/
/* recorder settings structure (recorder settings and temporary variables are stored in this structure) */
/*------------------------------------------------------------------------------------------------------*/
typedef struct{
UWord16 cmd;
UWord16 cmdLen;
UWord16 trgMode; /* 0x00 - manual, 0x01 - rising edge, 0x02 - falling edge */
UWord16 totalSmps; /* number of samples required */
UWord16 postTrigger; /* samples after trigger */
UWord16 timeDiv; /* time div */
UWord32 trgVarAddr[1]; /* address of trigger variable */
UWord16 trgVarSize; /* size of variable (bytes) */
UWord16 trgVarSigned; /* 0x00 - unsigned, 0x01 - signed */
union{ /* union is used to access various types of treshold */
UInt8 uch; /* trgVarSize == 1 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -