The Nuttx CAN driver is not used with UAVCAN. However to
facilitate compilation to allow the Nuttx CAN Example to be
compiled and linked, the missing proto type was needed.
Futhermore to include the NuttX CAN eaxample the following changes
are needed:
1 ) In cmake/configs/<target>.cmake
Add can to config_extra_builtin_cmds as:
set(config_extra_builtin_cmds
serdis
sercon
can
)
Add:
add_custom_target(can)
set_target_properties(can PROPERTIES
PRIORITY "SCHED_PRIORITY_DEFAULT"
MAIN "can" STACK_MAIN "2048"
COMPILE_FLAGS "-Os")
2) Update the nuttx-configs/<target>/nsh/defconfig
Run make oldconfig and make menuconfig and set the follwoing:
CONFIG_CAN=y
CONFIG_STM32_CAN1=y or CONFIG_STM32_CAN2=y
CONFIG_CAN_EXTID=y
CONFIG_CAN1_BAUD=250000
CONFIG_CAN_FIFOSIZE=8
CONFIG_CAN_NPENDINGRTR=4
CONFIG_EXAMPLES_CAN=y
By default the baudrate in flight stack (Mavlink or NSH) 57600 and the default
baudrate of bootloader is 115200. So we may need to set different
baudrates.
The Mavlink reboot messages was only requesting the board to reboot.
If the flashed bootloader has a small or no timeout user will
never be able to update firmware.
The integrators were set to publish at 800Hz which was overwhelming
the CPU with the EKF running. This brings them in line with what we
get from the MPU6k device.
- avoid dividing by zero when calculating max delta output
- better comments when calculating max delta output
- better naming of functions and variables
Signed-off-by: Roman <bapstroman@gmail.com>
If they're in the header and the header is used in multiple .cpp, there
are multiple definitions. Oddly it did not lead to an error, but there
were multiple structs of the same topic but with different adresses.
This lead to a metadata mismatch, when running eg:
uorb_tests
uorb_tests latency_test