@@ -52,7 +52,7 @@ int32_t QwDevXM125::distanceBegin()
5252{
5353 uint32_t errorStatus = 0 ;
5454
55- // Distance Sensor Setup
55+ // *** Distance Sensor Setup ***
5656 // Reset sensor configuration to reapply configuration registers
5757 setDistanceCommand (SFE_XM125_DISTANCE_RESET_MODULE);
5858
@@ -174,9 +174,9 @@ int32_t QwDevXM125::getDistanceDetectorVersion(uint32_t &major, uint32_t &minor,
174174 regVal = __builtin_bswap32 (regVal);
175175
176176 // Mask unused bits from register
177- major = (regVal & SFE_XM125_PRESENCE_MAJOR_VERSION_MASK ) >> 16 ;
178- minor = (regVal & SFE_XM125_PRESENCE_MINOR_VERSION_MASK ) >> 8 ;
179- patch = regVal & SFE_XM125_PRESENCE_PATCH_VERSION_MASK ;
177+ major = (regVal & SFE_XM125_DISTANCE_MAJOR_VERSION_MASK ) >> SFE_XM125_DISTANCE_MAJOR_VERSION_MASK_SHIFT ;
178+ minor = (regVal & SFE_XM125_DISTANCE_MINOR_VERSION_MASK ) >> SFE_XM125_DISTANCE_MINOR_VERSION_MASK_SHIFT ;
179+ patch = regVal & SFE_XM125_DISTANCE_PATCH_VERSION_MASK ;
180180
181181 return retVal;
182182}
@@ -201,62 +201,62 @@ int32_t QwDevXM125::getDistanceDetectorErrorStatus(uint32_t &status)
201201 return -1 ;
202202 }
203203
204- if (((regVal & SFE_XM125_DISTANCE_RSS_REGISTER_ERROR_MASK) >> 15 ) != 0 )
204+ if (((regVal & SFE_XM125_DISTANCE_RSS_REGISTER_ERROR_MASK) >> SFE_XM125_DISTANCE_RSS_REGISTER_ERROR_MASK_SHIFT ) != 0 )
205205 {
206206 status = 1 ;
207207 return 0 ;
208208 }
209- else if (((regVal & SFE_XM125_DISTANCE_CONFIG_CREATE_ERROR_MASK) >> 16 ) != 0 )
209+ else if (((regVal & SFE_XM125_DISTANCE_CONFIG_CREATE_ERROR_MASK) >> SFE_XM125_DISTANCE_CONFIG_CREATE_ERROR_MASK_SHIFT ) != 0 )
210210 {
211211 status = 2 ;
212212 return 0 ;
213213 }
214- else if (((regVal & SFE_XM125_DISTANCE_SENSOR_CREATE_ERROR_MASK) >> 17 ) != 0 )
214+ else if (((regVal & SFE_XM125_DISTANCE_SENSOR_CREATE_ERROR_MASK) >> SFE_XM125_DISTANCE_SENSOR_CREATE_ERROR_MASK_SHIFT ) != 0 )
215215 {
216216 status = 3 ;
217217 return 0 ;
218218 }
219- else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_CREATE_ERROR_MASK) >> 18 ) != 0 )
219+ else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_CREATE_ERROR_MASK) >> SFE_XM125_DISTANCE_DETECTOR_CREATE_ERROR_MASK_SHIFT ) != 0 )
220220 {
221221 status = 5 ;
222222 return 0 ;
223223 }
224- else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_BUFFER_ERROR_MASK) >> 19 ) != 0 )
224+ else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_BUFFER_ERROR_MASK) >> SFE_XM125_DISTANCE_DETECTOR_BUFFER_ERROR_MASK_SHIFT ) != 0 )
225225 {
226226 status = 6 ;
227227 return 0 ;
228228 }
229- else if (((regVal & SFE_XM125_DISTANCE_SENSOR_BUFFER_ERROR_MASK) >> 20 ) != 0 )
229+ else if (((regVal & SFE_XM125_DISTANCE_SENSOR_BUFFER_ERROR_MASK) >> SFE_XM125_DISTANCE_SENSOR_BUFFER_ERROR_MASK_SHIFT ) != 0 )
230230 {
231231 status = 7 ;
232232 return 0 ;
233233 }
234- else if (((regVal & SFE_XM125_DISTANCE_CALIBRATION_BUFFER_ERROR_MASK) >> 21 ) != 0 )
234+ else if (((regVal & SFE_XM125_DISTANCE_CALIBRATION_BUFFER_ERROR_MASK) >> SFE_XM125_DISTANCE_CALIBRATION_BUFFER_ERROR_MASK_SHIFT ) != 0 )
235235 {
236236 status = 8 ;
237237 return 0 ;
238238 }
239- else if (((regVal & SFE_XM125_DISTANCE_CONFIG_APPLY_ERROR_MASK) >> 22 ) != 0 )
239+ else if (((regVal & SFE_XM125_DISTANCE_CONFIG_APPLY_ERROR_MASK) >> SFE_XM125_DISTANCE_CONFIG_APPLY_ERROR_MASK_SHIFT ) != 0 )
240240 {
241241 status = 9 ;
242242 return 0 ;
243243 }
244- else if (((regVal & SFE_XM125_DISTANCE_SENSOR_CALIBRATE_ERROR_MASK) >> 23 ) != 0 )
244+ else if (((regVal & SFE_XM125_DISTANCE_SENSOR_CALIBRATE_ERROR_MASK) >> SFE_XM125_DISTANCE_SENSOR_CALIBRATE_ERROR_MASK_SHIFT ) != 0 )
245245 {
246246 status = 10 ;
247247 return 0 ;
248248 }
249- else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_CALIBRATE_ERROR_MASK) >> 24 ) != 0 )
249+ else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_CALIBRATE_ERROR_MASK) >> SFE_XM125_DISTANCE_DETECTOR_CALIBRATE_ERROR_MASK_SHIFT ) != 0 )
250250 {
251251 status = 11 ;
252252 return 0 ;
253253 }
254- else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_ERROR_MASK) >> 27 ) != 0 )
254+ else if (((regVal & SFE_XM125_DISTANCE_DETECTOR_ERROR_MASK) >> SFE_XM125_DISTANCE_DETECTOR_ERROR_MASK_SHIFT ) != 0 )
255255 {
256256 status = 12 ;
257257 return 0 ;
258258 }
259- else if (((regVal & SFE_XM125_DISTANCE_BUSY_MASK) >> 30 ) != 0 )
259+ else if (((regVal & SFE_XM125_DISTANCE_BUSY_MASK) >> SFE_XM125_DISTANCE_BUSY_MASK_SHIFT ) != 0 )
260260 {
261261 status = 13 ;
262262 return 0 ;
@@ -305,7 +305,7 @@ int32_t QwDevXM125::getDistanceNearStartEdge(uint32_t &edge)
305305 regVal = __builtin_bswap32 (regVal);
306306
307307 // Mask unused bits from register
308- edge = (regVal & SFE_XM125_DISTANCE_NEAR_START_EDGE_MASK) >> 8 ;
308+ edge = (regVal & SFE_XM125_DISTANCE_NEAR_START_EDGE_MASK) >> SFE_XM125_DISTANCE_NEAR_START_EDGE_MASK_SHIFT ;
309309
310310 return retVal;
311311}
@@ -320,7 +320,7 @@ int32_t QwDevXM125::getDistanceCalibrationNeeded(uint32_t &calibrate)
320320 regVal = __builtin_bswap32 (regVal);
321321
322322 // Mask unused bits from register
323- calibrate = (regVal & 0x00000200 ) >> 9 ;
323+ calibrate = (regVal & SFE_XM125_DISTANCE_CALIBRATION_NEEDED_MASK ) >> SFE_XM125_DISTANCE_CALIBRATION_NEEDED_MASK_SHIFT ;
324324
325325 return retVal;
326326}
@@ -335,7 +335,7 @@ int32_t QwDevXM125::getDistanceMeasureDistanceError(uint32_t &error)
335335 regVal = __builtin_bswap32 (regVal);
336336
337337 // Mask unused bits from register
338- error = (regVal & SFE_XM125_DISTANCE_MEASURE_DISTANCE_ERROR_MASK) >> 10 ;
338+ error = (regVal & SFE_XM125_DISTANCE_MEASURE_DISTANCE_ERROR_MASK) >> SFE_XM125_DISTANCE_MEASURE_DISTANCE_ERROR_MASK_SHIFT ;
339339
340340 return retVal;
341341}
@@ -350,7 +350,7 @@ int32_t QwDevXM125::getDistanceTemperature(uint32_t &temperature)
350350 regVal = __builtin_bswap32 (regVal);
351351
352352 // Mask unused bits from register
353- temperature = (regVal & SFE_XM125_DISTANCE_TEMPERATURE_MASK) >> 16 ;
353+ temperature = (regVal & SFE_XM125_DISTANCE_TEMPERATURE_MASK) >> SFE_XM125_DISTANCE_TEMPERATURE_MASK_SHIFT ;
354354
355355 return retVal;
356356}
@@ -751,12 +751,13 @@ int32_t QwDevXM125::distanceBusyWait()
751751 regVal = __builtin_bswap32 (regVal);
752752
753753 // Poll Detector Status until Busy bit is cleared
754- while (((regVal & SFE_XM125_DISTANCE_DETECTOR_STATUS_MASK) >> 30 ) != 0 )
754+ while (((regVal & SFE_XM125_DISTANCE_DETECTOR_STATUS_MASK) >> SFE_XM125_DISTANCE_DETECTOR_STATUS_MASK_SHIFT ) != 0 )
755755 {
756756 retVal = _theBus->readRegister16Region (SFE_XM125_DISTANCE_DETECTOR_STATUS, (uint8_t *)®Val, 4 );
757757 regVal = __builtin_bswap32 (regVal);
758758 }
759759
760+ // Return error code if non-zero
760761 if (retVal != 0 )
761762 {
762763 return retVal;
@@ -768,7 +769,7 @@ int32_t QwDevXM125::distanceBusyWait()
768769
769770int32_t QwDevXM125::presenceDetectorStart ()
770771{
771- // Presence Sensor Setup
772+ // *** Presence Sensor Setup ***
772773 uint32_t errorStatus = 0 ;
773774
774775 // Reset sensor configuration to reapply configuration registers
@@ -886,9 +887,9 @@ int32_t QwDevXM125::getPresenceDetectorVersion(uint32_t &major, uint32_t &minor,
886887 retVal = _theBus->readRegister16Region (SFE_XM125_PRESENCE_VERSION, (uint8_t *)®Val, 4 );
887888
888889 // Mask unused bits from register
889- major = (regVal & 0xffff0000 ) >> 16 ;
890- minor = (regVal & 0x0000ff00 ) >> 8 ;
891- patch = regVal & 0x000000ff ;
890+ major = (regVal & SFE_XM125_PRESENCE_MAJOR_VERSION_MASK ) >> SFE_XM125_PRESENCE_MAJOR_VERSION_MASK_SHIFT ;
891+ minor = (regVal & SFE_XM125_PRESENCE_MINOR_VERSION_MASK ) >> SFE_XM125_PRESENCE_MINOR_VERSION_MASK_SHIFT ;
892+ patch = regVal & SFE_XM125_PRESENCE_PATCH_VERSION_MASK ;
892893
893894 return retVal;
894895}
@@ -920,58 +921,54 @@ int32_t QwDevXM125::getPresenceDetectorErrorStatus(uint32_t &status)
920921 return -1 ;
921922 }
922923
923- if (((regVal & SFE_XM125_PRESENCE_RSS_REGISTER_ERROR_MASK) >> 15 ) != 0 )
924+ if (((regVal & SFE_XM125_PRESENCE_RSS_REGISTER_ERROR_MASK) >> SFE_XM125_PRESENCE_RSS_REGISTER_ERROR_MASK_SHIFT ) != 0 )
924925 {
925926 status = 1 ;
926927 return 0 ;
927928 }
928- else if (((regVal & SFE_XM125_PRESENCE_CONFIG_CREATE_ERROR_MASK) >> 16 ) != 0 )
929+ else if (((regVal & SFE_XM125_PRESENCE_CONFIG_CREATE_ERROR_MASK) >> SFE_XM125_PRESENCE_CONFIG_CREATE_ERROR_MASK_SHIFT ) != 0 )
929930 {
930931 status = 2 ;
931932 return 0 ;
932933 }
933- else if (((regVal & SFE_XM125_PRESENCE_SENSOR_CREATE_ERROR_MASK) >> 17 ) != 0 )
934+ else if (((regVal & SFE_XM125_PRESENCE_SENSOR_CREATE_ERROR_MASK) >> SFE_XM125_PRESENCE_SENSOR_CREATE_ERROR_MASK_SHIFT ) != 0 )
934935 {
935936 status = 3 ;
936937 return 0 ;
937938 }
938- else if (((regVal & SFE_XM125_PRESENCE_SENSOR_CALIBRATE_ERROR_MASK) >> 18 ) != 0 )
939+ else if (((regVal & SFE_XM125_PRESENCE_SENSOR_CALIBRATE_ERROR_MASK) >> SFE_XM125_PRESENCE_SENSOR_CALIBRATE_ERROR_MASK_SHIFT ) != 0 )
939940 {
940941 status = 4 ;
941942 return 0 ;
942943 }
943- else if (((regVal & SFE_XM125_PRESENCE_DETECTOR_CREATE_ERROR_MASK) >> 19 ) != 0 )
944+ else if (((regVal & SFE_XM125_PRESENCE_DETECTOR_CREATE_ERROR_MASK) >> SFE_XM125_PRESENCE_DETECTOR_CREATE_ERROR_MASK_SHIFT ) != 0 )
944945 {
945946 status = 5 ;
946947 return 0 ;
947948 }
948- else if (((regVal & SFE_XM125_PRESENCE_DETECTOR_BUFFER_ERROR_MASK) >> 20 ) != 0 )
949+ else if (((regVal & SFE_XM125_PRESENCE_DETECTOR_BUFFER_ERROR_MASK) >> SFE_XM125_PRESENCE_DETECTOR_BUFFER_ERROR_MASK_SHIFT ) != 0 )
949950 {
950951 status = 6 ;
951952 return 0 ;
952953 }
953- else if (((regVal & SFE_XM125_PRESENCE_SENSOR_BUFFER_ERROR_MASK) >> 21 ) != 0 )
954+ else if (((regVal & SFE_XM125_PRESENCE_SENSOR_BUFFER_ERROR_MASK) >> SFE_XM125_PRESENCE_SENSOR_BUFFER_ERROR_MASK_SHIFT ) != 0 )
954955 {
955956 status = 7 ;
956957 return 0 ;
957958 }
958- else if (((regVal & SFE_XM125_PRESENCE_CONFIG_APPLY_ERROR_MASK) >> 22 ) != 0 )
959+ else if (((regVal & SFE_XM125_PRESENCE_CONFIG_APPLY_ERROR_MASK) >> SFE_XM125_PRESENCE_CONFIG_APPLY_ERROR_MASK_SHIFT ) != 0 )
959960 {
960961 status = 8 ;
961962 return 0 ;
962963 }
963- else if (((regVal & SFE_XM125_PRESENCE_DETECTOR_REG_ERROR_MASK) >> 27 ) != 0 )
964+ else if (((regVal & SFE_XM125_PRESENCE_DETECTOR_REG_ERROR_MASK) >> SFE_XM125_PRESENCE_DETECTOR_REG_ERROR_MASK_SHIFT ) != 0 )
964965 {
965966 status = 9 ;
966967 return 0 ;
967968 }
968- // else if(((regVal & SFE_XM125_PRESENCE_BUSY_MASK) >> 30) != 0)
969- // {
970- // status = 10;
971- // return 0;
972- // }
973969
974- return 0 ; // return 0 with no errors
970+ // return 0 with no errors
971+ return 0 ;
975972}
976973
977974
@@ -1015,7 +1012,7 @@ int32_t QwDevXM125::getPresenceDetectorRegError(uint32_t &error)
10151012 regVal = __builtin_bswap32 (regVal);
10161013
10171014 // Mask unused bits from register
1018- error = (regVal & SFE_XM125_PRESENCE_DETECTOR_ERROR_MASK) >> 14 ;
1015+ error = (regVal & SFE_XM125_PRESENCE_DETECTOR_ERROR_MASK) >> SFE_XM125_PRESENCE_DETECTOR_ERROR_MASK_SHIFT ;
10191016
10201017 return retVal;
10211018}
@@ -1028,7 +1025,7 @@ int32_t QwDevXM125::getPresenceTemperature(uint32_t &temp)
10281025 int32_t retVal = _theBus->readRegister16Region (SFE_XM125_PRESENCE_DISTANCE, (uint8_t *)®Val, 4 );
10291026
10301027 // Mask unused bits from register
1031- temp = (regVal & SFE_XM125_PRESENCE_TEMPERATURE_MASK) >> 16 ;
1028+ temp = (regVal & SFE_XM125_PRESENCE_TEMPERATURE_MASK) >> SFE_XM125_PRESENCE_TEMPERATURE_MASK_SHIFT ;
10321029
10331030 return retVal;
10341031}
@@ -1367,7 +1364,7 @@ int32_t QwDevXM125::getPresenceBusy(uint32_t &busy)
13671364
13681365 busy = __builtin_bswap32 (busy);
13691366 // Mask unused bits from register
1370- busy = (regVal & SFE_XM125_PRESENCE_BUSY_MASK) >> 30 ;
1367+ busy = (regVal & SFE_XM125_PRESENCE_BUSY_MASK) >> SFE_XM125_PRESENCE_BUSY_MASK_SHIFT ;
13711368
13721369 return retVal;
13731370}
0 commit comments