Source code accompanying the paper:Lubbers, M., Koopman, P. & Plasmeijer, R. (2019). Multitasking on Microcontrollers using Task Oriented Programming. In M. Koricic (Ed.), 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO): May 20 – 24, 2019 Opatija, Croatia. Proceedings (pp. 1587-1592). Piscataway: IEEE doi: 10.23919/MIPRO.2019.8756711Abstract:Microcontroller Units (MCUs) are all around us powering many of our so called smart devices. Most programs running on MCUs are control applications performing multiple jobs at the same time. Examples of these jobs are: blinking a status LED, reading button states, talking to sensors or communicating with the world. Often these jobs are dependent on each other and require communication between them. Small MCUs have no support for multiple threads, therefore the programmer needs to manually interleave the tasks. The job structure bears great similarities with tasks in Task Oriented Programming (TOP). Tasks representing work that needs to be done, can be interleaved and combined to form compound tasks. The embedded Domain Specific Language (eDSL) mTask is a TOP language that works on even the smallest of MCUs. This paper explains how to write multi-task control applications for MCUs using a TOP language such as mTask.This is a snapshot of the mTask git repository:https://gitlab.science.ru.nl/mlubbers/mTaskContents:- Zip file containing a snapshot of the CVS repository of mTask. NOTES.md: contains device specific installation notes client/: contains the mTask run-time-system C source code library/: contains the mTask library Clean source code programs/: contains the mTask examples* tests/: contains some tests for library functionality- README.md: contains information about mTask and installation instructions
Zip file unpacked by DANS.