kw2xrf_intern.h

Internal function interfaces for kw2xrf driver.

enum kw2xrf_powermode_t
KW2XRF_HIBERNATE = 0
KW2XRF_DOZE
KW2XRF_IDLE
KW2XRF_AUTODOZE
enum kw2xrf_timer_timebase
KW2XRF_TIMEBASE_500000HZ = 2
KW2XRF_TIMEBASE_250000HZ
KW2XRF_TIMEBASE_125000HZ
KW2XRF_TIMEBASE_62500HZ
KW2XRF_TIMEBASE_31250HZ
KW2XRF_TIMEBASE_15625HZ
enum kw2xrf_intern.h::kw2xrf_timer_timebase kw2xrf_timer_timebase_t

Timebase values.

void kw2xrf_set_dreg_bit(kw2xrf_t * dev, uint8_t reg, uint8_t bit)

Set a certain bit of a kw2xrf register.

Parameters

dev:kw2xrf device descriptor
reg:address of register
bit:set this bit

void kw2xrf_clear_dreg_bit(kw2xrf_t * dev, uint8_t reg, uint8_t bit)

Clear a certain bit of a kw2xrf register.

Parameters

dev:kw2xrf device descriptor
reg:address of register
bit:set this bit

void kw2xrf_enable_irq_b(kw2xrf_t * dev)

Enable any transceiver interrupt to assert IRQ_B.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_mask_irq_b(kw2xrf_t * dev)

Mask all transceiver interrupts to assert IRQ_B.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_disable_interrupts(kw2xrf_t * dev)

Disable all interrupts on transceiver.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_update_overwrites(kw2xrf_t * dev)

Parameters

dev:kw2xrf device descriptor

void kw2xrf_set_out_clk(kw2xrf_t * dev)

Parameters

dev:kw2xrf device descriptor

void kw2xrf_set_power_mode(kw2xrf_t * dev, kw2xrf_intern.h::kw2xrf_powermode_t pm)

Set power mode for device.

Parameters

dev:kw2xrf device descriptor
pm:power mode value

int kw2xrf_can_switch_to_idle(kw2xrf_t * dev)

Parameters

dev:

Return values

void kw2xrf_timer_init(kw2xrf_t * dev, kw2xrf_intern.h::kw2xrf_timer_timebase_t tb)

Initialize the Event Timer Block (up counter)

The Event Timer Block provides:

  • Abort an RX and CCA sequence at pre-determined time
  • Latches “timestamp” value during packet reception
  • Initiates timer-triggered sequences

Parameters

dev:kw2xrf device descriptor
tb:timer base value

void kw2xrf_timer2_seq_start_on(kw2xrf_t * dev)

Enable start sequence time.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_timer2_seq_start_off(kw2xrf_t * dev)

Disable start sequence timer.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_timer3_seq_abort_on(kw2xrf_t * dev)

Enable abort sequence timer.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_timer3_seq_abort_off(kw2xrf_t * dev)

Disable abort sequence timer.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_trigger_tx_ops_enable(kw2xrf_t * dev, uint32_t timeout)

Use T2CMP or T2PRIMECMP to Trigger Transceiver Operations.

Parameters

dev:kw2xrf device descriptor
timeout:timeout value

void kw2xrf_trigger_tx_ops_disable(kw2xrf_t * dev)

Disable Trigger for Transceiver Operations.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_abort_rx_ops_enable(kw2xrf_t * dev, uint32_t timeout)

Use T3CMP to Abort an RX operation.

Parameters

dev:kw2xrf device descriptor
timeout:timeout value

void kw2xrf_abort_rx_ops_disable(kw2xrf_t * dev)

Disable Trigger to Abort an RX operation.

Parameters

dev:kw2xrf device descriptor

void kw2xrf_seq_timeout_on(kw2xrf_t * dev, uint32_t timeout)

Enable sequence timeout.

Parameters

dev:kw2xrf device descriptor
timeout:timeout value

void kw2xrf_seq_timeout_off(kw2xrf_t * dev)

Disable sequence timeout.

Parameters

dev:kw2xrf device descriptor

uint32_t kw2xrf_get_timestamp(kw2xrf_t * dev)

Returns Timestamp of the actual received packet.

Parameters

dev:kw2xrf device descriptor

Return values

  • timestamp value