Major SSSP overhaul:- SSSP no works even without Bootloader (AMiRo-OS implements startup and shutdown phases)- MSI and calendar synchronization are currently not available (WIP)- lots of minor changes
Fixed a compatibility issue introduced by the recent modifications to the Makefiles
Makefiles revisedAMiRo-LLD updated
fixed some typos in comments
aosSysGetStdIntCallback() function renamed to aosSysGetStdExtiCallback()
slight cleanup to all chconf.h files
Updated AMiRo-BLT submodule and removed any code which was meant to ignore PAL initialization.Since all periphery (AHBx, APBx) is reset on startup of ChibiOS, any previous pin configuration is lost and can not be recovered in a trivial way.
Signed-off-by: Thomas Schöpping <tschoepp@cit-ec.uni-bielefeld.de>
Massive overhaul:- updated to a new version of AMiRo-LLD- tests (formerly unit tests) are now split onto multiple parts: - there are "global" tests for each driver etc. - there is an individual part for each module, e.g. if there are multiple instances of the same periphery...
Introduced optional CH_CFG_ST_TIMEDELTA definition per module.If no value is specified by the module, a conservative fallback of 1000µs is set.
Enhanced the shell so that CTRL + arrow key will jump wordwise through the current input
Updated to AMiRo-LLD 1.1:- Implementation of periphAL has been modified accordingly.- GPIOs are not encoded as port/pad tuple, but as lines- Some unittests have been updated due to driver changes.
aos_status_t type optimized for smaller memory footprint.
Introduced PowerManagement v1.2 module.Also adapted PowerManagement v1.1 and ADC unit test.
AMiRo-BLT and AMiRo-LLD updated as preparation for introduction of new AMiRo v1.2 modules.fixed typos.
removed some redundant GCC optimization parameters
Default shell configurations have been changed:Now the input line buffer can hold 128 characters (up from 64) and there can be up to 16 arguments per line (up from 4)
Changed the AMiRo-OS version back to 2.0.1 (from 2.1.0).This was done, because an increment in the minor version implies an API change, which is not present yet.
Enhanced the Makefiles to consistently use the BUIDDIR variable.
updated all aosconf.h files to AMiRo-OS 2.1
Fixed recently broken Makefiles (sry!)
Slightly optimized all Makefiles
ChibiOS updated to version stable_19.1.x.NOTE: ChibiOS 19.1.x seems to contain some issues as of now.
All preprocessor directives without arguments (e.g. #endif) are now followed by a comment, indicating where it belongs to (e.g. the preceding #if).
Reordered some configuration files.The BOARD_VERSION macro has been removed. Instead the version is now encoded in the other BOARD_XXX macros.
Merge branch 'master' of http://openresearch.cit-ec.de/git/amiro-os.amiro-os
fixed naming
Updated AMiRo-LLD and adapted the MPU6050 unit test accordingly.NOTE: Unfortunately, the unit test fails =(
Enhanced the periphAL debug implementation to apply to tze new AMiRo-OS debug API
set the C standard to C17 (ISO), although this does not make any difference according to GCC documentation
Introduced the CORTEX_ENABLE_WFI_IDLE flag in all chconf.h files, so the MCUs will enter sleep mode whenever the system is idle.
updated AMiRo-LLD and applied all required changes to AMiRo-OS and all modules.
Enhanced and fixed several module specific files.
Enhanced the #include tree. 'amiroos.h' is now the central header, which includes all dependencies.
Changed all header guards so they will not use unserscores as pre- and postfix.
Makefiles slightly enhanced
Optimized the #include tree
Enhanced the AMiRo-OS configuration: When AMIROOS_CFG_TESTS_ENABLE is set, the shell is enabled implicitely by AMiRo-OS.Before, this logic was handled in the aosconf.h file.
Introduced a macro AOS_IOEVENT_FLAG() in aos_types.h.This macro acts similar to EVENT_MASK() and should help to simplify development.The new macro was applied to existing code wherever possible.
All board.mk files have been integrated into the module Makefiles.
Added C++ system calls to the build toolchain in order to make AMiRo-OS fully compatible with C++ code.
Added new periphery hardware (PCAL6524 GPIO extender and AT42QT1050 touch sensor) to the PowerManagement, including unit tests.
PowerManagement: Introduced a configuration (board.h) to select the attached sensor ring module.
PowerManagement: fixed incorrect configuration for event propagation
Enhanced the main thread IO event configuration.Therefore a new macro AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK has been introduced.
PowerManagement: improved macros for selecting RAM regions
updated all file headers to 2019
Removed modules/flash.mk since flashing procedures highly depend on hardware.
all halconf.h files: removed redundant HAL_USE_QEU settings
Introduced a switch to completely disable SSSP (thanks to S. Welzel)
Added ChibiOS license handling to the makefiles.
Minor fixes and enhancements.
removed ChibiOS dependencies from build-tree: C++ wrappers and shell
Removed the extension of the optional BUILDDIR variable in the module makefiles.
Minor optimizations regarding memory utilization.
Some minor fixes and enhancements.Most importantly, the expected jitter (CH_CFG_ST_TIMEDELTA) was increased form 20 to 50us.
All contents of the os/ folder has been moved one directory up.
Reworked linker scripts.the os/hal/ directory was removed completely.Each module now has its own linker script, which again includes the fundamental liner scripts within ChibiOS.All makefiles have been adapted accordingly.
Review of the QEI driver patch (minor changes).
optimized fan out calculation of masks for GPIO initialization.
Added some basics to mask pads during GPIO initialization (wip)
Doxygen file documentation and modules.
Major rework of the recent changes.- optimized interrupt system (removed aos_interrupt.h/c)- updated AMiRo-LLD submodule- updated all config files to match the latest templates by ChibiOS- fixed several issues regarding the new timer system (intervals)
Updated Chibi-OS to version 18.2 and adapted AMiRo-OS accordingly: - Switched to new time conversion macros - Use PAL for interrupts instead of the EXT Driver - Use new kernel tests
Introduced an mechanism to measure clock skew during operation phase, if AMIROOS_CFG_PROFILE is enabled (non-master modules only).The low-pass filtered skew is printed via the module:info shell command.
RTC date/time is now synchronized on startup from the SSSP master module.Further changes: - several enhancements to the newly introduced module stack initialization procedure - several minor enhancements to core functionality
Introduced SSSP stage 3 of the startup phase (module stack initialization).
Several enhancements to memory structure, naming and code quality.AMiRo-OS is now prepared so the SSSP startup stage 3 (module stack initialization can be implemented).
Introduced the capability to set and get a date&time value via the shell.
prepended several macros with the 'AOS_' prefix
modified all relevant makefiles to adopt the new file structure
moved the /os/modles directory to /modules