33 #define CYRF6936_MAX_BUFFER 80
struct spi_transaction spi_t
The SPI transaction used for the writing and reading of registers.
bool has_irq
When the CYRF6936 is done reading the irq.
uint8_t buffer_idx
The index of the buffer used for MULTIWRITE and used as sub-status for other statuses.
uint8_t buffer[CYRF6936_MAX_BUFFER]
The buffer used to write/read multiple registers.
The chip is setting the channel, SOP code, DATA code and the CRC seed.
bool cyrf6936_write(struct Cyrf6936 *cyrf, const uint8_t addr, const uint8_t data)
Write to one register.
uint8_t rx_packet[16]
The last received packet.
The chip is idle and can be used.
uint8_t rx_status
The last receive status.
bool cyrf6936_multi_write(struct Cyrf6936 *cyrf, const uint8_t data[][2], const uint8_t length)
Write to multiple registers one byte.
SPI transaction structure.
bool cyrf6936_send(struct Cyrf6936 *cyrf, const uint8_t data[], const uint8_t length)
Send a packet with a certain length.
Register defines for the CYRF6936 2.4GHz radio chip.
struct spi_periph * spi_p
The SPI peripheral for the connection.
bool cyrf6936_read_rx_irq_status_packet(struct Cyrf6936 *cyrf)
Read the RX IRQ status register, the rx status register and the rx packet.
The chip is getting the receive irq status, receive status and the receive packet.
The chip is busy sending a packet.
uint8_t rx_irq_status
The last receive interrupt status.
Architecture independent SPI (Serial Peripheral Interface) API.
enum Cyrf6936Status status
The status of the CYRF6936 chip.
SPI peripheral structure.
The chip is writing multiple registers.
uint8_t mfg_id[6]
The manufacturer id of the CYRF6936 chip.
uint8_t input_buf[17]
The input buffer for the SPI transaction.
void cyrf6936_event(struct Cyrf6936 *cyrf)
The on event call for the CYRF6936 chip.
uint8_t buffer_length
The length of the buffer used for MULTIWRITE.
The chip is busy with getting the manufacturer ID.
uint8_t rx_count
The length of the received packet.
The chip isn't initialized.
The chip is writing a data code.
void cyrf6936_init(struct Cyrf6936 *cyrf, struct spi_periph *spi_p, const uint8_t slave_idx, const uint32_t rst_port, const uint16_t rst_pin)
Initializing the cyrf chip.
#define CYRF6936_MAX_BUFFER
The max buffer size in the cyrf6936 structure.
uint8_t slave_idx
slave id: SPI_SLAVE0 to SPI_SLAVE4
uint8_t tx_irq_status
The last send interrupt status.
bool cyrf6936_write_chan_sop_data_crc(struct Cyrf6936 *cyrf, const uint8_t chan, const uint8_t sop_code[], const uint8_t data_code[], const uint16_t crc_seed)
Set the channel, SOP code, DATA code and the CRC seed.
uint8_t output_buf[17]
The output buffer for the SPI transaction.