AD7172 library
Diff: ad7172.cpp
- Revision:
- 5:eeec01a423be
- Parent:
- 4:c4a844a34c19
- Child:
- 6:694cb68ae500
--- a/ad7172.cpp Fri May 08 11:56:29 2020 +0000 +++ b/ad7172.cpp Fri May 08 15:12:40 2020 +0000 @@ -74,7 +74,7 @@ _spi.format(8,3); // 8 bits ; POL=1 ; PHASE=1 _spi.frequency(10000000); // 10 MHz SPI clock rate - + continuous_on = 0; cs = new DigitalOut(slave_select); // Define cs as digital out variable referred to slave_select pin Reset(); // Calling the AD7172-2 restart function @@ -103,11 +103,15 @@ *******************************************************************************/ void AD7172::start_continuous() { - data.data = (AD7172_IFMODE_REG_CONT_READ)|AD7172_IFMODE_REG_DATA_STAT; - AD7172_PRINTF("CONTCONV"); - AD7172_PRINTF("Register: IFMODE\tWrite: 0x%04X",data.data); - WriteRegister(AD7172_IFMODE_REG,2); // Writing to IFMODE register - enable(); // *cs = 0 + if(continuous_on == 0) + { + data.data = (AD7172_IFMODE_REG_CONT_READ)|AD7172_IFMODE_REG_DATA_STAT; + AD7172_PRINTF("CONTCONV"); + AD7172_PRINTF("Register: IFMODE\tWrite: 0x%04X",data.data); + WriteRegister(AD7172_IFMODE_REG,2); // Writing to IFMODE register + enable(); // *cs = 0 + continuous_on = 1; + } } /****************************************************************************** @@ -116,30 +120,14 @@ *******************************************************************************/ void AD7172::stop_continuous() { - while(_rdy == 1) + if(continuous_on == 1) { - - } - o - _spi.write(0x44); - - - /* - if(_rdy == 0){ - ReadDataContinuousStatus(); + *cs=0; + while(_rdy == 1){} _spi.write(0x44); + *cs=1; + continuous_on =0; } - - for(i=0;i<4;i++) - _spi.write(0x00); - - //ReadDataContinuousStatus(); - //ReadDataRegister(); - */ - - *cs=1; - - } /******************************************************************************