| | |
| | | */ |
| | | uint8_t rf_write_reg(uint8_t addr, uint8_t value) |
| | | { |
| | | // rf_port.spi_readwrite(0x09); |
| | | uint8_t addr_w = (0x01 | (addr << 1)); |
| | | |
| | | rf_port.spi_cs_low(); |
| | |
| | | int integer_part; |
| | | float fractional_part; |
| | | int fb, fc; |
| | | |
| | | freq=freq*1000000; |
| | | if(freq < freq_405000000 || freq > freq_1080000000) |
| | | { |
| | | return FAIL; |
| | |
| | | * @param[in] <none> |
| | | * @return result |
| | | */ |
| | | uint16_t rx_timeout=0; |
| | | void rf_irq_process(void) |
| | | { |
| | | if(CHECK_IRQ()) |
| | |
| | | } |
| | | if(irq & REG_IRQ_RX_DONE) |
| | | { |
| | | // RxDoneParams.Snr = rf_get_snr(); |
| | | // RxDoneParams.Rssi = rf_get_rssi(); |
| | | RxDoneParams.Snr = rf_get_snr(); |
| | | RxDoneParams.Rssi = rf_get_rssi(); |
| | | RxDoneParams.Size = rf_recv_packet(RxDoneParams.Payload); |
| | | irq &= ~REG_IRQ_RX_DONE; |
| | | rf_clr_irq(REG_IRQ_RX_DONE); |
| | |
| | | if(irq & REG_IRQ_RX_TIMEOUT) |
| | | { |
| | | rf_refresh(); |
| | | irq &= ~REG_IRQ_RX_TIMEOUT; |
| | | rf_clr_irq(REG_IRQ_RX_TIMEOUT); |
| | | rx_timeout++; |
| | | irq &= ~REG_IRQ_RX_TIMEOUT; |
| | | rf_clr_irq(REG_IRQ_RX_TIMEOUT); |
| | | rf_set_recv_flag(RADIO_FLAG_RXTIMEOUT); |
| | | } |
| | | if(irq & REG_IRQ_TX_DONE) |
| | |
| | | |
| | | return LEVEL_ACTIVE; |
| | | } |
| | | |
| | | /** |
| | | * @brief set rf default para |
| | | * @param[in] <none> |
| | | * @return result |
| | | */ |
| | | RF_Err_t rf_set_default_para(void) |
| | | { |
| | | RF_ASSERT(rf_set_freq(DEFAULT_FREQ)); |
| | | RF_ASSERT(rf_set_code_rate(DEFAULT_CR)); |
| | | RF_ASSERT(rf_set_bw(DEFAULT_BW)); |
| | | RF_ASSERT(rf_set_sf(DEFAULT_SF)); |
| | | RF_ASSERT(rf_set_crc(CRC_ON)); |
| | | RF_ASSERT(rf_set_tx_power(DEFAULT_PWR)); |
| | | |
| | | return OK; |
| | | } |
| | | void set_test_mode1_reg(void) |
| | | { |
| | | uint8_t tmpreg; |
| | |
| | | rf_write_spec_page_reg(PAGE1_SEL, 0x25, 0x48); |
| | | rf_write_spec_page_reg(PAGE3_SEL, 0x12, (0x02|(tmpreg&0x08))); |
| | | } |
| | | /** |
| | | * @brief set rf default para |
| | | * @param[in] <none> |
| | | * @return result |
| | | */ |
| | | |
| | | //RF_Err_t rf_set_default_para(void) |
| | | //{ |
| | | // RF_ASSERT(rf_set_freq(DEFAULT_FREQ)); |
| | | // RF_ASSERT(rf_set_sf(DEFAULT_SF)); |
| | | // RF_ASSERT(rf_set_code_rate(DEFAULT_CR)); |
| | | // RF_ASSERT(rf_set_bw(DEFAULT_BW)); |
| | | // RF_ASSERT(rf_set_crc(CRC_OFF)); |
| | | // RF_ASSERT(rf_set_tx_power(DEFAULT_PWR)); |
| | | |
| | | // return OK; |
| | | //} |
| | | RF_Err_t rf_set_default_para(uint32_t freq, uint8_t sf) |
| | | { |
| | | //RF_ASSERT(rf_set_mode(RF_MODE_STB3)); |
| | | |
| | | RF_ASSERT(rf_set_freq(freq)); |
| | | RF_ASSERT(rf_set_sf(sf)); |
| | | RF_ASSERT(rf_set_code_rate(DEFAULT_CR)); |
| | | RF_ASSERT(rf_set_bw(DEFAULT_BW)); |
| | | RF_ASSERT(rf_set_crc(CRC_OFF)); |
| | | RF_ASSERT(rf_set_tx_power(DEFAULT_PWR)); |
| | | |
| | | return OK; |
| | | } |