Library for interfacing with the AMICCOM A7105 2.4GHz FSK/GFSK Transceiver.
Diff: a7105txrx.cpp
- Revision:
- 0:212eb977fe10
- Child:
- 2:35a860dbaba5
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/a7105txrx.cpp Mon Sep 01 19:38:06 2014 +0000 @@ -0,0 +1,39 @@ +#include "mbed.h" +#include "a7105txrx.h" + +A7105::A7105(PinName mosi, PinName miso, PinName clk, PinName cs, uint32_t freqHz) : + mSpiMaster(mosi, miso, clk), mChipSelect(cs) { + mSpiMaster.frequency(freqHz); + // Chip select is active low so set it to high until we are ready + mChipSelect = 1; +} + +A7105::~A7105() {} + +uint8_t A7105::writeRegister(uint8_t regAddr, uint8_t value) { + // assert CS + mChipSelect = 0; + // write register, most significant bit should be one to indicate a write + mSpiMaster.write(regAddr | 0x80); + // write value into register + uint8_t ret = mSpiMaster.write(value); + // de-assert CS + mChipSelect = 1; + + return ret; +} + +uint8_t A7105::readRegister(uint8_t regAddr) { + // assert CS + mChipSelect = 0; + // write register and read value + uint8_t ret = mSpiMaster.write(regAddr); + // de-assert CS + mChipSelect = 1; + + return ret; +} + +uint8_t A7105::reset() { + return writeRegister(MODE, 0x00); +} \ No newline at end of file