bugs offset measurements

This commit is contained in:
Noah Piqué
2021-11-19 15:29:10 +01:00
parent 8c54032298
commit d7b1b28616
7 changed files with 46 additions and 11 deletions

View File

@ -88,7 +88,7 @@
#define FAULT_RTDINLOW 0x08
#define FAULT_OVUV 0x04
#define CONFIG (U8)(CONFIG_VBIAS_ON | CONFIG_MODE_OFF | CONFIG_24WIRE | CONFIG_FAULTCYCLE_AUTO | CONFIG_FILT60HZ) // enable Vbias; autoconvert off; 4-wire; Fault detection auto 60Hz;
#define CONFIG (U8)(CONFIG_VBIAS_ON | CONFIG_MODE_OFF | CONFIG_24WIRE | CONFIG_FILT60HZ) // enable Vbias; autoconvert off; 4-wire; 60Hz;
#define EVENT_ENABLE ((U32)(1<<0))
#define EVENT_DISABLE ((U32)(1<<1))
@ -134,7 +134,7 @@
LOCAL CONST osMutexAttr_t m_stMutexAttr =
{
"ADCD_Mutex", // human readable mutex name
"ADCD_Mutex", // human readable mutex name
osMutexRecursive | osMutexPrioInherit, // attr_bits
NULL, // memory for control block
0U // size for control block
@ -156,7 +156,7 @@ LOCAL osMutexId_t m_pstMutexID = NULL;
LOCAL SPID_StHandle m_stSPIHandle =
{
SPID_eADC, // enSPI;
0xFF, // enCS (0xFF = hardware chip select)
0xFF, // enCS (0xFF = hardware chip select)
m_au8TxData, // pu8TxBuf;
m_au8RxData, // pu8RxBuf;
0, // u16TransferSize;
@ -210,13 +210,21 @@ BOOL ADCD_boInitializeModule( VOID )
DIPO_vSetOutput(DIPO_eCS_C);
boOK &= boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE);
DIPO_vResetOutput(DIPO_eCS_C);
DIPO_vSetOutput(DIPO_eCS_C);
boOK &= boWriteReg(REG_HIGH_FAULT_MSB, (U16) 0x5b12 , TRUE);
DIPO_vResetOutput(DIPO_eCS_C);
DIPO_vSetOutput(DIPO_eCS_C);
boOK &= boWriteReg(REG_LOW_FAULT_MSB, (U16) 0x2690 , TRUE);
DIPO_vResetOutput(DIPO_eCS_C);
DIPO_vSetOutput(DIPO_eCS_H);
boOK &= boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE);
DIPO_vResetOutput(DIPO_eCS_H);
DIPO_vSetOutput(DIPO_eCS_H);
boOK &= boWriteReg(REG_HIGH_FAULT_MSB, (U16) 0x5b12 , TRUE);
DIPO_vResetOutput(DIPO_eCS_H);
DIPO_vSetOutput(DIPO_eCS_H);
boOK &= boWriteReg(REG_LOW_FAULT_MSB, (U16) 0x2690 , TRUE);
DIPO_vResetOutput(DIPO_eCS_H);
@ -278,7 +286,12 @@ BOOL ADCD_dReadData(ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data)
osMutexAcquire( m_pstMutexID, osWaitForever );
DIPO_vSetOutput(CS);
boOK &= boReadReg(REG_FAULT_STATUS, &u16Data, FALSE);
boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE);
DIPO_vResetOutput(CS);
DIPO_vSetOutput(CS);
boOK &= boWriteReg(REG_CONFIG, (U16) CONFIG | CONFIG_FAULTSTATCLEAR, FALSE);
DIPO_vResetOutput(CS);
DIPO_vSetOutput(CS);
boOK &= boReadReg(REG_HIGH_FAULT_MSB, &u16Data, TRUE);
DIPO_vResetOutput(CS);
osMutexRelease( m_pstMutexID );
@ -290,6 +303,16 @@ BOOL ADCD_dReadData(ADCD_EnTemps eChannel, PU8 pu8Error, PU16 pu16Data)
*pu16Data = u16Data;
osMutexAcquire( m_pstMutexID, osWaitForever );
DIPO_vSetOutput(CS);
boOK &= boWriteReg(REG_CONFIG, CONFIG | CONFIG_FAULTCYCLE_AUTO , FALSE);
DIPO_vResetOutput(CS);
osMutexRelease( m_pstMutexID );
return( boOK );
}