project: impetuOS

impetuOS has the following features:
- unitasking
- fast boot
- FAT32 filesystem
- SD cards
- runs executables stored on SD card
impetuOS currently supports the following architectures
- m68k
- ARM CM3
- ARM CM4
there is currently an effort to bring TCP/IP networking which is experiencing some success
there are even games! two of them, spider solitaire and a guess the random number game
blog
electronically it all seems reasonable but there have been some issues with the existing i2c and sensor drivers as used in SLAB1, these are:
the I2C mcs register does not always assert the busy flag fast enough to not miss when waited on, leading to missed errors
the environment sensor was either never polled particularly fast on SLAB1 or read errors were ignored; this led to a hang in reads on the PILE1 test code
a sequence of failed I2C repeated start were observed, this is either because of a (potentially long standing) driver issue or a misunderstanding. old pull requests and issues relating to the tivaC_I2C driver did not make any mention of repeated start not working; in fact there was an issue with a lack of stop conditions leading to everything being a repeated start, this makes it more likely that this is a bad oobservation where there was some other behaviour involved...
the environment sensor output revealed a humidity of around 70% which matched the humidity on the day((taken from the met office) this test was performed many times on different days and was always within reasonable bounds of error
as gitea now supports actions as a mature feature (v1.21) i have added actions to run lint and some unit tests
the unit tests needed a new framework and standard way of running, at the moment this is a single header with a few macros. if a test fails the testing function should return a nonzero integer and this is to be passed down and will lead to a failing test. for now there are only a handful of tests for strtokTS but this seems to be a reasonable way of running for now.
not anymore! it has been fixed and spider solitaire works properly