uint8_t FDC1004::getRepeatRawData()

in FDC1004.cpp [225:274]


uint8_t FDC1004::getRepeatRawData(uint8_t measurements, uint32_t * value)
{
  uint32_t data;
  uint16_t msb;
  uint16_t lsb;
  int idx = 0;

  // uint16_t trigger_data;
  // trigger_data = readRegister16(FDC1004_CONFIG);
  // Serial.print(trigger_data, BIN);
  // writeRegister16(FDC1004_CONFIG, trigger_data);
  
  //always return array[4] and only fill request measurements?
  //or return array with measurement size request, in ascending order?

  if(((measurements & 8)>0))
  {
    msb = readRegister16(FDC1004_MEAS1_MSB);
    lsb = readRegister16(FDC1004_MEAS1_LSB);
    data = ((msb << 16) | lsb) >> 8;
    value[idx] = data;
    idx += 1;
  }
  if((measurements & 4)>0)
  {
    msb = readRegister16(FDC1004_MEAS2_MSB);
    lsb = readRegister16(FDC1004_MEAS2_LSB);
    data = ((msb << 16) | lsb) >> 8;
    value[idx] = data;
    idx += 1;
  }
  if((measurements & 2)>0)
  {
    msb = readRegister16(FDC1004_MEAS3_MSB);
    lsb = readRegister16(FDC1004_MEAS3_LSB);
    data = ((msb << 16) | lsb) >> 8;
    value[idx] = data;
    idx += 1;
  }
  if((measurements & 1)>0)
  {
    msb = readRegister16(FDC1004_MEAS4_MSB);
    lsb = readRegister16(FDC1004_MEAS4_LSB);
    data = ((msb << 16) | lsb) >> 8;
    value[idx] = data;
    idx += 1;
  }
  return 0;

}