From 32b5cd534e36da1dd2da1f021e07ed04966d8b60 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 6 May 2021 13:17:03 +0000 Subject: [PATCH] Restored old vt_storm.c without reloads. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@14341 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- testrt/VT_STORM/source/vt_storm.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/testrt/VT_STORM/source/vt_storm.c b/testrt/VT_STORM/source/vt_storm.c index e3ed6db27..b24a2662f 100644 --- a/testrt/VT_STORM/source/vt_storm.c +++ b/testrt/VT_STORM/source/vt_storm.c @@ -86,27 +86,44 @@ static void sweeper0_cb(void *p) { chSysLockFromISR(); chVTSetI(&wrapper, (sysinterval_t)-1, wrapper_cb, NULL); + chVTSetI(&sweeper0, delay, sweeper0_cb, NULL); chSysUnlockFromISR(); } static void sweeperm1_cb(void *p) { (void)p; + + chSysLockFromISR(); + chVTSetI(&sweeperm1, delay - 1, sweeperm1_cb, NULL); + chSysUnlockFromISR(); } static void sweeperp1_cb(void *p) { (void)p; + + chSysLockFromISR(); + chVTSetI(&sweeperp1, delay + 1, sweeperp1_cb, NULL); + chSysUnlockFromISR(); } static void sweeperm3_cb(void *p) { (void)p; + + chSysLockFromISR(); + chVTSetI(&sweeperm3, delay - 3, sweeperm3_cb, NULL); + chSysUnlockFromISR(); } static void sweeperp3_cb(void *p) { (void)p; + + chSysLockFromISR(); + chVTSetI(&sweeperp3, delay + 3, sweeperp3_cb, NULL); + chSysUnlockFromISR(); } /*===========================================================================*/ @@ -165,11 +182,11 @@ void vt_storm_execute(const vt_storm_config_t *cfg) { /* Starting sweepers.*/ chSysLock(); chVTSetI(&watchdog, TIME_MS2I(501), watchdog_cb, NULL); - chVTSetContinuousI(&sweeper0, delay, sweeper0_cb, NULL); - chVTSetContinuousI(&sweeperm1, delay - 1, sweeperm1_cb, NULL); - chVTSetContinuousI(&sweeperp1, delay + 1, sweeperp1_cb, NULL); - chVTSetContinuousI(&sweeperm3, delay - 3, sweeperm3_cb, NULL); - chVTSetContinuousI(&sweeperp3, delay + 3, sweeperp3_cb, NULL); + chVTSetI(&sweeper0, delay, sweeper0_cb, NULL); + chVTSetI(&sweeperm1, delay - 1, sweeperm1_cb, NULL); + chVTSetI(&sweeperp1, delay + 1, sweeperp1_cb, NULL); + chVTSetI(&sweeperm3, delay - 3, sweeperm3_cb, NULL); + chVTSetI(&sweeperp3, delay + 3, sweeperp3_cb, NULL); chVTSetI(&wrapper, (sysinterval_t) - 1, wrapper_cb, NULL); /* Letting them run for half second.*/