Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 24 additions & 34 deletions src/sfeQwiicXM125.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -353,18 +353,18 @@ int32_t QwDevXM125::getDistanceMeasureDistanceError(uint32_t &error)
return retVal;
}

int32_t QwDevXM125::getDistanceTemperature(uint32_t &temperature)
int32_t QwDevXM125::getDistanceTemperature(int32_t &temperature)
{
int32_t retVal;
uint32_t retVal;
uint32_t regVal = 0;

// Read from 16-Bit Register
size_t readBytes = 0;
retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_RESULT, (uint8_t*)&regVal, 4, readBytes);
regVal = __builtin_bswap32(regVal);

// Mask unused bits from register
temperature = (regVal & SFE_XM125_DISTANCE_TEMPERATURE_MASK) >> SFE_XM125_DISTANCE_TEMPERATURE_MASK_SHIFT;
// Mask unused bits from register
temperature = (int16_t)((regVal & SFE_XM125_DISTANCE_TEMPERATURE_MASK) >> SFE_XM125_DISTANCE_TEMPERATURE_MASK_SHIFT);

return retVal;
}
Expand Down Expand Up @@ -449,93 +449,83 @@ int32_t QwDevXM125::getDistancePeak9Distance(uint32_t &peak)
return retVal;
}

int32_t QwDevXM125::getDistancePeak0Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak0Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK0_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak1Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak1Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK1_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak2Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak2Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK2_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak3Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak3Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK3_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak4Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak4Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK4_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak5Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak5Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK5_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak6Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak6Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK6_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak7Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak7Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK7_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak8Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak8Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK8_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

int32_t QwDevXM125::getDistancePeak9Strength(uint32_t &peak)
int32_t QwDevXM125::getDistancePeak9Strength(int32_t &peak)
{
size_t readBytes = 0;
int32_t retVal = _theBus->readRegister16Region(SFE_XM125_DISTANCE_PEAK9_STRENGTH, (uint8_t*)&peak, 4, readBytes);
peak = __builtin_bswap32(peak);
peak = peak/1000;
peak = (signed)__builtin_bswap32(peak);
return retVal;
}

Expand Down
22 changes: 11 additions & 11 deletions src/sfeQwiicXM125.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class QwDevXM125
/// only be used for relative temperature measurements.
/// @param temperature Relative tempertaure of device
/// @return Error code (0 no error)
int32_t getDistanceTemperature(uint32_t &temperature);
int32_t getDistanceTemperature(int32_t &temperature);

/// @brief This function returns the distance to peak 0
/// Note: This value is a factor 1000 larger than the RSS value
Expand Down Expand Up @@ -134,52 +134,52 @@ class QwDevXM125
/// @brief This function returns the strength of peak 0
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak0Strength(uint32_t &peak);
int32_t getDistancePeak0Strength(int32_t &peak);

/// @brief This function returns the strength of peak 1
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak1Strength(uint32_t &peak);
int32_t getDistancePeak1Strength(int32_t &peak);

/// @brief This function returns the strength of peak 2
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak2Strength(uint32_t &peak);
int32_t getDistancePeak2Strength(int32_t &peak);

/// @brief This function returns the strength of peak 3
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak3Strength(uint32_t &peak);
int32_t getDistancePeak3Strength(int32_t &peak);

/// @brief This function returns the strength of peak 4
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak4Strength(uint32_t &peak);
int32_t getDistancePeak4Strength(int32_t &peak);

/// @brief This function returns the strength of peak 5
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak5Strength(uint32_t &peak);
int32_t getDistancePeak5Strength(int32_t &peak);

/// @brief This function returns the strength of peak 6
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak6Strength(uint32_t &peak);
int32_t getDistancePeak6Strength(int32_t &peak);

/// @brief This function returns the strength of peak 7
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak7Strength(uint32_t &peak);
int32_t getDistancePeak7Strength(int32_t &peak);

/// @brief This function returns the strength of peak 8
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak8Strength(uint32_t &peak);
int32_t getDistancePeak8Strength(int32_t &peak);

/// @brief This function returns the strength of peak 9
/// Note: This value is a factor 1000 larger than the RSS value
/// @return Error code (0 no error)
int32_t getDistancePeak9Strength(uint32_t &peak);
int32_t getDistancePeak9Strength(int32_t &peak);

/// @brief This function returns the start of measured interval
/// in millimeters.
Expand Down