From 056b098c8ab2c6478f71801d286be352dfa007d8 Mon Sep 17 00:00:00 2001 From: Douwe Homans Date: Tue, 31 Mar 2020 10:59:13 +0200 Subject: [PATCH 1/2] Resprect tIdleReg of 750 nS --- src/MagAlpha.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/MagAlpha.cpp b/src/MagAlpha.cpp index 32c62a7..13c7176 100644 --- a/src/MagAlpha.cpp +++ b/src/MagAlpha.cpp @@ -109,9 +109,12 @@ uint8_t MagAlpha::readRegister(uint8_t address){ digitalWrite(_spiChipSelectPin, LOW); SPI.transfer16(READ_REG_COMMAND | ((address & 0x1F) << 8) | 0x00); digitalWrite(_spiChipSelectPin, HIGH); + delayMicroseconds(1); //Wait for 1us (=1000 ns) to respect tIdleReg of 750ns before register readout digitalWrite(_spiChipSelectPin, LOW); - readbackRegisterValue = ((SPI.transfer16(0x0000) & 0xFF00) >> 8); + uint16_t result = SPI.transfer16(0x0000); + readbackRegisterValue = ((result & 0xFF00) >> 8); digitalWrite(_spiChipSelectPin, HIGH); + delayMicroseconds(1); //Wait for 1us (=1000 ns) to respect tIdleReg of 750ns after register readout return readbackRegisterValue; } From f14f29a2847b52146e241462da02297ea8e2d647 Mon Sep 17 00:00:00 2001 From: Douwe Homans Date: Tue, 31 Mar 2020 11:02:37 +0200 Subject: [PATCH 2/2] undo storing in debug val --- src/MagAlpha.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/MagAlpha.cpp b/src/MagAlpha.cpp index 13c7176..b35a7b3 100644 --- a/src/MagAlpha.cpp +++ b/src/MagAlpha.cpp @@ -111,8 +111,7 @@ uint8_t MagAlpha::readRegister(uint8_t address){ digitalWrite(_spiChipSelectPin, HIGH); delayMicroseconds(1); //Wait for 1us (=1000 ns) to respect tIdleReg of 750ns before register readout digitalWrite(_spiChipSelectPin, LOW); - uint16_t result = SPI.transfer16(0x0000); - readbackRegisterValue = ((result & 0xFF00) >> 8); + readbackRegisterValue = ((SPI.transfer16(0x0000) & 0xFF00) >> 8); digitalWrite(_spiChipSelectPin, HIGH); delayMicroseconds(1); //Wait for 1us (=1000 ns) to respect tIdleReg of 750ns after register readout return readbackRegisterValue;