mcsauder
e6f1a2db12
Delete trailing whitespace, extra newlines, to quiet git hooks and add an extra = so that it does not appear to git as a merge conflict marker.
6 years ago
Nico van Duijn
b7784a1439
Add MAVLink stream and cmake sitl target
6 years ago
Daniel Agar
b35883f5d5
cmake nuttx use wrapper script to call "make olddefconfig"
...
- this is a workaround for PATH variables that exceed the maximum cmake custom command length
6 years ago
Julian Oes
ed3b924f97
nuttx: update submodule ( #11705 )
...
This fixes a build error due to a Scandinavian letter in the help text.
6 years ago
Daniel Agar
5e6bfe1ad8
vscode updates
...
* working debugging (one click build and debug)
* SITL jmavsim
* SITL gazebo
* jlink px4_fmu-v{2-5}
* improved syntax highlighting
* GNU linker files
* ROS message files msg/*.msg
* jinja2 template files
* fixed intellisense support
6 years ago
Daniel Agar
9fd0bbe30f
NuttX build include and use Kconfiglib (python)
6 years ago
Daniel Agar
94cab1f9a9
update cmake NuttX helper save behaviour (oldconfig, menuconfig, etc)
6 years ago
Daniel Agar
b35d048566
cmake enable -Wcast-align and disable per module
6 years ago
Julian Oes
b54ca67de9
lockstep_scheduler: check if mutex is still valid
...
It turns out that we can fix the unit tests of the lockstep_scheduler
just by checking if `passed_lock` is not `nullptr`.
Without this check, the unit tests segfaulted.
6 years ago
Daniel Agar
edad4c40c3
containers add IntrusiveQueue and testing
6 years ago
Beat Küng
505b1aca2c
lockstep_scheduler: work around a potential dead-lock for canceled threads
6 years ago
Beat Küng
e999075ac7
lockstep_scheduler: fix system_sleep -> system_usleep
...
The effect was that threads that tried to exit were unnecessarily kept
running.
This did not cause problems except for increased resource usage.
6 years ago
Beat Küng
08298ab3d0
drv_hrt: make lockstep_scheduler a pointer
...
This solves a potential dead-lock when trying to shutdown: a call to exit()
stops all threads and calls all destructors for static objects.
The destructor of LockstepScheduler takes a lock. However this is not
safe, as the lock could already be taken (by any thread).
6 years ago
Daniel Agar
e2bf4b1894
List container improvements and testing
...
- support range based for loops
- add remove() method to remove a node
- add clear() to empty entire list and delete nodes
- add empty() helper
6 years ago
Daniel Agar
e7dfb375be
create jlink gdb upload script and use in Jenkins Hardware pipeline
6 years ago
Daniel Agar
e4b3c8bcc6
tests enable bezier and search_min
6 years ago
David Sidrane
4e792b2487
Update nuttx with backport f7 i2c fix on 7.28+
6 years ago
Daniel Agar
7a1c8ea8cb
Update platforms/posix/src/lockstep_scheduler/CMakeLists.txt
...
Co-Authored-By: MaEtUgR <maetugr@gmail.com>
6 years ago
Matthias Grob
ffb8bb6066
lockstep_scheduler: correct cmake target includes
6 years ago
Daniel Agar
40e42a677b
NuttX cmake support optional compressed defconfigs
6 years ago
Daniel Agar
d02685c9f7
cmake nuttx .px4 package fix dependency location
6 years ago
mcsauder
dc5f18bdcd
ToneAlarm class refactoring to implement an interface for hardware specific methods and a single ToneAlarm class.
6 years ago
Matthias Grob
bda60ecfd6
posix main: hotfix for px4 application not exiting anymore
...
Some threads do not exit and are still running when
trying to exit SITL running under Windows in Cygwin.
This problem was introduced with:
- posix shell #10173 because of strating a child process
for the startup script and mixing up the signal handling
(only Ctrl+C broken)
- lockstep #10648 because of simulator threads not
stopping gracefully anymore with timing race conditions
(no graceful exit possible anymore)
I leave the SIGINT handler on its default implementation for
Cygwin which kills the process and all its threads when pressing
Ctrl+C.
This hotfix at least allows the usage of Ctrl+C again instead
of forcing the user to use the task manager to shut down
px4.exe going crazy on CPU load instead of exiting
everytime.
6 years ago
Daniel Agar
739a02022b
position_estimator_inav: move to examples (start deprecation)
6 years ago
David Sidrane
dc73dd7bba
px4_init:Nuttx support boards without a console
6 years ago
David Sidrane
1ef9b5ed81
Updated Nuttx 7.28+
6 years ago
David Sidrane
8f308efa88
upstram NuttX CONFIG_EXAMPLES_NSH_CXXINITIALIZE->CONFIG_SYSTEM_NSH_CXXINITIALIZE
6 years ago
David Sidrane
e7bf0e03d2
px4_nuttx_tasks:Support future removal of env.
...
CONFIG_DISABLE_ENVIRON can prevent task having to allocate
memory for the env.
6 years ago
David Sidrane
91d8c31f7b
Custom board naming, removed need for tools/nuttx_defconf_tool.sh
6 years ago
David Sidrane
7ba81fac4b
Build copies the boards nuttx-config to build at Nuttx level
6 years ago
David Sidrane
d294b40fcb
Changes to suport Nuttx c++ lib rename
6 years ago
David Sidrane
e505fe859d
Update Nuttx and NuttX-apps to 7.28+
6 years ago
Beat Küng
74a3c378b2
drv_hrt: inline hrt_elapsed_time
...
GCC did not do that.
6 years ago
Daniel Agar
2ffb49b734
delete px4_includes.h header and update boards/ to use syslog
6 years ago
Lorenz Meier
3a7deefe6e
IO firmware: Run critical timing operations as atomic
...
This is required as we might be in interrupt context on this bare-metal target.
6 years ago
Lorenz Meier
c6718a5bca
Posix: Add initial stub for atomic HRT
...
The actual implementation is not atomic, as the value on the application layer would be limited.
6 years ago
Daniel Agar
320d2e9383
create PX4 platform layer initialization helper ( #11269 )
...
- starts requirements for PX4 modules (hrt, param, etc)
6 years ago
Beat Küng
4bc59092f4
lockstep_scheduler cmake: spaces -> tabs
6 years ago
Beat Küng
2a47715385
refactor lockstep_scheduler: fix class member naming convention
6 years ago
Beat Küng
828e31d3a9
lockstep_scheduler: optimize performance
...
- use a linked-list instead of std::vector. Insertion and removal are now
O(1)
- avoid malloc and use a thread_local instance of TimedWait.
It gets destroyed when the thread exits, so we have to add protection
in case a thread exits too quickly. This in turn requires a fix to the
unit-tests.
6 years ago
Beat Küng
ecbe2a3e0b
drv_hrt posix: improve performance for hrt_absolute_time()
...
Previously hrt_absolute_time() was at around 5% of the total CPU usage, now
it's around 0.35%.
6 years ago
Beat Küng
ccefc640ac
drv_hrt posix: remove unused code and remove locking from hrt_absolute_time
6 years ago
Beat Küng
5f0e6d70c5
lockstep_scheduler: use a static lock in usleep_until
...
less function calls
6 years ago
Beat Küng
e8cbc49f7a
lockstep_scheduler: remove timed_waits_iterator_invalidated_
...
Not required, since the lock is held during the whole loop iteration.
6 years ago
Beat Küng
8cdb65eed9
lockstep_scheduler: simplify LockstepScheduler::cond_timedwait & reduce locking
...
- the loop is not needed
- we optimize for the fast case and lock only if really needed
6 years ago
Beat Küng
318499f56e
lockstep_scheduler: inline get_absolute_time()
...
This is a small method that is used a lot.
6 years ago
Daniel Agar
195dbf4ab6
NuttX platform remove system (toolchain) stdc++ include path
6 years ago
karliss
6a33b797ac
drv_hrt restore dsp_offset and remove unused qurt code ( #11139 )
...
- Fixes #11134
6 years ago
Julian Oes
032e64aaf2
px4_sem: set errno, return -1 on any error
...
- Don't duplicate the ret variable to err.
- Return -1 on any error, 0 otherwise.
- Set errno to return value of pthread_cond_timedwait.
6 years ago
Julian Oes
23653f9f39
lockstep_scheduler: fix return value, remove errno
...
The API of cond_timedwait was wrong. It used return -1 and set errno
instead of returning the error as specified for pthread_cond_timedwait
which it tries to mock.
6 years ago