From 4e63ca2340bf2db25a61fc0aa8e596f305a8f0bb Mon Sep 17 00:00:00 2001 From: meepingsnesroms Date: Fri, 29 Jun 2018 16:22:57 -0700 Subject: [PATCH] Actually reading from ADS7846 but not correctly --- hwTestSuite/tools.c | 9 +++++++++ src/hardwareRegisters.c | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hwTestSuite/tools.c b/hwTestSuite/tools.c index bc56758..d51c649 100644 --- a/hwTestSuite/tools.c +++ b/hwTestSuite/tools.c @@ -63,6 +63,12 @@ uint16_t ads7846GetValue(uint8_t channel, Boolean referenceMode, Boolean mode8bi config |= channel << 4 & 0x70; + /*misc configs from HwrADC*/ + *((volatile uint8_t*)0xFFFFF431) &= 0xFB; + *((volatile uint8_t*)0xFFFFF420) |= 0x01; + *((volatile uint8_t*)0xFFFFF421) &= 0xFE; + *((volatile uint8_t*)0xFFFFF422) &= 0xFE; + /*enable SPI 2 if disabled*/ writeArbitraryMemory16(HW_REG_ADDR(SPICONT2), 0x4207); @@ -83,6 +89,9 @@ uint16_t ads7846GetValue(uint8_t channel, Boolean referenceMode, Boolean mode8bi /*disable SPI2*/ writeArbitraryMemory16(HW_REG_ADDR(SPICONT2), 0xE000); + /*misc configs from HwrADC*/ + *((uint8_t*)0xFFFFF431) |= 0x04; + return value; } diff --git a/src/hardwareRegisters.c b/src/hardwareRegisters.c index db995dc..1108841 100644 --- a/src/hardwareRegisters.c +++ b/src/hardwareRegisters.c @@ -371,8 +371,8 @@ uint8_t getHwRegister8(uint32_t address){ #endif switch(address){ case PADATA: - //read outputs as is and inputs as true, floating pins are high - return (registerArrayRead8(PADATA) & registerArrayRead8(PADIR)) | ~registerArrayRead8(PADIR); + //not attached, used as data lines + return 0x00; case PBDATA: //read outputs as is and inputs as true, floating pins are high