Minor optimizations regarding memory utilization.
AMiRo-BLT re-forwarded
Merge branch 'master' of http://openresearch.cit-ec.de/git/amiro-os.amiro-os
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.
Added a kernel patch to fix overflow issues with the chTimeAddX() function.
Implemented brutforcing of BQ27500 sealed keys.
Some minor fixes and enhancements.Most importantly, the expected jitter (CH_CFG_ST_TIMEDELTA) was increased form 20 to 50us.
minor enhancement of the shell thread main function declaration
removed the UWB module specific code from the LightRing
periphAL: Enhanced I2C and SPI communication. It is now possible to lock drivers externally if multiple accesses need to be atomic.
Added AMiRo-BLT documentation and moved AMiRo-LLD doxygen module to top level.
Updated AMiRo-BLT submodule and implemented support of the the newly introduced /dev/ttyAMiRo<ID> serial port alias.
Slightly enhanced the QtCreatorSetup.sh script
All contents of the os/ folder has been moved one directory up.
removed cpplint tool since it is outdated and not maintained.
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.
Corrected error in ChibiOS QEI patch.
Moved QEI driver into ChibiOS (patch).
fixed several critical errors introduced in the last commits
Added some basics to mask pads during GPIO initialization (wip)
AMiRo-LLD submodule updated
updated ChibiOS submodule (had been reverted to an older version)
periphAL: implementation for the nrewly introduced apalDbgPrintf() function added
add dw1000 unittest
add apalSPITransmitAndReceive function to periphAL.h
Reintroduced ChibiOS patch for non-DMA I2C access.Old patch could not be applied to latest version of ChibiOS anymore.
Doxygen file documentation and modules.
updated ChibiOS submodule, and removed a previously required workaround
fixed a bug in the peripherylldsetup.sh script
AMiRo-BLT submodule updated.
fixed the QtCreator setup script
removed old CHhibiOS patches which are not required anymore
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 ChibiOS submodule to the most recent commit on the stable_18.2.x branch.
Added control functions to the channel-based datatypes in AMiRo-OS.
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
Added missing descriptions for the variables introduced in the last commit.
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).
Introduced a patch to ChibiOS for the RTCv1 driver (fixed illegal type casts).Updated ChibiOS submodule.
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).
FIX: DiWheelDrive: The interrupt channels for the signals SYS_PD and SYS_REG_EN have been corrected.AMiRo-BLT updated.
Removed a ChibiOS patch to the C++ wrappers, since these wrappers should not be used anyway
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
cleaned up include tree
Added APPS- variables to all source types in the makefiles of all modules
PHONY added to relevant Makefiles
shell thread priority can now be configured via aosconf.h
enhanced hooks in aos_main.cpp: - INIT_HOOK_0 now supports optional arguments like all other hooks - new hook introduced to add custom includes - new hook introduced to add custom static variables - renamed hook for custom thread variables
The main.c was renamed to aos_main.cpp and will compiled as C++ file from now on.This allows to use full C++ capabilities when using any hooks.
1) enhancements of the makefiles: - replaced all absolute paths by relative paths - include directories now consistently do not have a trailing slash - it is now possible to specify a custom build directory by setting the BUILDDIR variable - updated C/C++ standard to C11 and C17 respectively (igrnore warnings caused by ChibiOS for now)...
Updated AMiRo-BLT and applied an similar fix to QtCreatorSetup.sh (issue with relative compiler paths)
FIX: AosShellChannel was not known in main.c if shell was disabled.
Introduced a common aos_chconf.h file, which is included by each chconf.h.The smart build feature was deactivated since it caused issues with this new structure.
AosShellChannel now contains a pointer to a BaseAsynchronousChannel instead of a AosIOCHannel.Fixed an issue with AosIOStreams as well as AosShellStreams regarding multiple reading/writing from/to channels.
AMiRo-BLT updated
Major overhaul to the I/O functionality:
The SequentialStremMultiplexer (SSM) has been replaced by AosIOStream.The AosIOStream class acts like a BaseSequentialStream but consists of multiple AosIOChannels.Each AosIOChannel again implements a BaseAsynchronousChannel and thus is a derived class of BaseSequentialStream as well....
Modified aos_unittest.h/.c files to prevent unnecessary includes.
slightly enhanced some of the makefiles
removed module specific configurations from the makefiles
AMiRo-BLT submodule updated
Major overhaul to AMiRo-OS version 2.0.0
Fix stack overflow in DiWheelDrive due to access of non-started gyro thread
Signed-off-by: Timo Korthals <tkorthals@cit-ec.uni-bielefeld.de>
Wii steering slightly enhanced.It is now possible to use the controller horizontally as well as vertically.
README.txt slightly updated.
All outputs that were still printed to SD1 (on-board serial connector) have been switched to global.sercanmux1 (SD1-CAN-multiplexer)
Integrated the Wiimote demo to the PowerManagement logic.
The blouetooth drivers were slightly enhanced.
Constants.h: renamed CAN::UPDATE_PERIOD_MSEC to CAN::UPDATE_PERIOD
Added functions to reset the motor gains.
Fixed typo in authors list
Added some additional information in the README.txt file.
README.txt: deleted surplus blank line.
FIX: Odometry thread stack size increased to prevent stack overflows.
README.txt updated:- maximum line width was increased to 80 (from 70)- several updates on content and structure
Minor tweak on the order in which the devices are compiled and flashed.
Adapted the OS to be compatible with the new bootloader version 1.0.
flash.mk: removed debug output
Merged recent modifications from development branch:- proximity sensor frequency was increased from 8Hz to 125Hz- system synchronization frequency was increased from 8Hz to 16Hz- I2C bus clearing functionality was improved- magnetometer and gyroscope data are now available to the whole system...
Re-inserted several Doxygen comments, which had been removed earlier.
CITEC acknowledgment text was modified to the preferred wording.
Initial commit of AMiRo-OS version 1.0. This is the first version released open source.