*/
void task_start(void (*task)(void), uint16_t stackSize);
+void task_hold(uint8_t hold);
+
#endif // TASK_H_
line 240 50 240 270 fg
set x 50
-#do
-# delay 10
-# line x 170 x 150 fg
-# set x (x + 20)
-#while (x < 430)
+do
+ line x 170 x 150 fg
+ set x (x + 20)
+while (x < 430)
-#set y 50
-#do
-# delay 10
-# line 230 y 250 y fg
-# set y (y + 20)
-#while (y < 270)
+set y 50
+do
+ line 230 y 250 y fg
+ set y (y + 20)
+while (y < 270)
+
+line 80 250 380 90 511
#!/bin/bash
-#openocd -f /usr/share/openocd/scripts/board/st_nucleo_l476rg.cfg \
-# -c "init; reset halt; flash write_image erase main.hex; reset run; exit"
+openocd -f /usr/share/openocd/scripts/board/st_nucleo_l476rg.cfg \
+ -c "init; reset halt; flash write_image erase main.hex; reset run; exit"
-openocd -f /usr/share/openocd/scripts/board/st_nucleo_l476rg.cfg > /dev/null &
-gdb-multiarch
+#openocd -f /usr/share/openocd/scripts/board/st_nucleo_l476rg.cfg > /dev/null &
+#gdb-multiarch
#include <clock.h>
volatile uint8_t lock = 0;
-#define LOCK while (lock) { delay(5); } lock = 1
-#define UNLOCK lock = 0
+#define LOCK while (lock) { delay(5); } task_hold(1); lock = 1
+#define UNLOCK task_hold(0); lock = 0
static unsigned int curx = 0;
static unsigned int cury = 0;
static uint8_t task_enable = 0;
+void task_hold(uint8_t hold)
+{
+ task_enable = !hold;
+}
+
void task_init(void (*init)(void))
{
for (int i = 0; i < MAX_TASKS; i++)