@@ -39,40 +39,45 @@ int32_t setupError = 0;
39
39
int32_t presValError = 0 ;
40
40
int32_t detectorError = 0 ;
41
41
42
+ // Presence range in mm used
43
+ #define MY_XM125_RANGE_START 200
44
+ #define MY_XM125_RANGE_END 1000
42
45
void setup ()
43
46
{
44
47
// Start serial
45
48
Serial.begin (115200 );
49
+
50
+ Serial.println (" " );
51
+ Serial.println (" -------------------------------------------------------" );
46
52
Serial.println (" XM125 Example 1: Basic Presence Readings" );
53
+ Serial.println (" -------------------------------------------------------" );
47
54
Serial.println (" " );
48
55
49
56
Wire.begin ();
50
57
51
58
// If begin is successful (1), then start example
52
- int startErr = radarSensor.begin (i2cAddress, Wire);
53
- if (startErr == 1 )
59
+ bool success = radarSensor.begin (i2cAddress, Wire);
60
+ if (success == false )
54
61
{
55
- Serial.println (" Begin" );
56
- }
57
- else // Otherwise, infinite loop
58
- {
59
- Serial.print (" Start Error Code: " );
60
- Serial.println (startErr);
61
62
Serial.println (" Device failed to setup - Freezing code." );
62
63
while (1 )
63
64
; // Runs forever
64
65
}
65
66
66
67
// Start the sensor with default register values
67
- int32_t setupError = radarSensor.presenceDetectorStart ();
68
+ int32_t setupError = radarSensor.presenceDetectorStart (MY_XM125_RANGE_START, MY_XM125_RANGE_END );
68
69
if (setupError != 0 )
69
70
{
70
71
Serial.print (" Presence Detection Start Setup Error: " );
71
72
Serial.println (setupError);
72
73
}
73
-
74
- // New line and delay for easier reading
74
+ Serial.print (" Presense Detection Started - range: " );
75
+ Serial.print (MY_XM125_RANGE_START);
76
+ Serial.print (" mm to " );
77
+ Serial.print (MY_XM125_RANGE_END);
78
+ Serial.println (" mm" );
75
79
Serial.println ();
80
+
76
81
delay (500 );
77
82
}
78
83
@@ -87,22 +92,25 @@ void loop()
87
92
if (presValError == 0 )
88
93
{
89
94
Serial.print (" Presence Detected: " );
90
- Serial.print (distance);
91
- Serial.println (" mm" );
92
- // Serial.print(distance * .1);
93
- // Serial.println("cm");
94
- // Serial.print(distance * .001);
95
- // Serial.println("m");
96
- // Serial.print(distance * .001);
97
- // Serial.println("m");
98
- // Serial.print(distance * .03937008);
99
- // Serial.println("In");
95
+ // if distance is > 0, presence is detected, else it is not
96
+ if (distance > 0 )
97
+ {
98
+ Serial.print (" YES - Distance: " );
99
+ Serial.print (distance);
100
+ Serial.print (" mm, " );
101
+ Serial.print (distance * .1 );
102
+ Serial.print (" cm, " );
103
+ Serial.print (distance * .001 );
104
+ Serial.print (" m, " );
105
+ Serial.print (distance * .03937008 );
106
+ Serial.println (" In" );
107
+ }
108
+ else
109
+ Serial.println (" NO" );
100
110
}
101
111
else
102
- {
103
112
Serial.println (" Error returning presence distance value" );
104
- }
105
113
106
- // Delay 0 .5 seconds between readings
107
- delay (500 );
114
+ // Delay 2 .5 seconds between readings
115
+ delay (2500 );
108
116
}
0 commit comments