in FDC1004.cpp [137:172]
uint32_t FDC1004::getRawData(uint8_t measurement, uint8_t rate)
{
//check if measurement is 1-4
uint32_t data = 0;
//check is measurement is ready
//read FDC_conf, check if DONE_X is 1
//return DATA_NOT_READY
//trigger single measurement
uint16_t trigger_data;
trigger_data = 0; //repeat disabled
trigger_data |= (rate) << 10; // sample rate
//only one channel can be set to trigger at a time.
trigger_data |= (1 << (8-measurement));
writeRegister16(FDC1004_CONFIG, trigger_data);
// trigger_data = readRegister16(FDC1004_CONFIG);
// Serial.println(trigger_data, BIN);
delay(15); //wait for data conversion
// trigger_data = readRegister16(FDC1004_CONFIG);
// Serial.println(trigger_data, BIN);
uint16_t msb = readRegister16(FDC1004_MEAS1_MSB+2*(measurement-1));
uint16_t lsb = readRegister16(FDC1004_MEAS1_LSB+2*(measurement-1));
// Serial.println(msb, BIN);
// Serial.println(lsb, BIN);
data |= msb;
data = (data << 16);
data |= lsb;
data = (data >> 8);
//trigger_data = readRegister16(FDC1004_CONFIG);
//Serial.println(trigger_data, BIN);
return data;
}