Gazell Link Layer implementation.  
More...
#include "gzll.h"
#include <string.h>
#include "hal_delay.h"
Go to the source code of this file.
| 
Defines | 
| #define | GZLL_PULSE_FIX | 
| #define | GZLL_BIT(_var, _bitnum)   static xdata bool volatile _var | 
| #define | GZLL_INTERRUPTS_DISABLE() | 
| #define | GZLL_INTERRUPTS_ENABLE() | 
| #define | GZLL_RFCK_ENABLE() | 
| #define | GZLL_RFCK_DISABLE() | 
| #define | GZLL_RFCE_PULSE() | 
| #define | GZLL_RFCE_HIGH() | 
| #define | GZLL_RFCE_LOW() | 
| #define | GZLL_UPLOAD_PAYLOAD_TO_RADIO()   hal_nrf_write_tx_payload(src, length) | 
| 
Enumerations | 
| enum | gzll_new_tx_ch_t { GZLL_CHANNEL_PREVIOUS_SUCCESS, 
GZLL_CHANNEL_RANDOM, 
GZLL_CHANNEL_ESTIMATED, 
GZLL_CHANNEL_NEXT_INDEX
 } | 
| 
Functions | 
| void | gzll_delay_50us (uint8_t n) | 
| void | gzll_init (void) | 
| void | gzll_set_param (gzll_dyn_params_t param, uint16_t val) | 
| uint16_t | gzll_get_param_max (gzll_dyn_params_t param) | 
| uint16_t | gzll_get_param (gzll_dyn_params_t param) | 
| uint8_t | gzll_get_channel_tab_size () | 
| void | gzll_get_channels (uint8_t *channels) | 
| void | gzll_set_channels (uint8_t *channels, uint8_t channel_tab_size) | 
| void | gzll_set_address (hal_nrf_address_t pipe, const uint8_t *address) | 
| void | gzll_get_address (uint8_t pipe, uint8_t *address) | 
| void | gzll_rx_start () | 
| _Bool | gzll_ack_payload_write (const uint8_t *src, uint8_t length, uint8_t pipe) | 
| _Bool | gzll_tx_data (const uint8_t *src, uint8_t length, uint8_t pipe) | 
| _Bool | gzll_dev_mode2_rx_channel_match () | 
| _Bool | gzll_tx_success (void) | 
| uint16_t | gzll_get_tx_attempts (void) | 
| uint16_t | gzll_get_tx_channel_switches (void) | 
| void | gzll_tx_fifo_flush (void) | 
| gzll_states_t | gzll_get_state (void) | 
| _Bool | gzll_radio_active () | 
| uint8_t | gzll_get_rx_data_ready_pipe_number () | 
| _Bool | gzll_rx_data_ready (uint8_t pipe) | 
| _Bool | gzll_rx_fifo_read (uint8_t *dst, uint8_t *length, uint8_t *pipe) | 
| _Bool | gzll_rx_power_high () | 
| void | gzll_rx_fifo_flush (void) | 
| void | gzll_goto_idle () | 
| void | gzll_radio_isr_function (void) | 
| void | gzll_timer_isr_function (void) | 
Detailed Description
Gazell Link Layer implementation. 
Definition in file gzll.c.
Define Documentation
      
        
          | #define GZLL_BIT | ( |  | _var, | 
        
          |  |  |  | _bitnum | 
        
          |  | ) |  | static xdata bool volatile _var | 
      
 
 
      
        
          | #define GZLL_INTERRUPTS_DISABLE | ( | ) |  | 
      
 
Value:
Definition at line 296 of file gzll.c.
 
 
      
        
          | #define GZLL_INTERRUPTS_ENABLE | ( | ) |  | 
      
 
Value:
Definition at line 301 of file gzll.c.
 
 
      
        
          | #define GZLL_RFCK_ENABLE | ( | ) |  | 
      
 
Value:do{ \
  gzll_claim_rfck_en = 1;      \
  RFCKEN = 1;                  \
} while(0)
Definition at line 307 of file gzll.c.
 
 
      
        
          | #define GZLL_RFCK_DISABLE | ( | ) |  | 
      
 
Value:do{ \
  gzll_claim_rfck_en = 0;       \
  RFCKEN = b_rfce; \
} while(0)
Definition at line 312 of file gzll.c.
 
 
      
        
          | #define GZLL_RFCE_PULSE | ( | ) |  | 
      
 
Value:
Definition at line 317 of file gzll.c.
 
 
      
        
          | #define GZLL_RFCE_HIGH | ( | ) |  | 
      
 
Value:do{ \
  RFCKEN = 1;                \
  RFCE = 1;                  \
  b_rfce = true; \
} while(false)
Definition at line 325 of file gzll.c.
 
 
      
        
          | #define GZLL_RFCE_LOW | ( | ) |  | 
      
 
Value:do{ \
  RFCE = 0;                       \
  RFCKEN = gzll_claim_rfck_en;    \
  b_rfce = false; \
} while(0)
Definition at line 331 of file gzll.c.
 
 
      
        
          | #define GZLL_UPLOAD_PAYLOAD_TO_RADIO | ( | ) | hal_nrf_write_tx_payload(src, length) | 
      
 
 
Enumeration Type Documentation
Definition of the possible ways of selecting initial channel for a transmission. 
- Enumerator: 
- 
| GZLL_CHANNEL_PREVIOUS_SUCCESS |  |  | GZLL_CHANNEL_RANDOM |  |  | GZLL_CHANNEL_ESTIMATED |  |  | GZLL_CHANNEL_NEXT_INDEX |  |  
 
Definition at line 59 of file gzll.c.
 
 
Function Documentation
      
        
          | void gzll_delay_50us | ( | uint8_t | n ) |  | 
      
 
Delay function. Gives a delay of ~(n * 50us) with 16 MHz system clock. 
Definition at line 1061 of file gzll.c.
{
  uint16_t c;
  while(n-- > 0)
  {
      c = 45;
      while(c-- > 0)
      ;
  }
}