void nRFAPI_SetFeatures(unsigned char features) { unsigned const char ACTIVATE_SEQUENCE[] = {ACTIVATE, 0x73}; unsigned char dummy_buffer[sizeof(ACTIVATE_SEQUENCE)] = {0,0}; nRFCMD_ReadWriteBuffer(ACTIVATE_SEQUENCE, dummy_buffer, sizeof(ACTIVATE_SEQUENCE)); nRFCMD_RegWriteStatusRead(FEATURE, features); }
unsigned char nRFCMD_RegReadBuf(unsigned char reg,unsigned char *buf,unsigned char count) { spi_outbuf[0] = reg; nRFCMD_ReadWriteBuffer(spi_outbuf, spi_inbuf, count+2); memcpy(buf, spi_inbuf+1, count); return spi_inbuf[0]; }
static unsigned char nRFCMD_ReadWriteByte(unsigned char reg) { u_int8_t res; nRFCMD_ReadWriteBuffer(®, &res, 1); return res; }
unsigned char nRFCMD_RegWriteBuf(unsigned char reg,const unsigned char *buf,unsigned char count) { spi_outbuf[0] = reg; memcpy(spi_outbuf+1, buf, count); nRFCMD_ReadWriteBuffer(spi_outbuf, spi_inbuf, count+1); return spi_inbuf[0]; }
unsigned char nRFCMD_RegWriteStatusRead(unsigned char reg, unsigned char value) { spi_outbuf[0] = reg; spi_outbuf[1] = value; nRFCMD_ReadWriteBuffer(spi_outbuf, spi_inbuf, 2); return spi_outbuf[0]; }
static uint8_t nRFCMD_ReadWriteByte (uint8_t reg) { uint8_t res; nRFCMD_ReadWriteBuffer (®, &res, 1); return res; }
unsigned char nRFCMD_RegRead(unsigned char reg) { spi_outbuf[0] = reg; spi_outbuf[1] = 0; nRFCMD_ReadWriteBuffer(spi_outbuf, spi_inbuf, 2); return spi_inbuf[1]; }
uint8_t nRFCMD_RegReadBuf (uint8_t reg, uint8_t * buf, uint8_t count) { spi_outbuf[0] = reg; nRFCMD_ReadWriteBuffer (spi_outbuf, spi_inbuf, count + 2); memcpy (buf, spi_inbuf + 1, count); return spi_inbuf[0]; }
uint8_t nRFCMD_RegWriteBuf (uint8_t reg, const uint8_t * buf, uint8_t count) { spi_outbuf[0] = reg; memcpy (spi_outbuf + 1, buf, count); nRFCMD_ReadWriteBuffer (spi_outbuf, spi_inbuf, count + 1); return spi_inbuf[0]; }
uint8_t nRFCMD_RegWriteStatusRead (uint8_t reg, uint8_t value) { spi_outbuf[0] = reg; spi_outbuf[1] = value; nRFCMD_ReadWriteBuffer (spi_outbuf, spi_inbuf, 2); return spi_inbuf[0]; }
uint8_t nRFCMD_RegRead (uint8_t reg) { spi_outbuf[0] = reg; spi_outbuf[1] = 0; nRFCMD_ReadWriteBuffer (spi_outbuf, spi_inbuf, 2); return spi_inbuf[1]; }
void nRFCMD_ExecMacro (const uint8_t * macro) { unsigned char size; while ((size = *macro++) != 0) { nRFCMD_ReadWriteBuffer (macro, NULL, size - 1); macro += size; } }