Browse Source

Rename PIR to Motion and add parameter to wait on setup for if you're using a PIR sensor.

Robert Marshall 5 years ago
parent
commit
62b26ff593
2 changed files with 12 additions and 10 deletions
  1. 9 7
      Transmitter/src/PIR.cpp
  2. 3 3
      Transmitter/src/main.cpp

+ 9 - 7
Transmitter/src/PIR.cpp

@@ -2,7 +2,7 @@
 
 #define CALIBRATION_DURATION 30 //seconds
 
-class PIR{
+class Motion{
 	unsigned int _pin;
 	unsigned long _triggerDuration, _motionDetectedTime;
 	bool _currentMotionState;
@@ -10,21 +10,22 @@ class PIR{
 	void (*_stopCallback)(void);
 
 public:
-	PIR(unsigned int pin, unsigned long triggerDuration,  void (*startCallback)(void), void (*stopCallback)(void)){
+	Motion(unsigned int pin, unsigned long triggerDuration,  void (*startCallback)(void), void (*stopCallback)(void)){
 		_pin = pin;
 		_triggerDuration = triggerDuration;
 		_startCallback = startCallback;
 		_stopCallback = stopCallback;
 	}
 
-	void setup() {
+	void setup(bool wait=false) {
 		Serial.print("Starting PIR sensor");
 		pinMode(_pin, INPUT);
 		digitalWrite(_pin, LOW);
-		for (int i=0; i<CALIBRATION_DURATION; i++){
-			Serial.print(".");
-			delay(1000); // 30 second "calibration" time
-		}
+		if (wait)
+			for (int i=0; i<CALIBRATION_DURATION; i++){
+				Serial.print(".");
+				delay(1000); // 30 second "calibration" time
+			}
 		Serial.println("done");
 	}
 
@@ -37,6 +38,7 @@ public:
 				_startCallback();
 			_currentMotionState = motionDetected;
 		}
+		
 
 		if (_currentMotionState && millis() >= _motionDetectedTime + _triggerDuration){
 			_stopCallback();

+ 3 - 3
Transmitter/src/main.cpp

@@ -8,7 +8,7 @@
 void turnOn();
 void turnOff();
 void resend();
-PIR _pir(13, ON_DURATION, &turnOn, &turnOff);
+Motion _motion(13, ON_DURATION, &turnOn, &turnOff);
 unsigned int _signalValue;
 Transmitter _transmitter;
 Timer _timer(1000, &resend);
@@ -42,12 +42,12 @@ void setup() {
 	Serial.begin(9600);
 	Serial.println("Starting");
 	_transmitter.setup();
-	_pir.setup();
+	_motion.setup();
 	Serial.println("Started");
 }
 
 void loop() {
-	_pir.loop();
+	_motion.loop();
 	_timer.loop();
 	_led.loop();
 }