AVR Z-LINKŪ


tat.h File Reference


Detailed Description

This files defines the API for the Transceiver Access Toolbox.

This file contains the function prototypes for the Transceiver Access Toolbox, hence it is an API. The Transceiver Access Toolbox is an abstraction layer that hides the details of the radio transceiver from the end-user. The goal for the Transceiver Access Toolbox is to wrap the services that the radio transceiver can perform into easy to use functions.

Application note:
AVR2001: AT86RF230 Software Programmer's Guide
Documentation
For comprehensive code documentation, supported compilers, compiler settings and supported devices see readme.html
Author:
Atmel Corporation: http://www.atmel.com
Support email: avr@atmel.com
$Name$
Revision
613
$RCSfile$
Date
2006-04-07 14:40:07 +0200 (fr, 07 apr 2006)

Copyright (c) 2006, Atmel Corporation All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. The name of ATMEL may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file tat.h.

#include <stdint.h>
#include <stdbool.h>

Include dependency graph for tat.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define BATTERY_MONITOR_HIGH_VOLTAGE   ( 1 )
#define BATTERY_MONITOR_HIGHEST_VOLTAGE   ( 15 )
#define BATTERY_MONITOR_LOW_VOLTAGE   ( 0 )
#define BATTERY_MONITOR_VOLTAGE_UNDER_THRESHOLD   ( 0 )
#define FTN_CALIBRATION_DONE   ( 0 )
#define PLL_CF_CALIBRATION_DONE   ( 0 )
#define PLL_DCU_CALIBRATION_DONE   ( 0 )
#define RF230_MAX_CHANNEL   ( 26 )
#define RF230_MAX_ED_THRESHOLD   ( 15 )
#define RF230_MAX_TX_FRAME_LENGTH   ( 127 )
 127 Byte PSDU.
#define RF230_MIN_CHANNEL   ( 11 )
#define RF230_MIN_ED_THRESHOLD   ( 0 )
#define RF230_REVA   ( 1 )
#define RF230_REVB   ( 2 )
#define RF230_SUPPORTED_INTERRUPT_MASK   ( 0xCF )
#define SUPPORTED_MANUFACTURER_ID   ( 31 )
#define SUPPORTED_PART_NUMBER   ( 2 )
#define TAT_STATUS_START_VALUE   ( 0x40 )
 This macro defines the start value for the TAT_* status constants.
#define TX_PWR_17_2DBM   ( 15 )
#define TX_PWR_3DBM   ( 0 )

Enumerations

enum  tat_cca_mode_t { CCA_ED = 0, CCA_CARRIER_SENSE = 1, CCA_CARRIER_SENSE_WITH_ED = 2 }
 This enumeration defines the possible modes available for the Clear Channel Assessment algorithm. More...
enum  tat_clkm_speed_t {
  CLKM_DISABLED = 0, CLKM_1MHZ = 1, CLKM_2MHZ = 2, CLKM_4MHZ = 3,
  CLKM_8MHZ = 4, CLKM_16MHZ = 5
}
 This enumeration defines the possible CLKM speeds. More...
enum  tat_status_t {
  TAT_SUCCESS = TAT_STATUS_START_VALUE, TAT_UNSUPPORTED_DEVICE, TAT_INVALID_ARGUMENT, TAT_TIMED_OUT,
  TAT_WRONG_STATE, TAT_BUSY_STATE, TAT_STATE_TRANSITION_FAILED, TAT_CCA_IDLE,
  TAT_CCA_BUSY, TAT_TRX_BUSY, TAT_BAT_LOW, TAT_BAT_OK,
  TAT_CRC_FAILED, TAT_CHANNEL_ACCESS_FAILURE, TAT_NO_ACK
}
 This enumeration defines the possible return values for the TAT API functions. More...

Functions

tat_status_t tat_batmon_configure (bool range, uint8_t voltage_threshold)
 This function is used to configure the battery monitor module.
tat_status_t tat_batmon_get_status (void)
 This function returns the status of the Battery Monitor module.
uint8_t tat_batmon_get_voltage_range (void)
 This function returns if high or low voltage range is used.
uint8_t tat_batmon_get_voltage_threshold (void)
 This function returns the current threshold volatge used by the battery monitor (BATMON_VTH).
tat_status_t tat_calibrate_filter (void)
 This function calibrates the Single Side Band Filter.
tat_status_t tat_calibrate_pll (void)
 This function calibrates the PLL.
tat_status_t tat_configure_csma (uint8_t seed0, uint8_t be_csma_seed1)
 This function will configure the CSMA algorithm used by the radio transceiver when transmitting data from TX_ARET_ON state.
tat_status_t tat_do_cca (void)
 This function will perform a Clear Channel Assessment.
tat_status_t tat_do_ed_scan (uint8_t *ed_level)
 This function will measure the amount of energy sensed on the antenna pins.
tat_status_t tat_enter_sleep_mode (void)
 This function will put the radio transceiver to sleep.
uint8_t tat_get_cca_mode (void)
 This function returns the current CCA mode used.
uint8_t tat_get_clock_speed (void)
 This function returns the current clock setting for the CLKM pin.
uint8_t tat_get_ed_threshold (void)
 This function returns the current ED threshold used by the CCA algorithm.
uint64_t tat_get_extended_address (void)
 This function will read the extended address used by the address filter.
uint8_t tat_get_operating_channel (void)
 This function will return the channel used by the radio transceiver.
uint16_t tat_get_pan_id (void)
 This function will return the PANID used by the address filter.
tat_status_t tat_get_rssi_value (uint8_t *rssi)
 This function returns the Received Signal Strength Indication.
uint16_t tat_get_short_address (void)
 This function will return the current short address used by the address filter.
uint8_t tat_get_trx_state (void)
 This function return the Radio Transceivers current state.
uint8_t tat_get_tx_power_level (void)
 This function will read and return the output power level.
tat_status_t tat_init (void)
 Initialize the Transceiver Access Toolbox and lower layers.
tat_status_t tat_leave_sleep_mode (void)
 This function will take the radio transceiver from sleep mode and put it into the TRX_OFF state.
void tat_read_data (uint8_t *rx_data)
void tat_reset_state_machine (void)
 This function will reset the state machine (to TRX_OFF) from any of its states, except for the SLEEP state.
void tat_reset_trx (void)
 This function will reset all the registers and the state machine of the radio transceiver.
tat_status_t tat_send_data (uint8_t *data, uint8_t data_length)
 This function will download a frame to the radio transceiver's transmit buffer and send it.
tat_status_t tat_send_data_with_retry (uint8_t frame_length, uint8_t *frame, uint8_t retries)
 This function uses the .
tat_status_t tat_set_cca_mode (uint8_t mode, uint8_t ed_threshold)
 This function will configure the Clear Channel Assessment algorithm.
tat_status_t tat_set_clock_speed (bool direct, uint8_t clock_speed)
 This function changes the prescaler on the CLKM pin.
void tat_set_extended_address (uint64_t new_extended_address)
 This function will set a new extended address to be used by the address filter.
tat_status_t tat_set_operating_channel (uint8_t channel)
 This function will change the operating channel.
void tat_set_pan_id (uint16_t new_pan_id)
 This function will set the PANID used by the address filter.
void tat_set_short_address (uint16_t new_short_address)
 This function will set the short address used by the address filter.
tat_status_t tat_set_trx_state (uint8_t new_state)
 This function will change the current state of the radio transceiver's internal state machine.
tat_status_t tat_set_tx_power_level (uint8_t power_level)
 This function will change the output power level.
void tat_use_auto_tx_crc (bool auto_crc_on)
 This function will enable or disable automatic CRC during frame transmission.


Define Documentation

#define BATTERY_MONITOR_HIGH_VOLTAGE   ( 1 )

Definition at line 119 of file tat.h.

Referenced by tat_batmon_configure().

#define BATTERY_MONITOR_HIGHEST_VOLTAGE   ( 15 )

Definition at line 117 of file tat.h.

Referenced by tat_batmon_configure().

#define BATTERY_MONITOR_LOW_VOLTAGE   ( 0 )

Definition at line 120 of file tat.h.

Referenced by tat_batmon_configure().

#define BATTERY_MONITOR_VOLTAGE_UNDER_THRESHOLD   ( 0 )

Definition at line 118 of file tat.h.

Referenced by tat_batmon_get_status().

#define FTN_CALIBRATION_DONE   ( 0 )

Definition at line 122 of file tat.h.

Referenced by tat_calibrate_filter().

#define PLL_CF_CALIBRATION_DONE   ( 0 )

Definition at line 124 of file tat.h.

Referenced by tat_calibrate_pll().

#define PLL_DCU_CALIBRATION_DONE   ( 0 )

Definition at line 123 of file tat.h.

Referenced by tat_calibrate_pll().

#define RF230_MAX_CHANNEL   ( 26 )

Definition at line 109 of file tat.h.

Referenced by tat_set_operating_channel().

#define RF230_MAX_ED_THRESHOLD   ( 15 )

Definition at line 111 of file tat.h.

Referenced by tat_set_cca_mode().

#define RF230_MAX_TX_FRAME_LENGTH   ( 127 )

127 Byte PSDU.

Definition at line 112 of file tat.h.

Referenced by tat_send_data(), and tat_send_data_with_retry().

#define RF230_MIN_CHANNEL   ( 11 )

Definition at line 108 of file tat.h.

Referenced by tat_set_operating_channel().

#define RF230_MIN_ED_THRESHOLD   ( 0 )

Definition at line 110 of file tat.h.

#define RF230_REVA   ( 1 )

Definition at line 103 of file tat.h.

Referenced by tat_init().

#define RF230_REVB   ( 2 )

Definition at line 104 of file tat.h.

Referenced by tat_init().

#define RF230_SUPPORTED_INTERRUPT_MASK   ( 0xCF )

Definition at line 106 of file tat.h.

Referenced by tat_init().

#define SUPPORTED_MANUFACTURER_ID   ( 31 )

Definition at line 105 of file tat.h.

Referenced by tat_init().

#define SUPPORTED_PART_NUMBER   ( 2 )

Definition at line 102 of file tat.h.

#define TX_PWR_17_2DBM   ( 15 )

Definition at line 115 of file tat.h.

Referenced by tat_set_tx_power_level().

#define TX_PWR_3DBM   ( 0 )

Definition at line 114 of file tat.h.


Function Documentation

void tat_read_data ( uint8_t *  rx_data  ) 

@DOC_TITLE@
Generated on Wed Jul 11 18:16:32 2007 for AVR2001 AT86RF230 Software Programmer's Manual by doxygen 1.4.7