From 2db146503f4fa51d9968d7c16e52fe3508cc6911 Mon Sep 17 00:00:00 2001 From: brtchip-tuannguyen <48436368+brtchip-tuannguyen@users.noreply.github.com> Date: Thu, 27 May 2021 15:44:10 +0700 Subject: [PATCH 1/4] Add motion detect feature --- adafruit_vc0706.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/adafruit_vc0706.py b/adafruit_vc0706.py index c6556c8..6bdade8 100644 --- a/adafruit_vc0706.py +++ b/adafruit_vc0706.py @@ -213,6 +213,22 @@ def read_picture_into(self, buf): buf[i] = self._buffer[i] return n + def motion_detected(self): + self._read_response(self._buffer, len(self._buffer)) + if not self._verify_response(_COMM_MOTION_DETECTED): + return 0 + return 1 + + def get_motion_detect(self): + if not self._run_command(_COMM_MOTION_STATUS, bytes([0x00]), 6): + return 0 + return 1 + + def set_motion_detect(self, args): + if not self._run_command(_COMM_MOTION_CTRL, bytes([0x01, args]), 5): + return 0 + return 1 + def _run_command(self, cmd, args, resplen, flush=True): if flush: self._read_response(self._buffer, len(self._buffer)) From 67bead2424466804de4c0aa28a9f370e2bb12bff Mon Sep 17 00:00:00 2001 From: brtchip-tuannguyen <48436368+brtchip-tuannguyen@users.noreply.github.com> Date: Fri, 28 May 2021 08:15:37 +0700 Subject: [PATCH 2/4] Return True/Fase instead of 0/1 --- adafruit_vc0706.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/adafruit_vc0706.py b/adafruit_vc0706.py index 6bdade8..548e74d 100644 --- a/adafruit_vc0706.py +++ b/adafruit_vc0706.py @@ -216,18 +216,14 @@ def read_picture_into(self, buf): def motion_detected(self): self._read_response(self._buffer, len(self._buffer)) if not self._verify_response(_COMM_MOTION_DETECTED): - return 0 - return 1 + return False + return True def get_motion_detect(self): - if not self._run_command(_COMM_MOTION_STATUS, bytes([0x00]), 6): - return 0 - return 1 - + return self._run_command(_COMM_MOTION_STATUS, bytes([0x00]), 6): + def set_motion_detect(self, args): - if not self._run_command(_COMM_MOTION_CTRL, bytes([0x01, args]), 5): - return 0 - return 1 + return self._run_command(_COMM_MOTION_CTRL, bytes([0x01, args]), 5): def _run_command(self, cmd, args, resplen, flush=True): if flush: From 3e25f506ebfdc8dc690966e300bc1d2a063c5ccd Mon Sep 17 00:00:00 2001 From: brtchip-tuannguyen <48436368+brtchip-tuannguyen@users.noreply.github.com> Date: Fri, 28 May 2021 08:39:43 +0700 Subject: [PATCH 3/4] Fix typo --- adafruit_vc0706.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_vc0706.py b/adafruit_vc0706.py index 548e74d..c357585 100644 --- a/adafruit_vc0706.py +++ b/adafruit_vc0706.py @@ -220,10 +220,10 @@ def motion_detected(self): return True def get_motion_detect(self): - return self._run_command(_COMM_MOTION_STATUS, bytes([0x00]), 6): + return self._run_command(_COMM_MOTION_STATUS, bytes([0x00]), 6) def set_motion_detect(self, args): - return self._run_command(_COMM_MOTION_CTRL, bytes([0x01, args]), 5): + return self._run_command(_COMM_MOTION_CTRL, bytes([0x01, args]), 5) def _run_command(self, cmd, args, resplen, flush=True): if flush: From 0f8dc4f3877594b0e4690361105c7a4dd91767bb Mon Sep 17 00:00:00 2001 From: Tuan Nguyen Date: Fri, 28 May 2021 10:28:06 +0700 Subject: [PATCH 4/4] Add function docstring --- adafruit_vc0706.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/adafruit_vc0706.py b/adafruit_vc0706.py index c357585..29b226e 100644 --- a/adafruit_vc0706.py +++ b/adafruit_vc0706.py @@ -214,15 +214,20 @@ def read_picture_into(self, buf): return n def motion_detected(self): + """Read the gesture detection result""" self._read_response(self._buffer, len(self._buffer)) if not self._verify_response(_COMM_MOTION_DETECTED): - return False + return False return True def get_motion_detect(self): + """Query the gesture detection status""" return self._run_command(_COMM_MOTION_STATUS, bytes([0x00]), 6) def set_motion_detect(self, args): + """Set gesture detection status + args = 0 to unset, 1 to set + """ return self._run_command(_COMM_MOTION_CTRL, bytes([0x01, args]), 5) def _run_command(self, cmd, args, resplen, flush=True):