avrtos v1.1.0
Main features:
- SPI: Added SPI drivers for master and slave with full support for atmega328p
and atmega2560. - SPI: Added two samples to demonstrate communication between master and slave
(with data rate and error measurement). - DevOps: Added Dockerfile and Jenkinsfile for CI/CD.
Bug Fixes:
- Corrected bad characters in a preprocessor #error message.
- Resolved anomalies in the implementation of k_flags_notify() consequently,
refined the flags sample. - IRQ are now always enabled when exiting k_thread_stop(), this adjustment
ensures threads can be safely resumed using k_thread_start(). - Fixed a bug in QEMU preventing to use all timers (patch submitted and attached
here).
Improvements:
- Improved time functions: introduced
k_wait
allowing to wait for a specific
time in a particular mode. Added support for millisecond precision in time API
through CONFIG_KERNEL_TIME_API_MS_PRECISION. - Updated and improved documentation.
- Optimized headers inclusions.
Minor changes:
- Introduced K_TICKS to declare timeouts in ticks.
- Introduced macros: FEATURE_TIMER_COUNT and FEATURE_USART_COUNT to ascertain if
an example can be built for a certain toolchain. - Enhanced disassembly script for PlatformIO.
- k_work_submittable removed from public API, but k_workqueue_create was added
to the Arduino keywords list. - Added sample for testing a single timer.
- Enhanced cmake targets with better ninja support, making ninja the default
generator. - Introduced a script for computing code metrics.
- Dead code was purged.
- Help added for thread-ev-spawn example.
- Defined internal macros: Z_THREAD_MAIN_PRIORITY and
Z_THREAD_MAIN_STACK_END_ADDR. - Eradicated unused/unfished file descriptor features (fd.c/fd.h).
- Eliminated /______/ code boundaries.
Full Changelog: v1.0.0...v1.1.0