#include "nrf24l01.h" static nrf_hal_init_t nhi; int nrf_hal_init(nrf_hal_init_t *private) { if(private == 0) { return -1; } nhi = *private; return 0; } void nrf_hal_csn(uint8_t mode) { //gpio_bit_write(nhi.csn_port, nhi.csn_pin, mode == 0 ? RESET : SET); mode == 0 ? gpio_bit_reset(nhi.csn_port, nhi.csn_pin) : gpio_bit_set(nhi.csn_port, nhi.csn_pin); } void nrf_hal_ce(uint8_t mode) { //gpio_bit_write(nhi.ce_port, nhi.ce_pin, mode == 0 ? RESET : SET); mode == 0 ? gpio_bit_reset(nhi.ce_port, nhi.ce_pin) : gpio_bit_set(nhi.ce_port, nhi.ce_pin); } uint8_t _spi_transfer(uint32_t spi, uint8_t data) { while(RESET == spi_i2s_flag_get(spi, SPI_FLAG_TBE)); spi_i2s_data_transmit(spi, data); while(RESET == spi_i2s_flag_get(spi, SPI_FLAG_RBNE)); data = spi_i2s_data_receive(spi); return data; } void _spi_send(uint32_t spi, uint8_t *buf, uint8_t len) { for(uint8_t i=0; i