?? des_mc33696.h
字號:
/******************************************************************************
*
* Freescale Semiconductor Inc.
* (c) Copyright 2004-2006 Freescale Semiconductor, Inc.
* ALL RIGHTS RESERVED.
*
***************************************************************************//*!
*
* @file echo.h
*
* @author b06050
*
* @version 0.1
*
* @date 8-7-2006
*
* @brief This file contains Echo/Echo+ software device driver header file
* for MC9S12XEP100 based on Echo software driver for HCS08.
*
* @note Compiler CodeWarrior for HCS12 V4.5
* Same changes made for PANGEA BCD project functionality.
* Additonal features of ECHO+ against ECHO not implemented.
*
******************************************************************************/
#ifndef _ECHO_H
#define _ECHO_H
/******************************************************************************
* This section defines some symbols for use below. DO NOT EDIT!
******************************************************************************/
#define ECHO_FSK 1
#define ECHO_OOK 0
#define ECHO_F304MHz 0
#define ECHO_F315MHz 1
#define ECHO_F434MHz 2
#define ECHO_F868MHz 3
#define ECHO_F916MHz 4
/*****************************************************************************/
/******************************************************************************
* THIS SECTION CONTAINS VALUES YOU MUST DEFINE!
******************************************************************************/
#include <mc9s12xep100.h> /* Derivative information */
/******************************************************************************
* Define required pins
******************************************************************************/
#define ECHO_CONFB PORTD_PD1 /* Define pin used for CONFB */
#define ECHO_CONFB_DDR DDRD_DDRD1
#define ECHO_SEB PTS_PTS7 /* Define pin used for SEB */
#define ECHO_SEB_DDR DDRS_DDRS7
//#define ECHO_RSSIC PORTC_PC7 /* Define pin used for RSSIC */
//#define ECHO_RSSIC_DDR DDRC_DDRC7 /* Comment in case of ECHO's */
/* RSSIC pin tight to ground or */
/* disconnected from MCU */
/******************************************************************************
* Setup SPI
******************************************************************************/
#define ECHO_SPI_ADDRESS 0x00D8 /* Location of SPI registers */
#define ECHO_SPI_CLOCK_SPEED 40000000 /* SPI clock speed */
/******************************************************************************
* Buffering parameters
******************************************************************************/
#define ECHO_MAX_DATA_SIZE 6 /* Max length of data field in msg */
#define ECHO_RX_BUF_COUNT 4 /* Number of Rx buffers to allocate */
/* An additional buffer is allocated */
/* for internal use by the driver */
/* Note: each buffer consumes */
/* ECHO_MAX_DATA_SIZE+2 bytes in memory! */
/******************************************************************************
* Echo modulation parameters
******************************************************************************/
#define ECHO_MODE_VALUE ECHO_FSK /* ECHO_OOK = OOK reception */
/* ECHO_FSK = FSK reception */
#define ECHO_MODE_OOKREF 1 /* Select the data slicer reference in */
/* OOK mode: 0 = fixed, 1 = adaptive */
/* Can delete/ignore if using FSK */
#define ECHO_BAND_VALUE ECHO_F434MHz /* ECHO_F304MHz, ECHO_F315MHz, */
/* ECHO_F434MHz, ECHO_F868MHz, */
/* or ECHO_F916MHz */
#define ECHO_DATA_RATE 19200 /* Set Echo data rate in Hz */
/* (before Manchester encoding) */
/******************************************************************************
* ID and Header set up
******************************************************************************/
#define ECHO_ID_LENGTH 6 /* Length of ID (2,4,5,6 or 8 bits) */
#define ECHO_ID_VALUE 0x11 /* ID word recognised by Echo 0xAA */
#define ECHO_HEADER_LENGTH 6 /* Length of header (1,2,4,6 bits) 0x06 */
#define ECHO_HEADER_VALUE 0x26 /* Header word recognised by Echo */
/* (must not be present in Preamble/ID) */
/******************************************************************************
* Receive mode On/off control
******************************************************************************/
#define ECHO_SOE_VALUE 1 /* 0 = strobe oscillator disabled */
/* 1 = strobe oscillator enabled */
/* These values are calculated from the Echo datasheet */
#define ECHO_RXON_VALUE 15 /* On time: 1->15 */
#define ECHO_RXOFF_VALUE 0 /* Off time: 0->7 */
/******************************************************************************
* Timer set up
******************************************************************************/
#define ECHO_TIMER_ADDRESS 0x0040 /* Location of 1st timer register */
#define ECHO_TIMER_CHANNEL 0 /* Define which timer channel to use */
/* Note:timer channels start from 0 */
/* Use only 0-6, channel 7 reserved */
/* for main counter reset */
/* #define ECHO_TIMER_CLOCK_SOURCE 1*/ /* Use to set clock source for timer */
/* 1 = Bus clock */
/* 2 = XCLK (if available) */
/* 3 = Ext clock */
#define ECHO_USE_DATACLK 0 /* Indicate if the Ext clock is DATACLK */
/* output from Echo. If using DATACLK */
/* and ECHO_TIMER_CLOCK_SOURCE = 3, */
/* ECHO_TIMER_CLOCK_SPEED is replaced */
/* with Fdataclk calculated instead. */
/* 0 = dataclock not enabled */
/* 1 = dataclock enabled */
#define ECHO_TIMER_CLOCK_SPEED 40000000 /* Set timer clock speed in Hz */
#define ECHO_TIMER_PRESCALE 1 /* Specify timer prescaler value */
#define ECHO_TIMER_DISABLE 1 /* Allows driver to turn off timer after */
/* use. Delete this #define if you want */
/* timer to stay on */
#define ECHO_CRYSTAL_FREQUENCY 24000000 /* Crystal frequency (in Hz) */
/* Typical values used */
/* RF Output */
/* 315MHz - 17581400 */
/* 434MHz - 24190660 */
/* 868MHz - 24161390 */
/******************************************************************************
* RSSI set up
******************************************************************************/
#define ECHO_USE_MCU_ATD 0 /* Enable the use of an MCU ATD to */
/* convert analogue RSSI readings. */
/* If this is not enabled, only */
/* digital RSSI will be available. */
/* 0 = Analogue not available */
/* 1 = Use an MCU ATD for analogue */
#define ECHO_ATD 1 /* Select MCU ATD */
/* 0 = ATD0 (8-channel) */
/* 1 = ATD1 (16-channel) */
#define ECHO_ATD_ADDRESS 0x0080 /* Location of the first ATD0/ATD1 reg. */
/* Can delete/ignore if not using ATD */
/* ATD0 = 0x02C0, ATD1 = 0x0080 */
#define ECHO_ATD_CHANNEL 7 /* Channel on the MCU ATD to use */
/* 0-7 for ATD0 */
/* 0-15 for ATD1 */
/* Can delete/ignore if not using ATD */
#define ECHO_ATD_DJM 1 /* Set up of the DJM bit for the ATD */
/* Can delete/ignore if not using ATD */
/* 0 = left justified */
/* 1 = right justified */
#define ECHO_ATD_RES8 1 /* Set up of the RES8 bit for the ATD */
/* Can delete/ignore if not using ATD */
/* 0 = 10 bit resolution */
/* 1 = 8 bit resolution */
#define ECHO_ATD_PRESCALE 32 /* Specify ATD clock prescaler */
/* ECHO_MCU_BUS_SPEED/ECHO_ADC_PRESCALE */
/* must be in range of 500 kHz to 8 MHz */
/******************************************************************************
* Miscellaneous
******************************************************************************/
#define ECHO_SWITCH_LEVEL 0 /* Set active level of SWITCH pin*/
/* 0 = Rx low, Tx high */
/* 1 = Tx low, Rx high */
#define ECHO_LVD_ENABLE 0 /* Enable low voltage detection */
/* 0 = Disabled */
/* 1 = Enabled */
#define ECHO_MCU_BUS_SPEED 40000000 /* In Hz */
#define ECHO_RX_TIMEOUT_BITS 32 /* Number of bit-times to wait on */
/* the next byte arriving before */
/* assuming an error and timing out */
/* back to the ready state (up to 255) */
/******************************************************************************
* These may be omitted depending on the hardware setup
******************************************************************************/
//#define ECHO_LVD PORTC_PC1 /* Define pin for LVD */
//#define ECHO_LVD_DDR DDRC_DDRC1 /* If not required,delete #defines */
#define ECHO_STROBE PORTD_PD2 /* Define pin used for Strobe */
#define ECHO_STROBE_DDR DDRD_DDRD2 /* If hardwired,delete #defines */
/******************************************************************************
* These are required for use with Motorola's rf modules
******************************************************************************/
//#define ECHO_ENABLEPA PORTC_PC3 /* Define pin used for Power amp */
/* enable */
//#define ECHO_ENABLEPA_DDR DDRC_DDRC3 /* If hardwired, delete #defines */
//#define ECHO_ENABLELNA PORTC_PC4 /* Define pin used for LNA */
//#define ECHO_ENABLELNA_DDR DDRC_DDRC4 /* If hardwired,delete #defines */
/******************************************************************************
* This defines default values for #defines in the Echo.h , or prints errors if
* missing or incorrect values have been chosen. DO NOT EDIT THIS SECTION!!
******************************************************************************/
#ifndef ECHO_CONFB
#error "You must #define symbol ECHO_CONFB in Echo.H header file"
#endif
#ifndef ECHO_CONFB_DDR
#error "You must #define symbol ECHO_CONFB_DDR in Echo.H header file"
#endif
#ifndef ECHO_SEB
#error "You must #define symbol ECHO_SEB in Echo.H header file"
#endif
#ifndef ECHO_SEB_DDR
#error "You must #define symbol ECHO_SEB_DDR in Echo.H header file"
#endif
/* RSSIC pin not used in BCD, thus commented */
/* #ifndef ECHO_RSSIC
#error "You must #define symbol ECHO_RSSIC in Echo.H header file"
#endif
#ifndef ECHO_RSSIC_DDR
#error "You must #define symbol ECHO_RSSIC_DDR in Echo.H header file"
#endif */
#ifndef ECHO_SPI_ADDRESS
#error "You must #define symbol ECHO_SPI_ADDRESS in Echo.H header file"
#endif
#ifndef ECHO_SPI_CLOCK_SPEED
#error "You must #define symbol ECHO_SPI_CLOCK_SPEED in Echo.H header file"
#endif
#ifndef ECHO_MAX_DATA_SIZE
#error "You must #define symbol ECHO_MAX_DATA_SIZE in Echo.H header file"
#endif
#if ECHO_MAX_DATA_SIZE > 127
#error "ECHO_MAX_DATA_SIZE in Echo.h must be in range 0- 127"
#endif
#ifndef ECHO_RX_BUF_COUNT
#error "You must #define symbol ECHO_RX_BUF_COUNT in Echo.H header file"
#endif
#if ECHO_RX_BUF_COUNT < 1
#error "ECHO_RX_BUF_COUNT in Echo.H must be 1 or more"
#endif
#ifndef ECHO_MODE_VALUE
#error "You must #define symbol ECHO_MODE_VALUE in Echo.H header file"
#endif
#if ECHO_MODE_VALUE == ECHO_OOK
#ifndef ECHO_MODE_OOKREF
#error "You must #define symbol ECHO_MODE_OOKREF when using OOK \
modulation in Echo.H header file"
#endif
#if ECHO_MODE_OOKREF != 0 && ECHO_MODE_OOKREF != 1
#error "ECHO_MODE_OOKREF must be 1 or 0 in Echo.h header file"
#endif
#else
#if ECHO_MODE_VALUE == ECHO_FSK
// It's ok so do nothing
#else
#error "You must set ECHO_MODE_VALUE to ECHO_OOK or ECHO_FSK in \
Echo.H header file"
#endif
#endif
#ifndef ECHO_BAND_VALUE
#error "You must #define symbol ECHO_BAND_VALUE in Echo.H header file"
#endif
#if ECHO_BAND_VALUE == ECHO_F315MHz
#define ECHO_LOF_CF_VALUE 0x80
#elif ECHO_BAND_VALUE == ECHO_F434MHz
#define ECHO_LOF_CF_VALUE 0x50
#elif ECHO_BAND_VALUE == ECHO_F868MHz
#define ECHO_LOF_CF_VALUE 0x70
#elif ECHO_BAND_VALUE == ECHO_F304MHz
#define ECHO_LOF_CF_VALUE 0x00
#elif ECHO_BAND_VALUE == ECHO_F916MHz
#define ECHO_LOF_CF_VALUE 0xF0
#else
#error "You must set ECHO_BAND_VALUE to ECHO_F304MHz, ECHO_F315MHz, \
ECHO_F434MHz, ECHO_F868MHz or ECHO_F916MHz in Echo.H header file"
#endif
#ifndef ECHO_DATA_RATE
#error "You must #define symbol ECHO_DATA_RATE in Echo.h header file"
#endif
#if ECHO_DATA_RATE >= 2000 && ECHO_DATA_RATE <= 2800
#define ECHO_DR_VALUE 0
#elif ECHO_DATA_RATE >= 4000 && ECHO_DATA_RATE <= 5600
#define ECHO_DR_VALUE 1
#elif ECHO_DATA_RATE >= 8000 && ECHO_DATA_RATE <= 10600
#define ECHO_DR_VALUE 2
#elif ECHO_DATA_RATE >= 16000 && ECHO_DATA_RATE <= 22400
#define ECHO_DR_VALUE 3
#else
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -