From b13681e7a5dafbc0ec9351a230ec9af8d86c0628 Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Mon, 20 Jul 2020 01:16:31 +0200 Subject: [PATCH] fix(vibra): Deal with durations <= 0 --- epicardium/modules/vibra.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/epicardium/modules/vibra.c b/epicardium/modules/vibra.c index 8b10d19b6..da1325093 100644 --- a/epicardium/modules/vibra.c +++ b/epicardium/modules/vibra.c @@ -27,15 +27,21 @@ void epic_vibra_vibrate(int millis) { int ticks = millis * (configTICK_RATE_HZ / 1000); + /* Make sure the duration is valid */ + if (ticks < 1) { + /* Disable a potentially running motor */ + epic_vibra_set(0); + return; + } + if (vibra_timer == NULL) { vibra_timer = xTimerCreateStatic( "vibratimer", ticks, - pdFALSE, + pdFALSE, /* one-shot */ 0, vTimerCallback, - &vibra_timer_data - ); + &vibra_timer_data); } if (vibra_timer != NULL) { epic_vibra_set(1); -- GitLab