From 529ed73085d86f760ab2a6aa2de59ab0c43f2af9 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Wed, 13 Oct 2021 11:19:23 +0000 Subject: [PATCH] Improved demo to make report readable. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@14906 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- .../Makefile | 2 +- .../main.c | 21 ++++++++++++------- .../Makefile | 2 +- .../main.c | 21 ++++++++++++------- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/Makefile b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/Makefile index 5709ffb10..ac7f187f4 100644 --- a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/Makefile +++ b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/Makefile @@ -5,7 +5,7 @@ # Compiler options here. ifeq ($(USE_OPT),) - USE_OPT = -Og -ggdb -fomit-frame-pointer -falign-functions=16 + USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 endif # C specific options here (added to USE_OPT). diff --git a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/main.c b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/main.c index b054782a0..62b5f7ca8 100644 --- a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/main.c +++ b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/main.c @@ -101,19 +101,13 @@ static THD_WORKING_AREA(waUnprivileged2, 256); */ static THD_WORKING_AREA(waThread1, 256); static THD_FUNCTION(Thread1, arg) { - unsigned i = 1U; (void)arg; chRegSetThreadName("blinker"); while (true) { - palClearLine(LINE_LED_GREEN); + palToggleLine(LINE_LED_GREEN); chThdSleepMilliseconds(500); - (void) sbSendMessageTimeout(&sbx1, (msg_t)i, TIME_MS2I(10)); - palSetLine(LINE_LED_GREEN); - chThdSleepMilliseconds(500); - (void) sbSendMessageTimeout(&sbx2, (msg_t)i, TIME_MS2I(10)); - i++; } } @@ -121,6 +115,7 @@ static THD_FUNCTION(Thread1, arg) { * Application entry point. */ int main(void) { + unsigned i = 1U; thread_t *utp1, *utp2; event_listener_t el1; @@ -190,6 +185,18 @@ int main(void) { chprintf((BaseSequentialStream *)&LPSD1, "SB2 terminated\r\n"); } } + + if ((i & 1) == 0U) { + if (!chThdTerminatedX(utp1)) { + (void) sbSendMessageTimeout(&sbx1, (msg_t)i, TIME_MS2I(10)); + } + } + else { + if (!chThdTerminatedX(utp2)) { + (void) sbSendMessageTimeout(&sbx2, (msg_t)i, TIME_MS2I(10)); + } + } + i++; } } diff --git a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/Makefile b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/Makefile index 5709ffb10..ac7f187f4 100644 --- a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/Makefile +++ b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/Makefile @@ -5,7 +5,7 @@ # Compiler options here. ifeq ($(USE_OPT),) - USE_OPT = -Og -ggdb -fomit-frame-pointer -falign-functions=16 + USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 endif # C specific options here (added to USE_OPT). diff --git a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/main.c b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/main.c index 253ad08a8..f5d67fbb1 100644 --- a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/main.c +++ b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/main.c @@ -73,19 +73,13 @@ static THD_WORKING_AREA(waUnprivileged2, 256); */ static THD_WORKING_AREA(waThread1, 256); static THD_FUNCTION(Thread1, arg) { - unsigned i = 1U; (void)arg; chRegSetThreadName("blinker"); while (true) { - palClearLine(LINE_LED_GREEN); + palToggleLine(LINE_LED_GREEN); chThdSleepMilliseconds(500); - (void) sbSendMessageTimeout(&sbx1, (msg_t)i, TIME_MS2I(10)); - palSetLine(LINE_LED_GREEN); - chThdSleepMilliseconds(500); - (void) sbSendMessageTimeout(&sbx2, (msg_t)i, TIME_MS2I(10)); - i++; } } @@ -93,6 +87,7 @@ static THD_FUNCTION(Thread1, arg) { * Application entry point. */ int main(void) { + unsigned i = 1U; thread_t *utp1, *utp2; event_listener_t el1; @@ -180,6 +175,18 @@ int main(void) { chprintf((BaseSequentialStream *)&LPSD1, "SB2 terminated\r\n"); } } + + if ((i & 1) == 0U) { + if (!chThdTerminatedX(utp1)) { + (void) sbSendMessageTimeout(&sbx1, (msg_t)i, TIME_MS2I(10)); + } + } + else { + if (!chThdTerminatedX(utp2)) { + (void) sbSendMessageTimeout(&sbx2, (msg_t)i, TIME_MS2I(10)); + } + } + i++; } }