AVR Z-LINKŪ


tat.h

Go to the documentation of this file.
00001 /* This file has been prepared for Doxygen automatic documentation generation.*/
00096 #ifndef TAT_H
00097 #define TAT_H
00098 /*============================ INCLUDE =======================================*/
00099 #include <stdint.h>
00100 #include <stdbool.h>
00101 /*============================ MACROS ========================================*/
00102 #define SUPPORTED_PART_NUMBER                   ( 2 )
00103 #define RF230_REVA                              ( 1 )
00104 #define RF230_REVB                              ( 2 )
00105 #define SUPPORTED_MANUFACTURER_ID               ( 31 )
00106 #define RF230_SUPPORTED_INTERRUPT_MASK          ( 0xCF )
00107 
00108 #define RF230_MIN_CHANNEL                       ( 11 )
00109 #define RF230_MAX_CHANNEL                       ( 26 )
00110 #define RF230_MIN_ED_THRESHOLD                  ( 0 )
00111 #define RF230_MAX_ED_THRESHOLD                  ( 15 )
00112 #define RF230_MAX_TX_FRAME_LENGTH               ( 127 ) 
00113 
00114 #define TX_PWR_3DBM                             ( 0 )
00115 #define TX_PWR_17_2DBM                          ( 15 )
00116 
00117 #define BATTERY_MONITOR_HIGHEST_VOLTAGE         ( 15 )
00118 #define BATTERY_MONITOR_VOLTAGE_UNDER_THRESHOLD ( 0 )
00119 #define BATTERY_MONITOR_HIGH_VOLTAGE            ( 1 )
00120 #define BATTERY_MONITOR_LOW_VOLTAGE             ( 0 )
00121 
00122 #define FTN_CALIBRATION_DONE                    ( 0 )
00123 #define PLL_DCU_CALIBRATION_DONE                ( 0 )
00124 #define PLL_CF_CALIBRATION_DONE                 ( 0 )
00125 /*============================ TYPEDEFS ======================================*/
00126 
00137 #define TAT_STATUS_START_VALUE                  ( 0x40 )
00138 
00147 typedef enum{
00149     TAT_SUCCESS = TAT_STATUS_START_VALUE,
00151     TAT_UNSUPPORTED_DEVICE,
00153     TAT_INVALID_ARGUMENT,
00155     TAT_TIMED_OUT,
00157     TAT_WRONG_STATE,
00159     TAT_BUSY_STATE,
00161     TAT_STATE_TRANSITION_FAILED,
00163     TAT_CCA_IDLE,
00165     TAT_CCA_BUSY,
00167     TAT_TRX_BUSY,
00169     TAT_BAT_LOW,
00171     TAT_BAT_OK,
00173     TAT_CRC_FAILED,
00175     TAT_CHANNEL_ACCESS_FAILURE,
00177     TAT_NO_ACK,
00178 }tat_status_t;
00179 
00187 typedef enum{
00189     CCA_ED                    = 0,
00191     CCA_CARRIER_SENSE         = 1,
00193     CCA_CARRIER_SENSE_WITH_ED = 2
00194 }tat_cca_mode_t;
00195 
00202 typedef enum{
00203 
00204     CLKM_DISABLED       = 0,
00205     CLKM_1MHZ          = 1,
00206     CLKM_2MHZ          = 2,
00207     CLKM_4MHZ          = 3,
00208     CLKM_8MHZ          = 4,
00209     CLKM_16MHZ         = 5    
00210 }tat_clkm_speed_t;
00211 /*============================ PROTOTYPES ====================================*/
00212 tat_status_t tat_init( void );
00213 uint8_t tat_get_operating_channel( void );
00214 tat_status_t tat_set_operating_channel( uint8_t channel );
00215 uint8_t tat_get_tx_power_level( void );
00216 tat_status_t tat_set_tx_power_level( uint8_t power_level );
00217 
00218 tat_status_t tat_do_ed_scan( uint8_t *ed_level );
00219 uint8_t tat_get_cca_mode( void );
00220 uint8_t tat_get_ed_threshold( void );
00221 tat_status_t tat_set_cca_mode( uint8_t mode, uint8_t ed_threshold );
00222 tat_status_t tat_do_cca( void );
00223 tat_status_t  tat_get_rssi_value( uint8_t *rssi );
00224 
00225 uint8_t tat_batmon_get_voltage_threshold( void );
00226 uint8_t tat_batmon_get_voltage_range( void );
00227 tat_status_t tat_batmon_configure( bool range, uint8_t voltage_threshold );
00228 tat_status_t tat_batmon_get_status( void );
00229 
00230 uint8_t tat_get_clock_speed( void );
00231 tat_status_t tat_set_clock_speed( bool direct, uint8_t clock_speed );
00232 tat_status_t tat_calibrate_filter( void );
00233 tat_status_t tat_calibrate_pll( void );
00234 
00235 uint8_t tat_get_trx_state( void );
00236 tat_status_t tat_set_trx_state( uint8_t new_state );
00237 tat_status_t tat_enter_sleep_mode( void );
00238 tat_status_t tat_leave_sleep_mode( void );
00239 void tat_reset_state_machine( void );
00240 void tat_reset_trx( void );
00241 
00242 void tat_use_auto_tx_crc( bool auto_crc_on );
00243 tat_status_t tat_send_data( uint8_t *data, uint8_t data_length );
00244 void tat_read_data( uint8_t *rx_data );
00245 
00246 uint16_t tat_get_pan_id( void );
00247 void tat_set_pan_id( uint16_t new_pan_id );
00248 uint16_t tat_get_short_address( void );
00249 void tat_set_short_address( uint16_t new_short_address );
00250 uint64_t tat_get_extended_address( void );
00251 void tat_set_extended_address( uint64_t new_extended_address );
00252 tat_status_t tat_configure_csma( uint8_t seed0, uint8_t be_csma_seed1 );
00253 tat_status_t tat_send_data_with_retry( uint8_t frame_length, uint8_t *frame, 
00254                                        uint8_t retries );
00255 #endif
00256 /*EOF*/
@DOC_TITLE@
Generated on Wed Jul 11 18:16:31 2007 for AVR2001 AT86RF230 Software Programmer's Manual by doxygen 1.4.7