Merged several modifications from master-branch.
Disabled the ChibiOS thread registry API.Code that required the thread registry before could be adapted to use the thread hierarchy instead.
Fixed a common typo in several comments.
FIX: _numActiveThreads counted finalized threads
timer and periodic timer have been unified in a single functional unit: timer.
The resulting timer object is slightly larger than one-shot timers have been, but much smaller than periodic timers.Size of resulting binary has been slightly decreased as well.
Calculation of stack utilization revised
Shell: fixed a bug where autocompletion behaved incorrectly
Slight enhancements to cpu load measurement
dramatically lowered worst critical zone in AMiRo-OS
Introduced a new system shell command 'module:spuload' to read out CPU load
enhanced some output alignment
shell: fixed a minor issue about recalling the previous entry
Restricted visibility of several local functions
shell: fixed minor issues with auto completion and suggest functionality
All copyright forms updated to 2020.
Major overhaul of the shell.A new configuration option allows to set the shell history length.
Shell: fixed recently broken stuff
shell: logic and performance optimized
shell: argument buffer is now a stack variable of the thread.
slightly restructured aos_types.h to match the actual content structure
introduced a new hook 'AMIROOS_CFG_SYSINFO_HOOK' to add module specific code when printing system information
SSSP: BCB message type (aos_ssspbcbmessage_t) is now packed
Updated AMiRo-LLD and applied to the new interface structure.
Makefile structure revised:- Module specific tests nor come with individual makefiles, which include the general test code.- Board configuration (e.g. connected breakout module) can now be set in Makefile or via CLI.
calendar synchronization implemented
SSSP system synchronization is now handled in aos_sssp.h/.c
Merge branch 'master' into SSSPwoBLT
minor code optimizations to get rid or clang warnings
renamed all AOS_SYSTEM_EVENTFLAGS_... macros for better consistency
Renamed all GPIO related signals etc. from "...io..." to "...gpio..."
Shell is not implicitly enabled when tests are activated anymore.
Several fixed to the recent SSSP overhaul
Merge remote-tracking branch 'origin/master' into SSSPwoBLT
aos_time.h: added comments to all macros.
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
Introduced a function to initialize aos_testresult_t objects: aosTestResultInit()
Makefiles revisedAMiRo-LLD updated
fixed some typos in comments
aosSysGetStdIntCallback() function renamed to aosSysGetStdExtiCallback()
minor enhancement to the set date/time shell command output
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...
Shell: fixed a bug introduced with the recent changes
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.
startup prompt and module:info command now print the date in ISO format (YYYY-MM-DD).
CAN is now optional.If disabled, CAN start and stop functions are removed, SSSP startup stage 3 is skipped and RTC is not synchronized during startup.
All preprocessor directives without arguments (e.g. #endif) are now followed by a comment, indicating where it belongs to (e.g. the preceding #if).
Using a RTC is now no mandatory feature anymore, but optional
Shell: "fixed" the HOME and END escape sequences, which were not ANSI compliant.
Reordered some configuration files.The BOARD_VERSION macro has been removed. Instead the version is now encoded in the other BOARD_XXX macros.
Debug output functionality reintroduced:
From now on there is a distinction between kernel checks and AMiRo-OS checks.Kernel checks are much more critical and will not print anything on failure.AMiRo-OS checks print an error message and cause the according thread to exit execution immediately.
slightly optimized thread sleep functions
removed some unaffective 'inline' keywords
Enhanced the #include tree. 'amiroos.h' is now the central header, which includes all dependencies.
Applied a file structure template to all source files.
Changed all header guards so they will not use unserscores as pre- and postfix.
If no bootloader is available, AMiRo-OS will now shutdown the system properly.
Completely disabled debug output for now, due to incompatibility issues.
optimized the order in which tasks are performed during system startup.
slightly enhanced shell info output
Reverted recent modifications of the debug system, since the modifications were faulty.Unfortunately, the implementation now is specific to the UART driver and thus not portable.Needs to be fixed asap! =(
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.
Enhanced some debug functions to improve portability.
Having a CAN driver enabled is only mandatory if SSSP is activated.
Modified the MODULE_MAIN_LOOP_IO_EVENT() hook, so applications cannot modify the eventmask variable.
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.
Fixed an issue where date/time synchronization timed out in debug mode.
The makefiles for core/ and unittests/ have been enhanced for convenience.
renamed a variable
Fixed a error that AMiRo-OS would not compile when AMIROOS_CFG_DBG was set to false.
Enhanced the main thread IO event configuration.Therefore a new macro AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK has been introduced.
updated all file headers to 2019
- Several enhancements/fixes regarding the SSSP stack initialization.- When SSSP is disables the system:shutdown command is simplified and named "module:shutdown"
added some further SSSP and bootloader checks
suppress some warnings in case no GPIO signals have been defined
Introduced a switch to completely disable SSSP (thanks to S. Welzel)
The BOARD_VERSION macro is now optional.
Fixed an occasional error where 'struct tm' could not be resolved correctly.
Introduced some basic stack introspection functionality to threads.According information is now given for the shell thread via the 'module:info' command.
replaced calls of 'currp' by the correct access function chThdGetSelfX()
Minor fixes and enhancements.
Minor optimizations regarding memory utilization.
Introduced a POSIX-like thread hierarchy system in ChibiOS (addad a patch) and adapted AMiRo-OS accordingly.In the process ChibiOS has been updated as well.
minor enhancement of the shell thread main function declaration
All contents of the os/ folder has been moved one directory up.