Commit Graph

1273 Commits

Author SHA1 Message Date
Daniel Agar 44df0fb7a2 Analog Devices ADIS16448 rewrite
- new IMU driver structure with state machine (no sleeps in bus thread)
 - verify all configured registers and trigger reset on failure
 - detect if DIO1 or DIO2 are actually connected for data ready interrupt usage
 - don't use CRC-16 on burst transfers except for verified lots
2021-02-16 10:29:07 +01:00
Tim 540e4f9464 Uuv position control extension (#16688)
* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.

In general the idea is to have this position module to control the position of the uuv. The position module reseives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.

Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).

* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.

In general the idea is to have this position module to control the position of the uuv. The position module receives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.

Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).

Currently not solved/missing:
 - Problem with gazebo model(propeller moving chaotically).
 - Mixer correct gazebo vs real life (has to be tested in the future)
 - correct integration in uuv.apps (when choose which module)
 - very basic controller chosen (could be improved a lot in the future)

* Remove error caused by unused variables and a different build error

* added better description of the parameter. Additionally the group is changed.

* added better description of the parameter. Additionally the group is changed.
Fixed bug about parameter

* Added EOF to the files.

* Removed parameter for direct position control for safety reasons.

* small bugfix
2021-02-15 18:40:28 +01:00
Lorenz Meier 4c9b2c65b5 Support v5X build variants
This adds support for the different implementation variants of the v5X standard.
2021-02-14 11:17:28 +01:00
Daniel Agar fb2a199621 delete unmaintaned mkblctrl driver 2021-02-14 10:38:15 +01:00
Ryan Johnston 5a58f25d6a boards: MRO Control Zero F7 OEM Support 2021-02-13 11:16:55 -05:00
Daniel Agar a257120e8d boards: use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar da1a38b44e parameters: merge generated files ito single static constexpr header
- store parameter type and if volatile separately (saves kilobytes of flash)
 - use Bitset for tracking active and changed parameters
 - use atomic for autosave_enabled flag
 - compile at ${MAX_CUSTOM_OPT_LEVEL} (-O2 on non flash constrained boards)
2021-02-12 08:27:47 -05:00
Daniel Agar 8a0bf15b9e boards: CUAV X7Pro fix BMI088 orientation 2021-02-11 23:05:48 -05:00
Lorenz Meier 80b8e6a48f v5X: Register board variants
This is needed to properly identify new variants.
2021-02-11 22:14:02 +01:00
David Sidrane 3570e1b4da nxp_fmuk66-e: Sync defconfig with latest V3 changes 2021-02-09 23:53:38 -05:00
David Sidrane df3e94bcff nxp_fmuk66-e:Disabled icm42688p until load issue is resolved 2021-02-09 23:53:38 -05:00
David Sidrane 4610692813 nxp_fmuk66-e:Set CONFIG_CDCACM_PRODUCTSTR 2021-02-09 23:53:38 -05:00
David Sidrane b4c17cc8e7 nxp_fmuk66-e:Set Rotation of bmi88 2021-02-09 23:53:38 -05:00
David Sidrane 8c8f48530e nxp_fmuk66-e:Fix missing line rc.board_defaults 2021-02-09 23:53:38 -05:00
David Sidrane 264efde0c9 nxp_fmuk66-v3:SD enable Multi block 2021-02-09 23:50:58 -05:00
Daniel Agar 8f0918a16b boards: remove unused linker __param section 2021-02-08 23:22:48 -05:00
Lorenz Meier 0c6cf6cb99 Revert "boards: px4/fmu-v5 disable px4io in rc.board_defaults"
This reverts commit d7b89ecc86.
2021-02-08 00:21:32 +01:00
Lorenz Meier d03d46b8a3 Initialize MAVLink on v5X variants
This will ensure that the different baseboard configurations are properly accounted for depending on HW variants.
2021-02-07 17:23:13 +01:00
Peter van der Perk 8242968b2b UAVCAN v1 GPS demo with MAVCAN autoconfigure 2021-02-07 17:18:45 +01:00
Peter van der Perk 5f8ad65c40 FMUK66 NuttX 10 SocketCAN initialization 2021-02-07 17:18:45 +01:00
Peter van der Perk e5d29d4079 UAVCANv1 demo UAVCAN146 <-> BMS-722 is working
Fixed UAVCAN146 linker script that caused CXX initalization to wrong
Enabled uORB listener command
Updated UAVCANv1 msg definition

Known isssue: PX4 params are not working on the UAVCAN146
2021-02-07 17:18:45 +01:00
Daniel Agar 58ca575871 UAVCAN v1 bridge
- NuttX stm32f4/stm32f7 uses character device driver
 - NuttX kinetis and s32k uses socketcan
2021-02-07 17:18:45 +01:00
Daniel Agar d67a84d941 boards: holybro can-gps-v1 fix bosch bmm150 path 2021-02-06 15:56:11 -05:00
Daniel Agar 41b0f83c0c drivers/magnetometer: Bosch BMM150 rewrite
- same pattern as other new drivers (state machine, checked register mechanism, no sleeps, etc)
 - self test has been rolled into regular startup sequence
 - still I2C only, but will be expanded in the future
 - configure to high accuracy preset
2021-02-06 12:50:23 -05:00
David Sidrane 8167023dfb holybro_can-gps-v1: Reorder Sensor Startup for reliabiltiy 2021-02-05 19:55:16 -05:00
David Sidrane 9e834d26f8 holybro_can-gps-v1:Add Flash Based Parameters 2021-02-05 19:55:16 -05:00
David Sidrane 7b3ce832d6 holybro_can-gps-v1: Add UAVCAN CAN2 Support 2021-02-05 19:55:16 -05:00
David Sidrane fe732930d2 holybro_can-gps-v1:Fix ver HW NAME 2021-02-05 19:55:16 -05:00
David Sidrane caba734d26 PR review AIs 2021-02-05 19:55:16 -05:00
David Sidrane 41c9f085ef holybro_can-gps-v1:Temparary LED support 2021-02-05 19:55:16 -05:00
David Sidrane 0554755ed2 holybro_can-gps-v1:Added Support for holybro can gps 2021-02-05 19:55:16 -05:00
David Sidrane 3b25790b06 px4_fmu-v2:Make room 2021-02-05 08:27:28 -08:00
Andrew C. Smith 1a428aa5c2 boards: Add support for PX4 FMUv6U 2021-02-02 10:50:26 -05:00
dino bb37fd2f29 Enabled LSE clock for RTC, set clk drive strength to 3. Else the quarzt on the fmuv5x does not socillate reliabel. 2021-02-02 09:58:47 +01:00
Daniel Agar a2442ffb48 board: enable UAVCAN sensors by default on F7/H7 2021-02-02 09:01:12 +01:00
Peter van der Perk 0c74028976 FMUK66 Decrease telnetd ram usage 2021-02-01 11:50:43 -05:00
Daniel Agar 78dff6adcb boards: add CONSTRAINED_MEMORY build option
- currently the main change is that it reduces the max number of ORB multi instances to 4, but usage will be expanded as needed
 - limits number of EKF2 multi instances to 2.
 - enabled on all cortex m4 boards
2021-02-01 08:56:22 +01:00
Daniel Agar 3b71e8e62d boards: cubepilot fix BAT2_V_DIV param default typo 2021-01-31 21:16:42 -05:00
David Sidrane d22eb76187 Add a simple network manager
This system command will display, set and save the network
   settings.

   netman show   - Displays the current settings.

   netman update - Will check for a net.cfg file on the SD card.
                   If present, it will update the paramaters,
                   delete the file, and reboot. Using the new settings.

   netman save - Saves the current settings to net.cfg on the SD card.
                 This file shoulf be renamed to preserver it across
                 reboots or editited to chech networkin paramates.

   File format is name<space>value:

   echo DEVICE=eth0           > /fs/microsd/net.cfg
   echo BOOTPROTO=fallback    >> /fs/microsd/net.cfg
   echo IPADDR=192.168.0.4    >> /fs/microsd/net.cfg
   echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
   echo ROUTER=192.168.0.254  >>/fs/microsd/net.cfg
   echo DNS=192.168.0.254     >>/fs/microsd/net.cfg

   Valid values for `proto` are `dhcp`, `static`, `falback`
   Both will try dhcp for CONFIG_NETINIT_FALLBACK times
   and fall back to the static address.

   NETMASK - is the network mask.
   IPADDR  - this nodes ip address for static or fall back.
   ROUTER  - The default route.
   DNS     - The address of the dns server.
2021-01-31 14:42:09 +01:00
David Sidrane ed996e2dd1 fmu-v5x:Add net monitoring an DHCP
px4_fmu-v5x:Use Bin Net settigns
2021-01-31 14:42:09 +01:00
Daniel Agar 318c7e83b3 support up to PWM 14
- generate PWM_MAIN 1-14
 - generate PWM_AUX 1-8
 - generate PWM_EXTRA 1-8
 - px4io and pwm_out directly read configuration parameters
    - only available and active physical outputs are actually shown for configuration
 - overall saves flash despite adding many new parameters
2021-01-30 15:55:53 +01:00
CUAVcaijie e30b8495b8 Enable x7pro and nora spi4 DMA 2021-01-29 21:30:12 -05:00
Daniel Agar f0d1f1d679 boards: disable BDMA on STM32H7 for now 2021-01-28 21:16:23 +01:00
alexklimaj 741c1da634 ARK Flow Basic Functionality 2021-01-28 08:56:10 -05:00
Lorenz Meier 2308cb8a40 CUAV CAN GPS support UAVCAN standard/indication/Button.uavcan
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-01-27 10:46:49 -05:00
Jukka Laitinen 5c9e7c2581 Add table of contents structure for px4_fmuv5 targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-01-27 08:36:08 +01:00
David Sidrane ab650373d6 cuav gps:Add Beep indication 2021-01-26 17:04:40 -05:00
Daniel Agar b422da45ec boot_app_shared automatically generate UAVCAN bootable image 2021-01-26 10:21:29 -08:00
Daniel Agar 347c185967 UAVCAN bootloader merge duplicate boot_app_shared 2021-01-26 10:21:29 -08:00
Daniel Agar 350ebf5a1f boards: CUAV CAN GPS flash based parameters 2021-01-26 08:06:54 -08:00