Compare commits

...

165 Commits

Author SHA1 Message Date
Jaeyoung-Lim f5a73e0e3c Add windshear plugin
This commit adds SITL targets for the dynamic soaring aircraft and additional plugins in the sitl_gazebo submodule
2022-02-20 12:44:26 +01:00
Jaeyoung-Lim 0c2bf7428f Disable unused targets 2021-12-30 11:02:12 +01:00
Jaeyoung-Lim a9df7366a6 Disable cuav nora 2021-12-30 11:02:12 +01:00
Jaeyoung-Lim 04c41d0fee Disable fmu-v2 stack check
Remove fmu
2021-12-30 11:02:12 +01:00
Jaeyoung-Lim 1030e7317d Add rtps message id for npfg_status 2021-12-30 11:02:12 +01:00
Jaeyoung-Lim 159a116286 Fix python CI checks 2021-12-30 11:02:12 +01:00
Thomas Stastny b4328e7459 eas2tas conversions for npfg input/output.. also some missing get airspeed refs 2021-12-30 00:10:52 +01:00
Jaeyoung-Lim 5857461dc7 Update sitl_gazebo 2021-11-25 13:14:46 +01:00
Jaeyoung-Lim 495721b350 Add airframe configuration and make target for believer
This commit adds an airframe configuration and make target for believer
2021-11-25 13:14:46 +01:00
RomanBapst 0588d5f88e TECS: enable direct height-rate control
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-25 13:14:32 +01:00
RomanBapst a81515f50b FixedWingPositionControl: control only height rate when using pitch stick
in manual altitude controlled modes

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-25 13:14:32 +01:00
Silvan Fuhrer 545bf1e977 rename FW_T_CLIMB_R_SP to FW_T_CLMB_R_SP
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-11-25 13:14:32 +01:00
RomanBapst 4f6c1d9c00 FixedWingPositionControl: use target climb/sink rate parameters as maximum
rates in manual altitude controlled modes

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-25 13:14:32 +01:00
RomanBapst ba13bb73c3 tecs: propagate altitude setpoint based on target climb/sink rate
- avoids tecs always climbing and sinking and max rates and allows to fine tune these rates
- avoid numerical calculation of feedforward velocity using derivative, this
 was prone to jitter in dt

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-25 13:14:32 +01:00
RomanBapst f73cf4870d FixedWingPosControlL1: added target climb and sink rate parameters
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-11-25 13:14:32 +01:00
JaeyoungLim 8d864f64e9 Enable offboard actuator setpoints 2021-11-24 09:40:19 +01:00
Jaeyoung-Lim 1469342125 Handle negative path curvature for feedforward acceleration calculations 2021-11-24 08:19:19 +01:00
Jaeyoung-Lim 3213be28a8 Log npfg status as default 2021-11-24 08:19:19 +01:00
Jaeyoung-Lim 788e9c92f8 Remove unused variable from npfg
This commit fixes the clang tidy check on the build test CI
2021-11-10 13:11:12 +01:00
Thomas Stastny 78d7ddbec7 ramp in curvature dependent lower period bound 2021-10-01 10:43:50 +02:00
Thomas Stastny b0dc3a4f51 add option to disable use of wind estimates with npfg 2021-10-01 10:43:50 +02:00
Thomas Stastny 493bae1e09 fix publish wind est valid 2021-10-01 10:43:50 +02:00
Thomas Stastny dd89665cd6 multiply track error boundary by scale factor in calculation of waypoint switch distance 2021-10-01 10:43:50 +02:00
Thomas Stastny 0b40586803 organze npfg member variables in header, rename min ground speed command -> desired 2021-10-01 10:43:50 +02:00
Thomas Stastny 4dce637ab7 new bearing feasibility for handling zero airspeed
- simpler bearing feasibility function
- get rid of wind ratio
- replace wind ratio buffer with airspeed buffer
2021-10-01 10:43:50 +02:00
Thomas Stastny 5398428683 update default gains for npfg (now that accel command bug was fixed) 2021-10-01 10:43:50 +02:00
Thomas Stastny 8641cabeec npfg: fix incorrect extra multiplication of airspeed to acceleration reference 2021-10-01 10:43:50 +02:00
Thomas Stastny c70df1e324 npfg: rearrange eval method, handle case in front of starting point of path segment 2021-10-01 10:43:50 +02:00
Thomas Stastny 4d11b4e06c npfg: header formatting 2021-10-01 10:43:50 +02:00
Thomas Stastny e9b0a3eb66 npfg: create const adaptPeriod method and update control params outside 2021-10-01 10:43:50 +02:00
Thomas Stastny 0b705c6c6d mavlink: add npfg_status, regenerate headers 2021-10-01 10:43:50 +02:00
Thomas Stastny d240ee9448 fw_pos_control_l1: integrate optional use of npfg
uorb: npfg_status msg
2021-10-01 10:43:50 +02:00
Thomas Stastny ef2cc9abb7 add npfg lib 2021-10-01 10:43:50 +02:00
Thomas Stastny cd6e2b7a07 switch back to standard dialect 2021-10-01 10:43:50 +02:00
Thomas Stastny 8928cb6331 move sensor_airflow_angles to common xml, regenerate mavlink headers 2021-10-01 10:43:50 +02:00
Jaeyoung-Lim 53b182cc0a Try setting the throttle channels properly 2021-09-29 19:42:03 +02:00
Jaeyoung-Lim e001ccec24 Set disarmed pwm value to 1500 2021-09-29 19:42:03 +02:00
Jaeyoung-Lim cf318a4b6c Add dual motor mixer 2021-09-29 19:42:03 +02:00
Jaeyoung-Lim fea99faf4a Add ASL Believer airframe config 2021-09-29 19:42:03 +02:00
Florian Achermann a0efc3eb00 Merge pull request #26 from ethz-asl/feature/firmware_update
Feature/firmware update
2021-08-23 16:11:41 +02:00
Florian Achermann 9424d17164 Change boot order to make sure the adis mag is the priority one 2021-07-27 13:57:46 +02:00
Florian Achermann 117150979e Switch order booting up the internal/external sensors 2021-07-27 10:46:41 +02:00
Florian Achermann 77bd43ead3 Fix compilation error 2021-07-27 10:46:12 +02:00
Florian Achermann 6b00008dba Change SPI chipselect order
- The ADIS driver by default only selects the first chipselect
2021-07-27 10:13:39 +02:00
Daniel Agar a65a591638 adis16448: add additional delay after transfer in case of back to back transcations
- add verified register read method
2021-07-27 10:07:23 +02:00
Florian Achermann 01307a43fe Merge pull request #23 from ethz-asl/pr-fix-rtps-builds
Add airflow_slip and airflow_aoa to rtps message definitions
2021-07-06 16:41:55 +02:00
Jaeyoung-Lim 83d8d8d710 Add airflow_slip and airflow_aoa to rtps message definitions 2021-07-06 16:36:23 +02:00
Jaeyoung-Lim 4a590c5fd6 Specify orientaiton of ADIS16448 IMU for EZG from autostart script
Specify orientaiton of ADIS16448 IMU for EZG from autostart script
2021-07-06 16:31:39 +02:00
JaeyoungLim 0f4eaec6c1 Merge pull request #17 from ethz-asl/feature/add_hall_effect_sensor
[WIP!!!] Feature/add hall effect sensor
2021-06-24 13:27:02 +02:00
JaeyoungLim 2b4540aa64 Merge pull request #18 from ethz-asl/pr-port-vanes
Port si7210 driver with new driver framework
2021-06-24 13:25:56 +02:00
Jaeyoung-Lim 389a096ace Add SENSOR_AIRFLOW_ANGLES mavlink stream to config mode 2021-06-24 13:15:21 +02:00
Jaeyoung-Lim 81b860c37e Add SENSOR_AIRFLOW_ANGLES mavlink stream 2021-06-24 13:10:09 +02:00
Jaeyoung-Lim 7fcad68c9d Remove probe override for si7210 driver
This commit removes the probe override for the si7210 driver, which seems to help with improving reliability of driver startup
2021-06-24 10:22:10 +02:00
Jaeyoung-Lim 66ad2fd586 Address review comments
Remove crc
2021-06-21 10:34:22 +02:00
Florian Achermann 4f87cb0b76 Fix format 2021-06-21 08:47:45 +02:00
Florian Achermann 042b48aadf Add si7210 to fmuv3 2021-06-21 08:47:45 +02:00
Florian Achermann 69aaa9bad2 Fix getting the aoa and slip hall id 2021-06-21 08:47:45 +02:00
Florian Achermann 538b8d9913 Add booting the si7210 sensors to rc.sensors 2021-06-21 08:47:45 +02:00
Florian Achermann 111321082f Add hall_poll to the main loop in the sensors module 2021-06-21 08:47:45 +02:00
Florian Achermann 736514dc98 Implement handling the hall measurements in the sensors module 2021-06-21 08:47:45 +02:00
Florian Achermann e9772b10ac Implement the SENSOR_AIRFLOW_ANGLES mavlink stream 2021-06-21 08:47:45 +02:00
Florian Achermann 514cb8e4fa Switch to the ASLUAV dialect 2021-06-21 08:47:45 +02:00
Florian Achermann 4a1b9fce05 Add uorb messages for the airflow angles 2021-06-21 08:47:45 +02:00
Florian Achermann ba72e93ffb Fill in the instance of the hall sensor msg with the i2c address 2021-06-21 08:47:45 +02:00
Daniel Agar 54cc96f66a drivers ADIS16448 misc fixes
- increase SPI stall time slightly
 - tolerate mag self test failure (could be due to local magnetic field)
 - register configuration compatible with older ADIS16448AMLZ
 - don't publish duplicate accel/gyro
 - only allocate CRC perf counter if using CRC
2021-05-27 12:19:27 +02:00
Jaeyoung-Lim e62a569f63 Port si7210 drivers to new driver framework
This commit ports the si7210 hall sensor to the new driver framework
2021-05-07 11:17:08 +02:00
Jaeyoung-Lim ceb8c0271c Add rotorS mavlink build test for PX4
This commit adds rotorS as a submodule of PX4 and adds a build test
2021-04-30 08:23:33 +02:00
Amir Melzer d20f353342 update uorb message make file 2021-04-14 16:19:29 +02:00
Amir Melzer 2ffca74e49 add hall sensor uORB message 2021-04-14 16:18:54 +02:00
Amir Melzer 080e04b59b update px4_fmu-v5_default cmake config with the new driver 2021-04-14 16:16:39 +02:00
Amir Melzer b3ce86f45f update the sensors list with the hall sensor dev 2021-04-14 16:15:21 +02:00
Amir Melzer 2e73460ad0 add hall sensor drv 2021-04-14 16:14:03 +02:00
Amir Melzer a5c61eeb4f add si7210 driver files 2021-04-14 16:12:50 +02:00
Amir Melzer f4551faa6b add si7210 make file 2021-04-14 16:07:18 +02:00
Jaeyoung-Lim fabf702264 Enable adis16448 with parameter
This commit adds enabling adis16448 with a parameter
2021-04-09 16:43:17 +02:00
JaeyoungLim 911f852834 Merge pull request #15 from ethz-asl/pr-upstream-merge
03/04/2021 upstream merge
2021-04-09 16:42:42 +02:00
Daniel Agar c6a0161047 commander: COM_PREARM_MODE disable by default 2021-04-03 20:15:05 +02:00
Daniel Agar bbf27d6960 boards: mro pixracerpro Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
Daniel Agar 43da43ddc6 boards: cubepilot cubeorange Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
Daniel Agar fffa10ade4 boards: px4_fmu-v6u sync with other stm32h7 boards 2021-04-03 14:13:23 -04:00
Daniel Agar 825d81dd57 boards: px4_fmu-v6x sync with other stm32h7 boards 2021-04-03 14:13:23 -04:00
David Sidrane dcfa3c97ba px4 fmu-v6x:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 38485a5d41 px4 fmu-v6u:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 961bac759a mro pixracerpro:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 2f9a57c604 mro ctrl-zero-h7:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 5c7a9204a2 mro ctrl-zero-h7-oem:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane f63f1f3969 holybro durandal-v1:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 55ed76522e cuav x7pro:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane df201342bb cuav nora:Add remaining SRAM4 & DTCM to heap 2021-04-03 14:13:23 -04:00
David Sidrane 5e73fe588e NuttX with SRAM4-heap-bp 2021-04-03 14:13:23 -04:00
Jaeyoung-Lim 01083cecfc Enable adis16448 with parameter
This commit adds enabling adis16448 with a parameter
2021-04-03 13:58:25 -04:00
Nidhish Raj 01d8c3da3d vtol_att_control: occasional tailsitter forward transition failure issue solved
Tailsitter VTOLs very occasionally gets stuck with zero roll and pitch angle in multicopter mode after
a forward transition command is issued.
This very rare behavior is triggered by the following events:
1> a forward transition is triggered either in auto or manual mode.
2> in the vtol_att_control main loop, if multicopter and fixed wing attitude setpoints are not updated, transition state is not updated
3> the commander changes the vehicle status to transition mode.
4> multicopter pos controller initiated  Transition flight task. This results in zero roll and pitch setpoint due to zero acceleration setpoint
5> now vtol_att_control executes and updates the transition state. Specifically, _q_trans_start and _q_trans_sp are set with zero roll and pitch sp
6> tilt is evaluated to be NaN, despite _q_trans_sp being normalized. This happens for 25% of all yaw angles when using float datatype. This can be
   verified using the matrix library
7> once tilt is evaluated to be NaN, _q_trans_sp is never updated again and is stuck in this state for ever.

This has been fixed by constraining the cos(tilt) within +1 to -1 range
Further, _q_trans_start and _q_trans_sp are immedietly initialized after a transition event is triggered.
2021-04-03 19:19:48 +02:00
Daniel Agar b30f3917d3 sensors/vehicle_imu: periodically send mavlink critical message if clipping 2021-04-03 10:32:16 -04:00
Daniel Agar 588883f663 uavcan: quiet server output
- remove verbose UAVCAN command bridge prefix
 - disable many normal PX4_INFO messages entirely (kept as PX4_DEBUG)
 - properly exit when arming (silently)
2021-04-03 10:07:50 -04:00
David Sidrane 2fcdadfbd1 holybro_durandal-v1:Enable UAVCAN 2021-04-03 12:47:20 +02:00
David Sidrane 003ef59019 px4_fmu-v6x:Enable UAVCAN 2021-04-03 12:47:20 +02:00
Lorenz Meier c96ca0434e Update README.md
Sort autopilot generations according to relevance to potential users (latest first)
2021-04-03 12:21:02 +02:00
PX4 BuildBot 9a02141d0d Update submodule ecl to latest Fri Apr 2 12:39:10 UTC 2021
- ecl in PX4/Firmware (744cd1182e183b62a0ab4b2f3e4e3c4aa6f5c15f): https://github.com/PX4/PX4-ECL/commit/6f2dec726adeedcb53aad9a77a8fcdfc8f7b3054
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/5d34d7a24ef72b826c320a3259ee0ec68b1936df
    - Changes: https://github.com/PX4/PX4-ECL/compare/6f2dec726adeedcb53aad9a77a8fcdfc8f7b3054...5d34d7a24ef72b826c320a3259ee0ec68b1936df

    5d34d7a 2021-03-31 Eike - Height source vision: Fallback to rangefinder if available (#994)
da06f25 2021-03-28 PX4BuildBot - [AUTO COMMIT] update change indication
85fcf93 2021-03-28 PX4 BuildBot - Update geo_lookup WMM  to latest Sun Mar 28 11:48:06 UTC 2021
2021-04-02 11:46:19 -04:00
Lorenz Meier 1ec8ce58c7 Commander: Increase auto-disarm timeout to 25 seconds after arming 2021-04-02 09:37:40 +02:00
Daniel Agar 278633c980 boards: cuav x7pro include correct adis IMU 2021-04-01 17:13:54 -04:00
Daniel Agar c017f76a36 github actions add all NuttX builds 2021-04-01 10:21:14 -04:00
Lorenz Meier 82f319a84a Commander: Add support for pairing via commandline 2021-04-01 09:56:09 -04:00
斯东Stone e789124bd9 Remove duplicated line in 50003_aion_robotics_r1_rover 2021-04-01 09:36:20 -04:00
Beat Küng 369d375417 holybro_can-gps-v1_debug: disable ekf & listener due to flash overflow 2021-04-01 08:35:36 -04:00
Daniel Agar 9171a84324 IMU_DGYRO_CUTOFF increase default 10 -> 20 Hz 2021-04-01 08:30:09 -04:00
Jaeyoung-Lim 19c4fdd7c5 Add support for 3D body thrust setpoint for offboard attitude control
This adds support for filling up the 3D thrust setpoint using SET_ATTITUDE_TARGET message
Update mavlink submodule
2021-04-01 13:58:04 +02:00
Nico van Duijn 8d3335906a v5x: use low bandwidth mavlink mode
This changes the default mavlink message set from onboard to
onboard_low_bandwidth, which drastically reduces the bandwidth required to get a
usable connection.
2021-04-01 07:28:43 +02:00
Daniel Agar 846695f986 ekf2: replace vehicle_imu lost error message with perf count 2021-03-31 22:07:32 -04:00
Daniel Agar 00f86eb895 drivers/uavcan: silence redundant exit message 2021-03-31 22:01:35 -04:00
Chris Lovett 292a66ce41 Add support for simulators running on a different host than the PX4 instance 2021-03-31 20:56:38 -04:00
RomanBapst b66ae5f2d4 tecs: use raw inertial acceleration for true airspeed complementary filter
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-03-31 20:12:40 -04:00
Beat Küng 9dd6bef7f9 autostart scripts: remove SYS_PARAM_VER
With the airframe defaults there's no use for that anymore
2021-03-31 20:12:05 -04:00
Beat Küng aec63eacbe mavlink_receiver: avoid spamming 'unsupported component id' 2021-03-31 20:10:15 -04:00
Matthias Grob 5f4802a239 SlewRate: add back dummy file for mac build 2021-03-31 15:50:16 +02:00
Matthias Grob 8fec39ad39 MulticopterPositionControl: readd takeoff ramp fix
added in #14821 and accidentally removed in #14665
2021-03-31 15:21:42 +02:00
Bastian Jäger 752bc9ebce startup scripts: fix rc.mavlink_override 2021-03-31 14:05:24 +02:00
Julian Kent 5c5ec1a0ea Receive telemetry_status, send vehicle_trajectory_waypoint_desired 2021-03-31 13:26:00 +02:00
Julian Kent b5a64f957e Update RTPS messages to match what is needed for PX4/Avoidance 2021-03-31 13:26:00 +02:00
Julian Kent c1cb964c2a RTPS timesync don't use MONOTONIC_RAW 2021-03-31 13:25:27 +02:00
Julian Kent 1011382098 Clamp RTPS -> uorb timestamps to system time 2021-03-31 13:25:27 +02:00
TSC21 eca4d90a91 init.d-posix: adjust COM_OBC_LOSS_T when using PX4_SIM_SPEED_FACTOR 2021-03-31 13:25:01 +02:00
TSC21 7abce87ae4 commander: add COM_OBC_LOSS_T for setting onboard computer loss time-out 2021-03-31 13:25:01 +02:00
Beat Küng e9370c658a nuttx cmake: include upload.cmake if it exists (same as on posix) 2021-03-31 11:25:11 +02:00
RomanBapst 5b08362ba3 position_controller_status message: added comments regarding NAN
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-03-31 11:23:33 +02:00
Matthias Grob c06b5a1de9 MulticopterPositionControl: improve tilt limit readability and scope
according to @bresch's review comment.
2021-03-31 10:03:08 +02:00
Matthias Grob 94469d84ae MulticopterPositionControl: fix twitch on tilt limit relaxation 2021-03-31 10:03:08 +02:00
Matthias Grob 34a5948692 Adapt SlewRate includes to convention 2021-03-31 10:03:08 +02:00
Matthias Grob c16b937221 Takeoff: switch internally to use a ramp progress 2021-03-31 10:03:08 +02:00
Matthias Grob 8ca76feaba Takeoff: remove updateRamp() early return 2021-03-31 10:03:08 +02:00
Matthias Grob b7600f4e4d Commander: check_posvel_validity use return value 2021-03-30 22:33:01 -04:00
Matthias Grob 29e1e0905c Commander: switch main_state functions to pass by reference 2021-03-30 22:33:01 -04:00
Matthias Grob 531de5c588 Commander: switch all state_machine_helper functions to pass by reference 2021-03-30 22:33:01 -04:00
Matthias Grob d97fba67e5 Commander: switch helper functions to pass by reference 2021-03-30 22:33:01 -04:00
Daniel Agar 0fa91f7cb0 commander: centralize main_state strings and simplify main state change attempts
* commander: centralize main_state strings and simplify main state change attempts
2021-03-30 17:56:28 +02:00
Daniel Agar 18be1bacdc state_machine_helper: automatically initialize to assist mode if using mavlink manual control 2021-03-30 17:56:28 +02:00
Claudio Micheli b001865e5c Commander: clean up logic for flight mode transitions and add joystick mode initialization
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-03-30 17:56:28 +02:00
Daniel Agar 9a35756cd1 ekf2: enable range aid by default
- this is to help more users get the benefit (by default) and perhaps circumvent the common mistake of setting EKF2_HGT_MODE to range sensor
 - this should be safe to enable as the range aid defaults are fairly conservative (max horizontal velocity 1 m/s, and range aid gate 1 SD)
2021-03-30 10:23:18 -04:00
Daniel Agar 6874e9fba0 boards: NuttX disable all NSH memory debug commands (mb, mh, mw) by default
- closes https://github.com/PX4/PX4-Autopilot/issues/17062
2021-03-30 09:23:43 -04:00
Michael Schaeuble f9af1bbe2d PreFlightCheck: Check if SD card is present only once and store the result
statfs accesses the file-system and can be blocking for an extended period. Since the SD card check is part of the preflight checks in the main thread of commander, it could block its execution and cause various issues. The SD card is only mounted in rcS during boot so the state will not change after the first check.
2021-03-30 08:20:49 +02:00
Daniel Agar c2350c06c1 commander: ManualControl avoid unnecessary copy 2021-03-30 08:19:07 +02:00
Beat Küng 416a663d11 params: add build dependency for *parameters.c
Makes sure changes to these files trigger metadata rebuild
2021-03-30 08:18:49 +02:00
Beat Küng 42a865f349 param json: ensure category is set to Standard if not set
For xml this was previously done on the QGC side.
2021-03-30 08:18:49 +02:00
Beat Küng 2d2799b739 IMU_GYRO_CUTOFF: add 800 (used by SITL) 2021-03-30 08:18:49 +02:00
Beat Küng 346f269d8f IMU_INTEG_RATE: add 250 (used by SITL) 2021-03-30 08:18:49 +02:00
Beat Küng 6a7688cbca component_information: rework to reflect mavlink message changes 2021-03-30 08:18:49 +02:00
Daniel Williams 0f29b87101 [uorb-graph][squash][refactor] Rework of uorb-graph script -- Greatly expands handled test cases
- Source processing now happens on original source files:
    - processing to line-by-line
    - required overhaul of regex match patterns + processing
    - pros:
        - enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
        - simplifies code
        - reduces computational complexity
    - cons:
        - certain declarations are harder to parse: multiline declarations
- refactors:
    - added specific subclasses for each: Publications, Subscriptions, Ambiguities
    - added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
- regexes:
    - added cases for C++-style classes
    - expanded C++-style regex cases to accommodate templates
    - `ORB_ID::` is accepted wherever `ORB_ID(` is accepted
    - adds 'orb_copy' regex to the subscription cases
    - emit ambiguous-line warning for declarations with `ORB_ID` on the same line
    - emit ambiguous-line warning for `ORB_ID` with a declaration on the same line
- changed 'module whitelist' to 'scope-whitelist'
    - whitelist may now apply to libraries
    - libraries are optionally merged with their depending modules (but not by default)
    - may be merged with their depending modules with the `--merge-depends` cli flag
    - eliminates some redundant 'special-case' handling code
- debug output
    - raises exception and aborts if a topic is found outside of a scope
    - debug output is now printed & filtered with the python 'logging' standard module
    - alphabetizes topic output in debug logging
    - fixes debug output if package dependencies are missing
    - now warns on ambiguous matches
    - prints a list of ambiguous source sites (aka warnings) on completion
    - (still) emits a warning if we find ORB_ID outside of a scope
    - adds warnings if any of the source paths are invalid
    - do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
    - added 'none' output options: undocumented debugging option to silence file output while debugging
    - added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
2021-03-29 09:36:34 +02:00
Daniel Agar 3d667b1675 delete unused drivers/lights/blinkm 2021-03-28 19:21:29 -04:00
Daniel Agar 631d1647d3 boards: minimize unnecessary differences in default variants 2021-03-28 14:46:47 -04:00
Daniel Agar fcc4153c26 drivers/gps: explicitly link libm
- needed on stripped down builds
2021-03-28 12:39:22 -04:00
Daniel Agar 7314b69adc cmake: fix jlink_flash_uavcan_bin helper 2021-03-28 12:39:22 -04:00
Daniel Agar f5c7f89a76 vscode add holybro can-gps-v1 variants 2021-03-28 12:39:22 -04:00
Daniel Agar e58af90bac boards: holybro can-gps-v1 create separate default and debug variants 2021-03-28 12:39:22 -04:00
Daniel Agar 86b831b019 Update submodule GPSDrivers to latest Sun Mar 28 12:39:06 UTC 2021 (#17253)
- devices in PX4/Firmware (22b74424d42fa89ebc4df84422ca7ea633843878): https://github.com/PX4/PX4-GPSDrivers/commit/e7f0b23f47d65490b72e9bacaff191bda2d99496
    - devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/f2eb62c2c78a2ec47bccfe993ff59acc94155e7e
    - Changes: https://github.com/PX4/PX4-GPSDrivers/compare/e7f0b23f47d65490b72e9bacaff191bda2d99496...f2eb62c2c78a2ec47bccfe993ff59acc94155e7e

    f2eb62c 2021-02-21 chenhui.yu - sbf: fix #430 longitude judgement bug

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-03-28 11:13:58 -04:00
Daniel Agar f65781025e boards: mRo x21 enable mpu9250 mag (only internal)
- fixes #17244
2021-03-26 21:02:30 -04:00
Daniel Agar b1c913244f boards: CUAV X7pro restore lights 2021-03-26 18:25:39 -04:00
Daniel Agar e77bffe582 boards: STM32H7 remove CONFIG_MM_REGIONS=3 2021-03-26 17:40:44 -04:00
Daniel Agar a260ddd8ff posix-configs: rpi multi-EKF defaults
- the ekf2 frontend typically runs in the background for up to 30 seconds waiting for all instances to appear, but this isn't supported by the legacy posix launcher
2021-03-26 14:24:34 -04:00
Daniel Agar a9b47558b1 magnetometer/lsm9ds1_mag: fix register typo and refactor to new style with state machine and configuration monitoring 2021-03-26 14:23:25 -04:00
JaeyoungLim 32a93d6355 Merge pull request #11 from ethz-asl/pr-upstream-merge
23/02/2021 Upstream Merge
2021-02-24 10:48:56 +01:00
JaeyoungLim 472e191fef Merge pull request #10 from ethz-asl/pr-upstream-merge
16/02/2021 Upstream Merge
2021-02-23 09:43:53 +01:00
JaeyoungLim c25e7e2362 Merge pull request #8 from ethz-asl/pr-upstream-merge
14/02/2021 Upstream merge
2021-02-14 15:54:41 +01:00
JaeyoungLim 34f0e3f09a Merge branch 'develop' into pr-upstream-merge 2021-02-14 09:49:53 +01:00
JaeyoungLim b7b5f159d5 Port custom airframe configs / mixers to public fork (#7)
* Port custom airframe configs / mixers to new custom repo

This PR ports ethz asl fixedwing team's custom airframe configs and mixers to the PX4 fork

* Exclude fmu-v2 for ASL vehicles

This commit removes the fmu v2 for ASL vehicles in order to fix the flash overflowing problem
2021-02-11 11:09:24 +01:00
JaeyoungLim 8bac069e55 Merge pull request #6 from ethz-asl/pr-automate-upstream-sync
Sync master branch with upstream using github actions
2021-02-10 02:59:44 +01:00
Jaeyoung-Lim 7859174d6b Sync master branch with upstream using github actions
This commit adds a github actions pipeline that syncs the master branch with upstream every 15 minutes
2021-02-09 21:30:16 +01:00
281 changed files with 6862 additions and 3193 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
"check_format",
"tests",
"tests_coverage",
"px4_fmu-v2_default stack_check",
# "px4_fmu-v2_default stack_check",
"validate_module_configs",
"shellcheck_all",
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
+44 -38
View File
@@ -15,69 +15,75 @@ jobs:
strategy:
matrix:
config: [
airmind_mindpx-v2_default,
ark_can-flow_canbootloader,
ark_can-flow_default,
av_x-v1_default,
bitcraze_crazyflie21_default,
bitcraze_crazyflie_default,
cuav_can-gps-v1_canbootloader,
cuav_can-gps-v1_default,
cuav_nora_default,
cuav_x7pro_default,
cubepilot_cubeorange_console,
cubepilot_cubeorange_default,
cubepilot_cubeyellow_console,
cubepilot_cubeyellow_default,
# airmind_mindpx-v2_default,
# ark_can-flow_canbootloader,
# ark_can-flow_debug,
# ark_can-flow_default,
# av_x-v1_default,
# bitcraze_crazyflie21_default,
# bitcraze_crazyflie_default,
# cuav_can-gps-v1_canbootloader,
# cuav_can-gps-v1_debug,
# cuav_can-gps-v1_default,
# cuav_nora_default,
# cuav_x7pro_default,
# cubepilot_cubeorange_console,
# cubepilot_cubeorange_default,
# cubepilot_cubeyellow_console,
# cubepilot_cubeyellow_default,
# cubepilot_io-v2_default,
holybro_can-gps-v1_canbootloader,
holybro_can-gps-v1_debug,
holybro_can-gps-v1_default,
holybro_durandal-v1_default,
holybro_kakutef7_default,
holybro_pix32v5_default,
modalai_fc-v1_default,
mro_ctrl-zero-f7_default,
mro_ctrl-zero-f7-oem_default,
mro_ctrl-zero-h7_default,
mro_ctrl-zero-h7-oem_default,
mro_pixracerpro_default,
mro_x21-777_default,
mro_x21_default,
nxp_fmuk66-e_default,
nxp_fmuk66-e_rtps,
nxp_fmuk66-e_socketcan,
nxp_fmuk66-v3_default,
nxp_fmuk66-v3_rtps,
nxp_fmuk66-v3_socketcan,
nxp_fmurt1062-v1_default,
nxp_ucans32k146_default,
nxp_ucans32k146_canbootloader,
# mro_ctrl-zero-f7-oem_default,
# mro_ctrl-zero-f7_default,
# mro_ctrl-zero-h7-oem_default,
# mro_ctrl-zero-h7_default,
# mro_pixracerpro_default,
# mro_x21-777_default,
# mro_x21_default,
# nxp_fmuk66-e_default,
# nxp_fmuk66-e_rtps,
# nxp_fmuk66-e_socketcan,
# nxp_fmuk66-v3_default,
# nxp_fmuk66-v3_rtps,
# nxp_fmuk66-v3_socketcan,
# nxp_fmurt1062-v1_default,
# nxp_ucans32k146_canbootloader,
# nxp_ucans32k146_default,
omnibus_f4sd_default,
px4_fmu-v2_default,
px4_fmu-v2_fixedwing,
px4_fmu-v2_multicopter,
px4_fmu-v2_rover,
px4_fmu-v2_test,
# px4_fmu-v2_default,
# px4_fmu-v2_fixedwing,
# px4_fmu-v2_multicopter,
# px4_fmu-v2_rover,
# px4_fmu-v2_test,
px4_fmu-v3_default,
px4_fmu-v4_cannode,
px4_fmu-v4_default,
px4_fmu-v4pro_default,
px4_fmu-v5_ctrlalloc,
px4_fmu-v5_debug,
px4_fmu-v5_default,
px4_fmu-v5_fixedwing,
px4_fmu-v5_multicopter,
px4_fmu-v5_optimized,
px4_fmu-v5_rover,
px4_fmu-v5_rtps,
px4_fmu-v5_stackcheck,
px4_fmu-v5_uavcanv0periph,
px4_fmu-v5_uavcanv1,
px4_fmu-v5x_base_phy_DP83848C,
px4_fmu-v5x_default,
# px4_fmu-v5x_base_phy_DP83848C,
# px4_fmu-v5x_default,
px4_fmu-v6u_default,
px4_fmu-v6u_test,
px4_fmu-v6x_default,
px4_io-v2_default,
spracing_h7extreme_default,
uvify_core_default
# uvify_core_default
]
steps:
- uses: actions/checkout@v1
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
- name: Install Python3
run: sudo apt-get install python3 python3-setuptools python3-pip -y
- name: Install tools
run: pip3 install --user mypy flake8
run: pip3 install --user mypy types-requests flake8
- name: Check MAVSDK test scripts with mypy
run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
- name: Check MAVSDK test scripts with flake8
+55
View File
@@ -0,0 +1,55 @@
name: RotorS PX4 Build Test
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
container:
- 'px4io/px4-dev-simulation-bionic:2020-11-18' # Gazebo 9
container:
image: ${{ matrix.container }}
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v2
with:
path: ~/.ccache
key: rotors_tests-RelWithDebInfo-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: rotors_tests-RelWithDebInfo-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 5" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: Install glog
run: apt update && apt install -y libgoogle-glog-dev libyaml-cpp-dev
- name: Build PX4 RotorS
env:
PX4_CMAKE_BUILD_TYPE: RelWithDebInfo
DONT_RUN: 1
run: make px4_sitl rotors
- name: ccache post-run px4/firmware
run: ccache -s
+22
View File
@@ -0,0 +1,22 @@
# This pipeline keeps the master branch up to date with upstream master
name: Upstream Synchronization
on:
schedule:
- cron: "*/15 * * * *"
workflow_dispatch:
jobs:
repo-sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- name: repo-sync
uses: repo-sync/github-sync@v2
with:
source_repo: "https://github.com/PX4/PX4-Autopilot.git"
source_branch: "master"
destination_branch: "master"
github_token: ${{ secrets.PAT }}
+4 -1
View File
@@ -1,6 +1,6 @@
[submodule "mavlink/include/mavlink/v2.0"]
path = mavlink/include/mavlink/v2.0
url = https://github.com/mavlink/c_library_v2.git
url = https://github.com/ethz-asl/fw_mavlink_c_library_v2.git
branch = master
[submodule "src/drivers/uavcan/libuavcan"]
path = src/drivers/uavcan/libuavcan
@@ -63,3 +63,6 @@
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
path = src/drivers/uavcannode_gps_demo/libcanard
url = https://github.com/UAVCAN/libcanard
[submodule "Tools/rotors_simulator"]
path = Tools/rotors_simulator
url = https://github.com/ethz-asl/rotors_simulator.git
+10
View File
@@ -111,6 +111,16 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: emlid_navio2_default
holybro_can-gps-v1_canbootloader:
short: holybro_can-gps-v1_canbootloader
buildType: MinSizeRel
settings:
CONFIG: holybro_can-gps-v1_canbootloader
holybro_can-gps-v1_default:
short: holybro_can-gps-v1_default
buildType: MinSizeRel
settings:
CONFIG: holybro_can-gps-v1_default
holybro_durandal-v1_default:
short: holybro_durandal-v1
buildType: MinSizeRel
Vendored
+3 -3
View File
@@ -110,8 +110,8 @@ pipeline {
sh 'make distclean'
sh 'make parameters_metadata'
dir('build/px4_sitl_default/docs') {
archiveArtifacts(artifacts: 'parameters.md, parameters.xml, params.json.xz')
stash includes: 'parameters.md, parameters.xml, params.json.xz', name: 'metadata_parameters'
archiveArtifacts(artifacts: 'parameters.md, parameters.xml, parameters.json.xz')
stash includes: 'parameters.md, parameters.xml, parameters.json.xz', name: 'metadata_parameters'
}
}
post {
@@ -342,7 +342,7 @@ pipeline {
withAWS(credentials: 'px4_aws_s3_key', region: 'us-east-1') {
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'airframes.xml', path: 'Firmware/master/')
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'parameters.xml', path: 'Firmware/master/')
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'params.json.xz', path: 'Firmware/master/')
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'parameters.json.xz', path: 'Firmware/master/')
}
}
when {
+15 -14
View File
@@ -85,23 +85,24 @@ See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and
This repository contains code supporting Pixhawk standard boards (best supported, best tested, recommended choice) and proprietary boards.
### Pixhawk Standard Boards
* FMUv2
* [Pixhawk](https://docs.px4.io/master/en/flight_controller/pixhawk.html)
* [Pixfalcon](https://docs.px4.io/master/en/flight_controller/pixfalcon.html)
* FMUv3
* FMUv6X and FMUv6U (STM32H7, 2021)
* Various vendors will provide FMUv6X and FMUv6U based designs Q3/2021
* FMUv5 and FMUv5X (STM32F7, 2019/20)
* [Pixhawk 4 (FMUv5)](https://docs.px4.io/master/en/flight_controller/pixhawk4.html)
* [Pixhawk 4 mini (FMUv5)](https://docs.px4.io/master/en/flight_controller/pixhawk4_mini.html)
* [CUAV V5+ (FMUv5)](https://docs.px4.io/master/en/flight_controller/cuav_v5_plus.html)
* [CUAV V5 nano (FMUv5)](https://docs.px4.io/master/en/flight_controller/cuav_v5_nano.html)
* [Auterion Skynode (FMUv5X)](https://docs.px4.io/master/en/flight_controller/auterion_skynode.html)
* FMUv4 (STM32F4, 2015)
* [Pixracer](https://docs.px4.io/master/en/flight_controller/pixracer.html)
* [Pixhawk 3 Pro](https://docs.px4.io/master/en/flight_controller/pixhawk3_pro.html)
* FMUv3 (STM32F4, 2014)
* [Pixhawk 2](https://docs.px4.io/master/en/flight_controller/pixhawk-2.html)
* [Pixhawk Mini](https://docs.px4.io/master/en/flight_controller/pixhawk_mini.html)
* [CUAV Pixhack v3](https://docs.px4.io/master/en/flight_controller/pixhack_v3.html)
* FMUv4 (STM32F4)
* [Pixracer](https://docs.px4.io/master/en/flight_controller/pixracer.html)
* [Pixhawk 3 Pro](https://docs.px4.io/master/en/flight_controller/pixhawk3_pro.html)
* FMUv5 (STM32F7)
* [Pixhawk 4](https://docs.px4.io/master/en/flight_controller/pixhawk4.html)
* [Pixhawk 4 mini](https://docs.px4.io/master/en/flight_controller/pixhawk4_mini.html)
* [CUAV V5+](https://docs.px4.io/master/en/flight_controller/cuav_v5_plus.html)
* [CUAV V5 nano](https://docs.px4.io/master/en/flight_controller/cuav_v5_nano.html)
* FMUv6X and FMUv6U (STM32H7)
* Various vendors will provide FMUv6X and FMUv6U based designs Q2/2021
* FMUv2 (STM32F4, 2013)
* [Pixhawk](https://docs.px4.io/master/en/flight_controller/pixhawk.html)
* [Pixfalcon](https://docs.px4.io/master/en/flight_controller/pixfalcon.html)
### Manufacturer and Community supported
* [Holybro Durandal](https://docs.px4.io/master/en/flight_controller/durandal.html)
-9
View File
@@ -76,15 +76,6 @@ unset BOARD_RC_DEFAULTS
#
rgbled start -X -q
rgbled_ncp5623c start -X -q
rgbled_pwm start
if param greater -s LIGHT_EN_BLINKM 0
then
if blinkm start -X
then
blinkm systemstate
fi
fi
#
# board sensors: rc.sensors
@@ -0,0 +1,54 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
param set-default EKF2_ARSP_THR 8
param set-default EKF2_FUSE_BETA 1
param set-default EKF2_MAG_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_AIRSPD_SC 1
param set-default FW_LND_ANG 8
param set-default FW_THR_LND_MAX 0
param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
param set-default FW_PR_I 0.4
param set-default FW_PR_P 0.9
param set-default FW_PR_FF 0.2
param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.1
param set-default FW_RR_P 0.3
param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05
param set-default FW_THR_CRUISE 0.25
param set-default FW_T_ALT_TC 2
param set-default FW_T_CLMB_MAX 8
param set-default FW_T_HRATE_FF 0.5
param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2
param set-default FW_W_EN 1
param set-default MIS_LTRMIN_ALT 30
param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 1
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -0,0 +1,58 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
param set EKF2_ARSP_THR 8
param set EKF2_FUSE_BETA 1
param set EKF2_MAG_ACCLIM 0
param set EKF2_MAG_YAWLIM 0
param set FW_LND_AIRSPD_SC 1
param set FW_LND_ANG 8
param set FW_THR_LND_MAX 0
param set FW_L1_PERIOD 12
param set FW_MAN_P_MAX 30
param set FW_PR_I 0.4
param set FW_PR_P 0.9
param set FW_PR_FF 0.2
param set FW_PSP_OFF 2
param set FW_P_LIM_MAX 32
param set FW_P_LIM_MIN -15
param set FW_RR_FF 0.1
param set FW_RR_P 0.3
param set FW_THR_MAX 0.6
param set FW_THR_MIN 0.05
param set FW_THR_CRUISE 0.25
param set FW_T_ALT_TC 2
param set FW_T_CLMB_MAX 8
param set FW_T_HRATE_FF 0.5
param set FW_T_SINK_MAX 2.7
param set FW_T_SINK_MIN 2.2
param set FW_T_TAS_TC 2
param set FW_W_EN 1
param set MIS_LTRMIN_ALT 30
param set MIS_TAKEOFF_ALT 30
param set NAV_ACC_RAD 15
param set NAV_DLL_ACT 2
param set NAV_LOITER_RAD 50
param set RWTO_TKOFF 1
fi
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -62,6 +62,8 @@ px4_add_romfs_files(
1034_rascal-electric
1035_techpod
1036_malolo
1037_believer
1038_plane_dynamicsoaring
1040_standard_vtol
1041_tailsitter
1042_tiltrotor
+21 -3
View File
@@ -98,7 +98,7 @@ then
set AUTOCNF yes
# Wipe out params except RC*, flight modes, total flight time, accel cal, gyro cal, next flight UUID
param reset_all SYS_AUTOSTART SYS_AUTOCONFIG RC* COM_FLTMODE* LND_FLIGHT_T_* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT_UUID
param reset_all SYS_AUTO* RC* COM_FLTMODE* LND_FLIGHT* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT*
fi
# multi-instance setup
@@ -177,6 +177,10 @@ if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then
COM_OF_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 0.5" | bc)
echo "COM_OF_LOSS_T set to $COM_OF_LOSS_T_LONGER"
param set COM_OF_LOSS_T $COM_OF_LOSS_T_LONGER
COM_OBC_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 5.0" | bc)
echo "COM_OBC_LOSS_T set to $COM_OBC_LOSS_T_LONGER"
param set COM_OBC_LOSS_T $COM_OBC_LOSS_T_LONGER
fi
# Autostart ID
@@ -216,7 +220,21 @@ dataman start
# only start the simulator if not in replay mode, as both control the lockstep time
if ! replay tryapplyparams
then
simulator start -c $simulator_tcp_port
# Check if PX4_SIM_HOSTNAME environment variable is empty
# If empty check if PX4_SIM_HOST_ADDR environment variable is empty
# If both are empty use localhost for simulator
if [ -z "${PX4_SIM_HOSTNAME}" ]; then
if [ -z "${PX4_SIM_HOST_ADDR}" ]; then
echo "PX4 SIM HOST: localhost"
simulator start -c $simulator_tcp_port
else
echo "PX4 SIM HOST: $PX4_SIM_HOST_ADDR"
simulator start -t $PX4_SIM_HOST_ADDR $simulator_tcp_port
fi
else
echo "PX4 SIM HOST: $PX4_SIM_HOSTNAME"
simulator start -h $PX4_SIM_HOSTNAME $simulator_tcp_port
fi
fi
load_mon start
battery_simulator start
@@ -257,7 +275,7 @@ fi
if [ -e etc/init.d-posix/rc.mavlink_override ]
then
echo "Running non-default mavlink config rc.mavlink_override"
sh etc/init.d-posix/rc.mavlink_override
. ${R}etc/init.d-posix/rc.mavlink_override
else
# GCS link
mavlink start -x -u $udp_gcs_port_local -r 4000000 -f
@@ -0,0 +1,54 @@
#!/bin/sh
#
# @name ASL_EasyGlider
#
# @type Standard Plane
# @class Plane
#
# @output MAIN1 aileron
# @output MAIN2 aileron
# @output MAIN3 elevator
# @output MAIN4 rudder
# @output MAIN5 throttle
# @output MAIN6 wheel
# @output MAIN7 flaps
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Philipp Oettershagen <philipp.oettershagen@mavt.ethz.ch>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.fw_defaults
if [ $AUTOCNF == yes ]
then
param set FW_AIRSPD_MIN 10
param set FW_AIRSPD_TRIM 15
param set FW_AIRSPD_MAX 20
param set FW_MAN_P_MAX 45
param set FW_MAN_R_MAX 45
param set FW_R_LIM 45
param set FW_WR_FF 0.2
param set FW_WR_I 0.2
param set FW_WR_IMAX 0.8
param set FW_WR_P 1
param set FW_W_RMAX 0
# set disarmed value for the ESC
param set PWM_DISARMED 1000
param set-default SENS_EN_ADIS164X 1
param set SENS_EN_ADIS164X 4
fi
set MIXER asl_easyglider
# use PWM parameters for throttle channel
set PWM_OUT 5
@@ -0,0 +1,52 @@
#!/bin/sh
#
# @name ASL_Techpod
#
# @type Plane A-Tail
# @class Plane
#
# @output MAIN1 aileron right
# @output MAIN2 aileron left
# @output MAIN3 v-tail right
# @output MAIN4 v-tail left
# @output MAIN5 throttle
# @output MAIN6 wheel
# @output MAIN7 flaps right
# @output MAIN8 flaps left
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Philipp Oettershagen <philipp.oettershagen@mavt.ethz.ch>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.fw_defaults
if [ $AUTOCNF == yes ]
then
param set FW_AIRSPD_MIN 10
param set FW_AIRSPD_TRIM 15
param set FW_AIRSPD_MAX 20
param set FW_MAN_P_MAX 55
param set FW_MAN_R_MAX 55
param set FW_R_LIM 55
param set FW_WR_FF 0.2
param set FW_WR_I 0.2
param set FW_WR_IMAX 0.8
param set FW_WR_P 1
param set FW_W_RMAX 0
# set disarmed value for the ESC
param set PWM_DISARMED 1000
fi
set MIXER asl_techpod
# use PWM parameters for throttle channel
set PWM_OUT 5
@@ -0,0 +1,52 @@
#!/bin/sh
#
# @name ASL_SenseSoar2
#
# @type Plane A-Tail
# @class Plane
#
# @output MAIN1 aileron right
# @output MAIN2 aileron left
# @output MAIN3 v-tail right
# @output MAIN4 v-tail left
# @output MAIN5 throttle
# @output MAIN6 wheel
# @output MAIN7 flaps right
# @output MAIN8 flaps left
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Philipp Oettershagen <philipp.oettershagen@mavt.ethz.ch>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.fw_defaults
if [ $AUTOCNF == yes ]
then
param set FW_AIRSPD_MIN 12
param set FW_AIRSPD_TRIM 15
param set FW_AIRSPD_MAX 20
param set FW_MAN_P_MAX 45
param set FW_MAN_R_MAX 45
param set FW_R_LIM 55
param set FW_WR_FF 0.2
param set FW_WR_I 0.2
param set FW_WR_IMAX 0.8
param set FW_WR_P 1
param set FW_W_RMAX 0
# set disarmed value for the ESC
param set PWM_DISARMED 1000
fi
set MIXER asl_sensoar2
# use PWM parameters for throttle channel
set PWM_OUT 5
@@ -0,0 +1,54 @@
#!/bin/sh
#
# @name Autonomous Systems Lab, ETH Zurich Believer
#
# @type Plane V-Tail
# @class Plane
#
# @output MAIN1 aileron right
# @output MAIN2 aileron left
# @output MAIN3 v-tail right
# @output MAIN4 v-tail left
# @output MAIN5 throttle
# @output MAIN6 wheel
# @output MAIN7 flaps right
# @output MAIN8 flaps left
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Jaeyoung Lim <jalim@ethz.ch>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.fw_defaults
param set-default FW_AIRSPD_MIN 10
param set-default FW_AIRSPD_TRIM 15
param set-default FW_AIRSPD_MAX 20
param set-default FW_MAN_P_MAX 55
param set-default FW_MAN_R_MAX 55
param set-default FW_R_LIM 55
param set-default FW_WR_FF 0.2
param set-default FW_WR_I 0.2
param set-default FW_WR_IMAX 0.8
param set-default FW_WR_P 1
param set-default FW_W_RMAX 0
# set disarmed value for the ESC
param set-default PWM_MAIN_DISARM 1500
param set-default PWM_MAIN_DIS5 900
param set-default PWM_MAIN_DIS6 900
# The Mini Talon does not have a wheel and
# no flaps. I leave them here because the mixer
# computes also wheel and flap controls.
set MIXER AAVVTTFF_vtail
# use PWM parameters for throttle channel
set PWM_OUT 56
@@ -16,8 +16,6 @@
set MIXER quad_x
set PWM_OUT 1234
set PARAM_DEFAULTS_VER 2
param set-default BAT_N_CELLS 4
@@ -7,8 +7,6 @@
# @type Rover
# @class Rover
#
# @board px4_fmu-v2 exclude
#
# @output MAIN0 Speed of left wheels
# @output MAIN1 Speed of right wheels
#
@@ -157,6 +157,11 @@ px4_add_romfs_files(
18001_TF-B1
# [22000, 22999] Reserve for custom models
# ETHZ ASL Vehicles
22000_asl_easyglider
22001_asl_techpod
22002_asl_sensesoar2
22003_asl_believer
24001_dodeca_cox
+68 -2
View File
@@ -21,6 +21,23 @@ fi
# Begin Optional drivers #
###############################################################################
# ADIS16448 spi external IMU
if param compare -s SENS_EN_ADIS164X 1
then
if param compare -s SENS_OR_ADIS164X 0
then
adis16448 -S start
fi
if param compare -s SENS_OR_ADIS164X 4
then
adis16448 -S start -R 4
fi
# add a sleep to make sure the mag is the priority one
usleep 1000000
fi
if param compare -s SENS_EN_BATT 1
then
batt_smbus start -X
@@ -108,6 +125,57 @@ then
vl53l1x start -X
fi
# Hall effect sensors si7210
# Potentially remove the -k option if possible and improve the startup if possible
if param greater CAL_AV_AOA_ID -1
then
set AOA_I2C_ID 0
if param compare CAL_AV_AOA_ID 48
then
set AOA_I2C_ID 48
fi
if param compare CAL_AV_AOA_ID 49
then
set AOA_I2C_ID 49
fi
if param compare CAL_AV_AOA_ID 50
then
set AOA_I2C_ID 50
fi
if param compare CAL_AV_AOA_ID 51
then
set AOA_I2C_ID 51
fi
si7210 start -X -k -a ${AOA_I2C_ID}
unset AOA_I2C_ID
fi
if param greater CAL_AV_SLIP_ID -1
then
set SLIP_I2C_ID 0
if param compare CAL_AV_SLIP_ID 48
then
set SLIP_I2C_ID 48
fi
if param compare CAL_AV_SLIP_ID 49
then
set SLIP_I2C_ID 49
fi
if param compare CAL_AV_SLIP_ID 50
then
set SLIP_I2C_ID 50
fi
if param compare CAL_AV_SLIP_ID 51
then
set SLIP_I2C_ID 51
fi
si7210 start -X -k -a ${SLIP_I2C_ID}
unset SLIP_I2C_ID
fi
# probe for optional external I2C devices
if param compare SENS_EXT_I2C_PRB 1
then
@@ -149,5 +217,3 @@ fi
###############################################################################
# End Optional drivers #
###############################################################################
sensors start
+5 -31
View File
@@ -51,12 +51,6 @@ set STARTUP_TUNE 1
set USE_IO no
set VEHICLE_TYPE none
# Airframe parameter versioning: airframe maintainers can set this in the
# airframe startup script, and then increase it by one whenever an airframe
# parameter is updated - it will ensure that these parameters will be updated
# when the firmware is flashed.
set PARAM_DEFAULTS_VER 1
#
# Mount the procfs.
#
@@ -171,12 +165,8 @@ else
#
if param greater SYS_AUTOCONFIG 0
then
if param compare SYS_AUTOCONFIG 1
then
# Wipe out params except RC*, flight modes, total flight time, calibration parameters, next flight UUID
param reset_all SYS_AUTO* RC* COM_FLTMODE* LND_FLIGHT* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT* SYS_PARAM_VER
fi
# Wipe out params except RC*, flight modes, total flight time, calibration parameters, next flight UUID
param reset_all SYS_AUTO* RC* COM_FLTMODE* LND_FLIGHT* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT*
set AUTOCNF yes
fi
@@ -239,14 +229,6 @@ else
rgbled start -X -q
rgbled_ncp5623c start -X -q
if param greater -s LIGHT_EN_BLINKM 0
then
if blinkm start -X
then
blinkm systemstate
fi
fi
#
# Set parameters and env variables for selected AUTOSTART.
#
@@ -350,6 +332,8 @@ else
#
# board sensors: rc.sensors
#
. ${R}etc/init.d/rc.sensors
set BOARD_RC_SENSORS ${R}etc/init.d/rc.board_sensors
if [ -f $BOARD_RC_SENSORS ]
then
@@ -358,7 +342,7 @@ else
fi
unset BOARD_RC_SENSORS
. ${R}etc/init.d/rc.sensors
sensors start
if param compare -s BAT1_SOURCE 2
then
@@ -570,15 +554,6 @@ else
fi
fi
if ! param compare SYS_PARAM_VER ${PARAM_DEFAULTS_VER}
then
echo "Switched to different parameter version. Resetting parameters."
param set SYS_PARAM_VER ${PARAM_DEFAULTS_VER}
param set SYS_AUTOCONFIG 2
param save
reboot
fi
#
# End of autostart.
#
@@ -603,7 +578,6 @@ unset MIXER
unset MIXER_AUX
unset MIXER_FILE
unset OUTPUT_MODE
unset PARAM_DEFAULTS_VER
unset PARAM_FILE
unset PWM_AUX_OUT
unset PWM_AUX_RATE
@@ -0,0 +1,61 @@
Aileron/v-tail/throttle/wheel/flaps mixer for PX4FMU
=======================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, v-tail (rudder, elevator), throttle, steerable wheel and flaps
using PX4FMU.
The configuration assumes the aileron servos are connected to PX4FMU servo
output 0 and 1, the tail servos to output 2 and 3, the throttle
to output 4, the wheel to output 5 and the flaps to output 6 and 7.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps) 6 (flaperon).
Aileron mixer (roll + flaperon)
---------------------------------
This mixer assumes that the aileron servos are set up mechanically reversed.
M: 2
S: 0 0 -10000 -10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 2
S: 0 0 -10000 -10000 0 -10000 10000
S: 0 6 -10000 -10000 0 -10000 10000
V-tail mixers
-------------
Three scalers total (output, roll, pitch).
M: 2
S: 0 2 7000 7000 0 -10000 10000
S: 0 1 -8000 -8000 0 -10000 10000
M: 2
S: 0 2 7000 7000 0 -10000 10000
S: 0 1 8000 8000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
S: 0 3 0 20000 -10000 -10000 10000
M: 1
S: 0 3 0 20000 -10000 -10000 10000
Flaps mixer
------------
Flap servos are physically reversed.
M: 1
S: 0 4 0 5000 -10000 -10000 10000
M: 1
S: 0 4 0 -5000 10000 -10000 10000
@@ -35,6 +35,7 @@ px4_add_romfs_files(
AAERTWF.main.mix
AAVVTWFF.main.mix
AAVVTWFF_vtail.main.mix
AAVVTTFF_vtail.main.mix
AERT.main.mix
AETRFG.main.mix
babyshark.main.mix
@@ -95,4 +96,8 @@ px4_add_romfs_files(
vtol_delta.aux.mix
vtol_tailsitter_duo.main.mix
wingwing.main.mix
#ETHZ ASL Custom Mixers
asl_easyglider.main.mix
asl_sensesoar2.main.mix
asl_techpod.main.mix
)
@@ -0,0 +1,70 @@
ASL EasyGlider mixer
=============================
Documentation: https://dev.px4.io/en/concept/mixing.html
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps).
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Right Aileron mixer
---------------------------------
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 6000 10000 0 -10000 10000
S: 0 4 0 -10000 0 -10000 10000
Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: -10000 -10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Left Aileron mixer
---------------------------------
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 2
O: 10000 10000 0 -10000 10000
S: 0 0 -10000 -6000 0 -10000 10000
S: 0 4 0 -10000 0 -10000 10000
@@ -0,0 +1,61 @@
ASL SenseSoar2 mixer for PX4IO
=============================
Documentation: https://dev.px4.io/en/concept/mixing.html
Note1: CH2 AilR is down for pos PWM signal change, CH5 Ail L the other way around.
Note2: The mixer defines a certain aileron differential, but the phyiscal differential
is stronger because of the servo mechanics (70% mixer diff -> ca. 60% physical).
Note3: In the extras.txt on the sd-card, set pwm min/max such that the ailerons have
2.5cm upwards and 2.0cm downwards travel at FULL (u=+/- 1.0) mixer output. The
downwards travel with the mixer differential is then obviously less.
=============================
### Motor
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
### Right aileron (with differential)
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 -7000 -10000 0 -10000 10000
### Right ruddervator
M: 2
O: 6000 6000 0 -10000 10000
S: 0 1 -6500 -6500 0 -10000 10000
S: 0 2 7500 7500 0 -10000 10000
### Left ruddervator
M: 2
O: 6000 6000 0 -10000 10000
S: 0 1 6500 6500 0 -10000 10000
S: 0 2 7500 7500 0 -10000 10000
### Left aileron (with differential)
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 -10000 -7000 0 -10000 10000
### Right flap
#M: 1
#O: 10000 10000 0 -10000 4000
#S: 3 4 10000 10000 0 -10000 10000
### Right flap
M: 1
O: 10000 10000 0 -10000 4000
S: 0 4 0 20000 -10000 -10000 10000
### Left flap
M: 1
O: 10000 10000 0 -4000 10000
S: 0 4 0 -20000 10000 -10000 10000
@@ -0,0 +1,47 @@
ASL Techpod mixer for PX4IO
=============================
Documentation: https://dev.px4.io/en/concept/mixing.html
=============================
### Motor
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
### Right aileron (with differential)
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 -7500 -10000 0 -10000 10000
### Elevator
M: 1
O: 6000 6000 0 -10000 10000
S: 0 1 6000 6000 0 -6000 6000
### Rudder
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -6000 -6000 0 -6000 6000
### Left aileron (with differential)
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 -10000 -7500 0 -10000 10000
### Right flap
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -4000 4000
### Left flap
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -4000 4000
+146 -146
View File
@@ -44,7 +44,7 @@ parser.add_argument('-m', '--modules', action='store',
default='')
logging.basicConfig(level=logging.WARNING)
logging.basicConfig(level=logging.WARNING,format='%(message)s')
log = logging.getLogger()
def get_N_colors(N, s=0.8, v=0.9):
@@ -61,6 +61,9 @@ class PubSub(object):
""" Collects either publication or subscription information for nodes
(modules and topics) & edges """
# special value to signal an ambiguous was found -- don't record this topic, and stop processing.
AMBIGUOUS_SITE_TOPIC = "AMBIGUOUS"
def __init__(self, name, topic_blacklist, regexes):
"""
:param is_publication: if True, publications, False for
@@ -74,13 +77,12 @@ class PubSub(object):
self._topic_blacklist = topic_blacklist
self._regexes = set([ re.compile(regex) for regex in regexes])
def match(self, source_line: str) -> Set[str]:
def match(self, source_line: str) -> str:
""" Extract subscribed/published topics from a source string
:param src_str: string of C/C++ code with comments and whitespace removed
:return: if any topic was found, it is returned as a str. Otherwise, None
:return: if any topic was found, returned as a str. On error, raise on exception. On ambiguous line, return `AMBIGUOUS_SITE_TOPIC`. Otherwise, return `None`
"""
matches = set()
for regex in self._regexes:
# just the matches for this particular pattern:
match = regex.search(source_line)
@@ -88,11 +90,10 @@ class PubSub(object):
if match is None:
continue
# all regexes should contain 2 capture groups
# total_match = match.group(0)
# # all regexes should contain 2 capture groups (or else this code block crashes)
route_group, topic_group = match.groups()
log.debug(f" ####:{self._name}: {route_group}, {topic_group}")
log.debug(" ####:{}: {}, {}".format( self._name, route_group, topic_group))
# # TODO: handle this case... but not sure where, yet
# if match == 'ORB_ID_VEHICLE_ATTITUDE_CONTROLS': # special case
@@ -102,49 +103,31 @@ class PubSub(object):
if route_group:
if route_group == 'ORB_ID':
log.debug(" >>> Found ORB_ID topic: " + topic_group + " w/regex: " + str(regex.pattern))
self._add_topic(matches, topic_group)
break
elif route_group == '<' and topic_group.endswith('_s'):
topic_group = topic_group[:-2]
log.debug(" >>> Found C++ template-declaration: " + topic_group + " w/regex: " + str(regex.pattern))
self._add_topic(matches, topic_group)
# continue processing
elif route_group in ['{','('] and topic_group.endswith('_s'):
topic_group = topic_group[:-2]
log.debug(" >>> Found standard declaration: " + topic_group + " w/regex: " + str(regex.pattern))
self._add_topic(matches, topic_group)
break
return self._filter_topic(topic_group)
elif route_group == '[':
if topic_group.endswith('_s'):
topic_group = topic_group[:-2]
log.debug(" >>> Found array declaration: " + topic_group + " w/regex: " + str(regex.pattern))
self._add_topic(matches, topic_group)
break
else:
# no topic found -- ambiguity -- return an empty set
return set()
elif 'Multi' in route_group and topic_group.endswith('_s'):
topic_group = topic_group[:-2]
log.debug(" >>> Found 'multi' declaration: " + topic_group + " w/regex: " + str(regex.pattern))
self._add_topic(matches, topic_group)
break
if not topic_group:
log.debug(" !! found an ambiguous site => return an empty set")
return PubSub.AMBIGUOUS_SITE_TOPIC
else:
raise SyntaxError('!!! Encountered regex case: `route_group` contains unrecognized value!: '+ route_group+' (::'+str(regex.pattern)+')\n'
+ " ("+ route_group+', '+topic_group +")\n"
+ " " + source_line)
elif route_group.empty() and topic_group.empty():
log.debug('!!! Found ambiguous site, without `ORB_ID` or topic (::'+str(regex.pattern))
return PubSub.AMBIGUOUS_SITE_TOPIC
else:
raise SyntaxError(" !!! unhandled case: unknown-variant: "+route_group+", " + topic_group + " ....from regex: " + str(regex.pattern))
return matches
return None
def _add_topic(self, topic_set: Set[str], topic_name: str):
def _filter_topic(self, topic_name: str) -> str:
""" add topic to set, unless the topic is ignored """
if topic_name in self._topic_blacklist:
log.debug(" XX Ignoring blacklisted topic " + topic_name)
return
return None
else:
return topic_set.add(topic_name)
return topic_name
class Publications(PubSub):
""" Collects topic publication information for scopes """
@@ -189,7 +172,7 @@ class Scope(object):
return self._name
def reduce_ambiguities(self) -> Set[str]:
self.ambiguities = self.ambiguities - self.subscriptions - self.ambiguities
self.ambiguities = self.ambiguities - self.subscriptions - self.publications
return self.dependencies
@property
@@ -225,8 +208,8 @@ class Graph(object):
- topic_blacklist
"""
self._comment_remove_pattern = re.compile( r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"', re.DOTALL | re.MULTILINE)
self._whitespace_pattern = re.compile(r'\s+')
self._scope_blacklist = set(kwargs.get('scope_blacklist',set()))
self._scope_whitelist = set(kwargs.get('scope_whitelist',set()))
@@ -249,28 +232,27 @@ class Graph(object):
self._topic_colors = {} # key = topic, value = color (html string)
# note: the source-file-string is pre-processed to remove whitespace -- regexes should ignore whitespace
# note: the regexes should have at least 3 capture groups '()'; otherwise they break downstream code
capture_cases_sub = [r"\borb_subscribe(?:_multi|)\b\s*\(\s*(ORB_ID)\s*\(\s*(\w+)",
r"(?:uORB::)Subscription(?:Interval|)\s+\w+\s*[\{\(]\s*(ORB_ID)\s*\(\s*(\w+)",
r"(?:uORB::)Subscription(?:Data|MultiArray|Blocking|)\s*(<)\s*(\w+)",
r"(?:uORB::)SubscriptionCallbackWorkItem\s+\w+\s*\{\s*this,\s*(ORB_ID)\((\w+)",
# note: the regexes should 2 capture groups '()' to correctly register with downstream code
capture_cases_sub = [r"orb_subscribe\w*\((ORB_ID)(?:\(|::)(\w+)",
r"orb_copy\((ORB_ID)(?:\(|::)(\w+)",
r"Subscription\w*(?:<[^>]+>|)\w*(?:\[[^]]+\]|)[\{\(](ORB_ID)(?:\(|::)(\w+)",
r"SubscriptionCallbackWorkItem\w+\{this,(ORB_ID)(?:\(|::)(\w+)",
]
self._subscriptions = Subscriptions( self._topic_blacklist, capture_cases_sub)
# note: the source-file-string is pre-processed to remove whitespace -- regexes should ignore whitespace
# note: the regexes should have at least 3 capture groups '()'; otherwise they break downstream code
capture_cases_pub = [r"(?:uORB::)Publication(?:Data|Multi|)\s*(<)(\w+)>",
r"orb_advertise(?:_multi|_queue|_multi_queue|)\s*\(\s*(ORB_ID)\s*\(\s*(\w+)",
r"orb_publish(?:_auto|)\s*\(\s*(ORB_ID)\s*\(\s*(\w+)",
r"(?:uORB::)Publication(?:Data|Multi|)\s*<\w+>\s+\w+\s*[\(\{](ORB_ID)\((\w+)"
# note: the regexes should 2 capture groups '()' to correctly register with downstream code
capture_cases_pub = [r"orb_advertise(?:_multi|_queue|_multi_queue|)\((ORB_ID)(?:\(|::)(\w+)",
r"orb_publish(?:_auto|)\((ORB_ID)(?:\(|::)(\w+)",
r"Publication\w*<\w+>\w+(?:\[[^]]+\]|)[\(\{]*(ORB_ID)(?:\(|::)(\w+)",
]
self._publications = Publications( self._topic_blacklist, capture_cases_pub)
# note: the source-file-string is pre-processed to remove whitespace -- regexes should ignore whitespace
# note: the regexes should have at least 3 capture groups '()'; otherwise they break downstream code
capture_cases_ambiguous = [ r"orb_copy\s*\(\s*(ORB_ID)\s*\(\s*(\w+)",
r"(?:uORB::)Subscription[^\s]*\s+\w+\s*(\[)\s*\w+\s*\]()",
r"(ORB_ID)\s*\(\s*(\w+)",
# note: the regexes should 2 capture groups '()' to correctly register with downstream code
capture_cases_ambiguous = [ r"Publication\w*(?:\<\w+\>|)\w+(\[)()",
r"Subscription\w*(?:\<\w+\>|)\w+(\[)()",
r"(ORB_ID)(?:\(|::)(\w+)",
]
self._ambiguities = Ambiguities( self._topic_blacklist, capture_cases_ambiguous)
@@ -279,7 +261,7 @@ class Graph(object):
return None
return self._current_scope[-1]
def build(self, src_path_list, path_blacklist=[], **kwargs):
def build(self, src_path_list, **kwargs):
""" parse the source tree & extract pub/sub information.
:param use_topic_pubsub_union: if true, use all topics that have a
publisher or subscriber. If false, use only topics with at least one
@@ -288,7 +270,8 @@ class Graph(object):
fill in self._module_subsciptions & self._module_publications
"""
self._path_blacklist = [os.path.normpath(p) for p in path_blacklist]
self._path_blacklist = set([ os.path.normpath(p) for p in kwargs.get('path_blacklist',[]) ])
for path in src_path_list:
log.info("## Add src path: " + path )
@@ -296,9 +279,9 @@ class Graph(object):
# Summarize the found counts: (all topics are defined in 'dependency' library)
log.info('### Summary: Total Scanned:')
log.info(' Libraries Count: '+str(len(self._found_libraries)))
log.info(' Modules Count: '+str(len(self._found_modules)))
log.info(' Warnings Count: '+str(len(self._warnings)))
log.info(' Library Count: '+str(len(self._found_libraries)))
log.info(' Module Count: '+str(len(self._found_modules)))
log.info(' Warning Count: '+str(len(self._warnings)))
if kwargs['merge_depends']:
graph.merge_depends()
@@ -307,18 +290,21 @@ class Graph(object):
self._generate_print_lists(use_topic_pubsub_union=kwargs['use_topic_pubsub_union'], merge_depends=kwargs['merge_depends'])
# Summarize the found counts:
print(' ### Summary (in-scope):')
print(' Ambiguous Count: '+str(len(self._print_ambiguities)))
print(' Scope Count: '+str(len(self._print_scopes)))
print(' Topics Count: '+str(len(self._print_topics)))
print(' Warnings Count: '+str(len(self._warnings)))
log.info('### Summary (in-scope):')
log.info(' Scope Count: '+str(len(self._print_scopes)))
log.info(' Ambiguous Topics: '+str(len(self._print_ambiguities)))
log.info(' Linked Topics: '+str(len(self._print_topics)))
log.info(' Warnings: '+str(len(self._warnings)))
if 0 < len(self._warnings):
# print out the list of warning-sites:
log.info('## Warning Sites:')
for w in self._warnings:
scope_name = 'no-scope'
if None is not w[0]:
scope_name = w[0].name
# warnings tuple contains: (current_scope, file_name, line_number, line)
log.info(" -['{}']:{:<64s}:{} = {}".format(w[0].name, w[1].lstrip('/.'), w[2], w[3] ))
log.info(" -['{}']:{:<64s}:{} = {}".format(scope_name, w[1].lstrip('/.'), w[2], w[3] ))
# initialize colors
color_list = get_N_colors(len(self._print_topics), 0.7, 0.85)
@@ -334,9 +320,8 @@ class Graph(object):
published_topics = set()
ambiguous_topics = set()
# gather all possible modules...
# all_scopes = self._found_libraries | self._found_modules # Python 3.9 or greater
all_scopes = { **self._found_libraries, **self._found_modules } # Python 3.5 or greater
# gather all found scopes:
all_scopes = { **self._found_libraries, **self._found_modules }
if 0 == len(self._scope_whitelist):
select_scopes = self._found_modules
@@ -346,27 +331,28 @@ class Graph(object):
if scope_name in all_scopes:
select_scopes[scope_name] = all_scopes[scope_name]
if not isinstance(select_scopes, dict) or 0 == len(select_scopes):
raise TypeError("'select_scopes' should be a set!! aborting.")
log.error("!! No requested modules not found -- exiting.")
sys.exit(0)
log.debug(f' >> Condensing found topics: scope -> total')
log.debug('### Condensing found topics: scope -> total')
for name,scope in select_scopes.items():
log.debug(f' @@ Scope: {name}')
log.debug(' # Scope: '+ name )
log.debug(f' ## Subs: {name}')
for topic in scope.subscriptions:
log.debug(f' - {topic}')
log.debug(' ## Subs: ' + str(len(scope.subscriptions)))
for topic in sorted(scope.subscriptions):
log.debug(' - ' + topic)
subscribed_topics.add(topic)
log.debug(f' ## Pubs: {name}')
for topic in scope.publications:
log.debug(f' - {topic}')
log.debug(' ## Pubs: ' + str(len(scope.publications)))
for topic in sorted(scope.publications):
log.debug(' - ' + topic )
published_topics.add(topic)
scope.reduce_ambiguities()
log.debug(f' ## Ambiguities: {name}')
for topic in scope.ambiguities:
log.debug(f' - {topic}')
log.debug(' ## Ambiguities: ' + str(len(scope.ambiguities)))
for topic in sorted(scope.ambiguities):
log.debug(' - ' + topic )
ambiguous_topics.add(topic)
# filter modules iff they have at least a subscription or a publication
@@ -400,11 +386,11 @@ class Graph(object):
entries = os.listdir(path)
# check if entering a new module
# check if entering a new scope
cmake_file = 'CMakeLists.txt'
new_module = False
new_scope = False
if cmake_file in entries:
new_module = self._extract_build_information(os.path.join(path, cmake_file), **kwargs)
new_scope = self._extract_build_information(os.path.join(path, cmake_file), **kwargs)
# iterate directories recursively
for entry in entries:
@@ -414,23 +400,23 @@ class Graph(object):
# iterate source files
# Note: Skip all entries if we're not in a module -- both finding known pubs/subs and emitting warnings
if (0 == len(self._scope_whitelist)) or (0 < len(self._current_scope)) and (self._current_scope[-1].name in self._scope_whitelist):
for entry in entries:
file_name = os.path.join(path, entry)
if os.path.isfile(file_name):
_, ext = os.path.splitext(file_name)
if ext in ['.cpp', '.c', '.h', '.hpp']:
self._process_source_file(file_name)
# Note: Skip all entries if we're not in a scope -- both finding known pubs/subs and emitting warnings
for entry in entries:
file_name = os.path.join(path, entry)
if os.path.isfile(file_name):
_, ext = os.path.splitext(file_name)
if ext in ['.cpp', '.c', '.h', '.hpp']:
self._process_source_file(file_name)
if new_module:
if new_scope:
self._current_scope.pop()
def _extract_build_information(self, file_name, **kwargs):
""" extract the module name from a CMakeLists.txt file and store
in self._current_scope if there is any """
""" extract the module or library name from a CMakeLists.txt file and store
in self._current_scope if there is any
Also records dependencies, if any are specified.
"""
datafile = open(file_name)
found_module_def = False
@@ -496,52 +482,59 @@ class Graph(object):
current_scope = self._get_current_scope()
if current_scope:
if current_scope.name in self._scope_blacklist:
return
elif current_scope.name == 'uorb_tests': # skip this
return
elif current_scope.name == 'uorb':
if current_scope is None:
return # ignore declarations outside of a declared module
elif current_scope.name in self._scope_blacklist:
return
elif current_scope.name == 'uorb_tests': # skip this
return
elif current_scope.name == 'uorb':
# search and validate the ORB_ID_VEHICLE_ATTITUDE_CONTROLS define
matches = self._orb_id_vehicle_attitude_controls_re.findall(content)
for match in matches:
if match != 'ORB_ID('+self._orb_id_vehicle_attitude_controls_topic:
# if we land here, you need to change _orb_id_vehicle_attitude_controls_topic
raise Exception(
'The extracted define for ORB_ID_VEHICLE_ATTITUDE_CONTROLS '
'is '+match+' but expected ORB_ID('+
self._orb_id_vehicle_attitude_controls_topic)
# search and validate the ORB_ID_VEHICLE_ATTITUDE_CONTROLS define
matches = self._orb_id_vehicle_attitude_controls_re.findall(content)
for match in matches:
if match != 'ORB_ID('+self._orb_id_vehicle_attitude_controls_topic:
# if we land here, you need to change _orb_id_vehicle_attitude_controls_topic
raise Exception(
'The extracted define for ORB_ID_VEHICLE_ATTITUDE_CONTROLS '
'is '+match+' but expected ORB_ID('+
self._orb_id_vehicle_attitude_controls_topic)
return # skip uorb module for the rest
return # skip uorb module for the rest
line_number = 0
for line in content.splitlines():
for full_line in content.splitlines():
line_number += 1
pub_topics = self._publications.match(line)
for each_topic in pub_topics:
current_scope.publications.add(each_topic)
if pub_topics:
continue
short_line = re.sub(self._whitespace_pattern, '', full_line)
sub_topics = self._subscriptions.match(line)
for each_topic in sub_topics:
current_scope.subscriptions.add(each_topic)
if sub_topics:
continue
topic = self._publications.match(short_line)
if topic:
if current_scope:
current_scope.publications.add(topic)
continue
else:
raise AssertionError("Encountered Publication topic outside of any scope! " + file_name + " Aborting!")
ambi_topics = self._ambiguities.match(line)
for each_topic in ambi_topics:
current_scope.ambiguities.add(each_topic)
self._warnings.append((current_scope, file_name, line_number, line))
topic = self._subscriptions.match(short_line)
if topic:
if current_scope:
current_scope.subscriptions.add(topic)
continue
else:
raise AssertionError("Encountered Subscription topic outside of any scope! " + file_name + " Aborting!")
topic = self._ambiguities.match(short_line)
if topic:
if current_scope:
if topic != PubSub.AMBIGUOUS_SITE_TOPIC:
current_scope.ambiguities.add(topic)
self._warnings.append((current_scope, file_name, line_number, full_line))
continue
else:
raise AssertionError("Encountered Ambiguous topic outside of any scope! " + file_name + " Aborting!")
def _in_scope(self, scope_name = None):
if 0 == len(self._scope_whitelist):
return True
elif 0 < len(self._current_scope):
if 0 < len(self._current_scope):
if None is scope_name:
scope_name = self._current_scope[-1].name
if scope_name in self._scope_whitelist:
@@ -550,8 +543,10 @@ class Graph(object):
return False
def merge_depends(self):
log.info('### Merge Depends:')
for modname,module in self._found_modules.items():
if self._in_scope(modname):
if modname in self._scope_whitelist or 0==len(self._scope_whitelist):
for depname in module.dependencies:
if depname in self._found_libraries:
dep = self._found_libraries[depname]
@@ -730,33 +725,38 @@ if "__main__" == __name__:
topic_blacklist = [ 'parameter_update', 'mavlink_log', 'log_message' ]
print('Excluded topics: '+str(topic_blacklist))
# ignore certain modules; for any reason
scope_blacklist = []
if scope_blacklist:
print('Excluded Modules: '+str(topic_blacklist))
if len(args.modules) == 0:
scope_whitelist = []
else:
scope_whitelist = [ m.strip() for m in args.modules.split(',')]
scope_whitelist = set(scope_whitelist)
graph = Graph(scope_whitelist=scope_whitelist, scope_blacklist=scope_blacklist, topic_blacklist=topic_blacklist)
graph = Graph(scope_whitelist=scope_whitelist, topic_blacklist=topic_blacklist)
# if no source paths are supplied, guess that we're in the project root, and apply it to the entire 'src/' tree
if len(args.src_path) == 0:
args.src_path = ['src']
if not os.path.exists(args.src_path[0]):
print(f" !?could not find source directory: {args.src_path[0]}")
script_path = os.path.dirname(os.path.realpath(__file__))
args.src_path[0] = os.path.realpath(os.path.join( script_path, '..', '..', 'src' ))
print(f" >> guessing at path: {args.src_path[0]}")
# transcribe only the source paths that actually exist:
source_paths = []
for path in args.src_path:
if not os.path.exists(path):
print(f" !?could not find source directory: {path} -- please check path!")
print(f" Exiting.")
if os.path.exists(path):
source_paths.append(path)
else:
log.warn("Could not find path: " + path)
graph.build(args.src_path, args.exclude_path, use_topic_pubsub_union=args.use_topic_union, merge_depends=args.merge_depends)
if 0 == len(source_paths):
print("!! None of the source directories were valid -- Exiting.")
sys.exit(-1)
# ignore certain paths
path_blacklist = ['src/lib/parameters/']
if 0 < len(args.exclude_path):
path_blacklist = args.exclude_path
if path_blacklist:
print('Excluded Path: '+str(path_blacklist))
graph.build(source_paths, path_blacklist=path_blacklist, use_topic_pubsub_union=args.use_topic_union, merge_depends=args.merge_depends)
if args.output == 'json':
output_json = OutputJSON(graph)
+13 -4
View File
@@ -15,6 +15,7 @@ px4_add_board(
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -31,13 +32,12 @@ px4_add_board(
imu/invensense/mpu6000
imu/invensense/mpu6500
irlock
lights/blinkm
lights/rgbled
#lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
@@ -45,6 +45,7 @@ px4_add_board(
pwm_out
rc_input
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
@@ -57,6 +58,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -73,12 +75,15 @@ px4_add_board(
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -86,6 +91,7 @@ px4_add_board(
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -101,6 +107,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -112,6 +119,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
@@ -101,6 +101,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -81,6 +81,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+15 -6
View File
@@ -17,6 +17,7 @@ px4_add_board(
TEL3:/dev/ttyS2
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -26,18 +27,16 @@ px4_add_board(
distance_sensor # all available distance sensor drivers
#dshot
gps
#heater
#imu # all available imu drivers
imu/adis16477
imu/adis16497
irlock
lights/blinkm
#lights/rgbled
#lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
#pwm_input
@@ -45,6 +44,7 @@ px4_add_board(
pwm_out
rc_input
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
@@ -57,6 +57,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -73,19 +74,23 @@ px4_add_board(
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
#bl_update
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -93,12 +98,14 @@ px4_add_board(
motor_ramp
motor_test
nshterm
netman
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -109,6 +116,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
+15 -10
View File
@@ -14,12 +14,10 @@
# CONFIG_MMCSD_SPI is not set
# CONFIG_NSH_DISABLEBG is not set
# CONFIG_NSH_DISABLESCRIPT is not set
# CONFIG_NSH_DISABLE_ADDROUTE is not set
# CONFIG_NSH_DISABLE_ARP is not set
# CONFIG_NSH_DISABLE_BASENAME is not set
# CONFIG_NSH_DISABLE_CMP is not set
# CONFIG_NSH_DISABLE_DD is not set
# CONFIG_NSH_DISABLE_DELROUTE is not set
# CONFIG_NSH_DISABLE_DF is not set
# CONFIG_NSH_DISABLE_DIRNAME is not set
# CONFIG_NSH_DISABLE_EXEC is not set
@@ -32,7 +30,6 @@
# CONFIG_NSH_DISABLE_MKRD is not set
# CONFIG_NSH_DISABLE_PRINTF is not set
# CONFIG_NSH_DISABLE_PUT is not set
# CONFIG_NSH_DISABLE_ROUTE is not set
# CONFIG_NSH_DISABLE_SEMICOLON is not set
# CONFIG_NSH_DISABLE_TIME is not set
# CONFIG_NSH_DISABLE_UNAME is not set
@@ -74,15 +71,13 @@ CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FAT_LFN_ALIAS_HASH=y
CONFIG_FDCLONE_STDIO=y
CONFIG_FSUTILS_IPCFG=y
CONFIG_FS_BINFS=y
CONFIG_FS_CROMFS=y
CONFIG_FS_FAT=y
CONFIG_FS_FATTIME=y
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_EXCLUDE_BLOCKS=y
CONFIG_FS_PROCFS_EXCLUDE_MOUNT=y
CONFIG_FS_PROCFS_EXCLUDE_MOUNTS=y
CONFIG_FS_PROCFS_EXCLUDE_USAGE=y
CONFIG_FS_PROCFS_INCLUDE_PROGMEM=y
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_FS_ROMFS=y
CONFIG_GRAN=y
@@ -108,12 +103,18 @@ CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_ENTRIES=8
CONFIG_NETDB_DNSSERVER_NOADDR=y
CONFIG_NETDEV_PHY_IOCTL=y
CONFIG_NETINIT_DHCPC=y
CONFIG_NETINIT_DNS=y
CONFIG_NETINIT_DNSIPADDR=0XC0A800FE
CONFIG_NETINIT_DRIPADDR=0XC0A800FE
CONFIG_NETINIT_THREAD=y
CONFIG_NETINIT_THREAD_PRIORITY=49
CONFIG_NETUTILS_TELNETD=y
CONFIG_NET_ARP_IPIN=y
CONFIG_NET_ARP_SEND=y
CONFIG_NET_BROADCAST=y
CONFIG_NET_ICMP=y
CONFIG_NET_ROUTE=y
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_SOCKOPTS=y
CONFIG_NET_SOLINGER=y
CONFIG_NET_TCP=y
@@ -121,6 +122,7 @@ CONFIG_NET_TCPBACKLOG=y
CONFIG_NET_TCP_WRITE_BUFFERS=y
CONFIG_NET_UDP=y
CONFIG_NET_UDP_CHECKSUMS=y
CONFIG_NET_UDP_WRITE_BUFFERS=y
CONFIG_NFILE_DESCRIPTORS=12
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_ARCHROMFS=y
@@ -128,9 +130,10 @@ CONFIG_NSH_ARGCAT=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_CMDPARMS=y
CONFIG_NSH_CROMFSETC=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_LOGIN_PASSWORD="px4"
CONFIG_NSH_LOGIN_USERNAME="px4"
CONFIG_NSH_MAXARGUMENTS=15
CONFIG_NSH_NESTDEPTH=8
CONFIG_NSH_QUOTE=y
@@ -195,6 +198,7 @@ CONFIG_STM32F7_PHYSR_10FD=0x14
CONFIG_STM32F7_PHYSR_10HD=0x4
CONFIG_STM32F7_PHYSR_ALTCONFIG=y
CONFIG_STM32F7_PHYSR_ALTMODE=0x1C
CONFIG_STM32F7_PROGMEM=y
CONFIG_STM32F7_PWR=y
CONFIG_STM32F7_RTC=y
CONFIG_STM32F7_RTC_HSECLOCK=y
@@ -229,6 +233,7 @@ CONFIG_STM32F7_USART_INVERT=y
CONFIG_STM32F7_USART_SINGLEWIRE=y
CONFIG_STM32F7_USART_SWAP=y
CONFIG_STM32F7_WWDG=y
CONFIG_SYSTEM_DHCPC_RENEW=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_PING=y
CONFIG_TASK_NAME_SIZE=24
+10 -2
View File
@@ -14,6 +14,7 @@ px4_add_board(
TOOLCHAIN arm-linux-gnueabihf
TESTING
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/bmp280
@@ -24,6 +25,7 @@ px4_add_board(
distance_sensor # all available distance sensor drivers
gps
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/invensense/mpu9250
linux_pwm_out
#magnetometer # all available magnetometer drivers
@@ -39,6 +41,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -63,6 +66,8 @@ px4_add_board(
sih
#simulator
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -76,8 +81,9 @@ px4_add_board(
perf
pwm
sd_bench
shutdown
#serial_test
system_time
shutdown
tests # tests and test runner
#top
topic_listener
@@ -86,8 +92,10 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
#hwtest # Hardware test
@@ -97,6 +97,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_FATDEVNO=0
CONFIG_NSH_LINELEN=128
@@ -96,6 +96,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_FATDEVNO=0
CONFIG_NSH_LINELEN=128
@@ -81,6 +81,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+14 -5
View File
@@ -19,6 +19,7 @@ px4_add_board(
# CONSOLE: /dev/ttyS4
# RC: /dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -30,24 +31,25 @@ px4_add_board(
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi088
imu/invensense/icm20649
imu/invensense/icm20689
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
@@ -61,6 +63,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -77,12 +80,15 @@ px4_add_board(
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -90,6 +96,7 @@ px4_add_board(
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -105,6 +112,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -116,7 +124,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# board specific board MAVLink startup script.
# board specific MAVLink startup script.
#------------------------------------------------------------------------------
# Start MAVLink on the USB port
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
+2 -2
View File
@@ -88,6 +88,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -105,6 +106,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -161,8 +163,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C2=y
@@ -199,11 +199,13 @@ SECTIONS
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > SRAM4
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
+16 -7
View File
@@ -19,6 +19,7 @@ px4_add_board(
# CONSOLE: /dev/ttyS4
# RC: /dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -29,24 +30,26 @@ px4_add_board(
dshot
gps
heater
#imu # all relevant IMU drivers
#imu # all available imu drivers
imu/analog_devices/adis16470
imu/bosch/bmi088
imu/invensense/icm20649
imu/invensense/icm20689
irlock
lights/rgbled
#lights/rgbled_ncp5623c
#lights/rgbled_pwm
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
@@ -60,6 +63,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -76,12 +80,15 @@ px4_add_board(
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -89,6 +96,7 @@ px4_add_board(
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -104,6 +112,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -115,8 +124,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# board specific board MAVLink startup script.
# board specific MAVLink startup script.
#------------------------------------------------------------------------------
# Start MAVLink on the USB port
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
+2 -2
View File
@@ -88,6 +88,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -105,6 +106,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -161,8 +163,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C2=y
@@ -199,11 +199,13 @@ SECTIONS
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > SRAM4
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
+10 -8
View File
@@ -19,6 +19,7 @@ px4_add_board(
# CONSOLE:/dev/ttyS4
GPS2:/dev/ttyS5
DRIVERS
#adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -30,20 +31,16 @@ px4_add_board(
gps
#heater
#imu # all available imu drivers
#imu/analog_devices/adis16448
#imu/adis16477
#imu/adis16497
imu/invensense/icm20602
imu/invensense/icm20649
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
#pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
@@ -87,6 +84,8 @@ px4_add_board(
sensors
#sih
#temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -110,6 +109,8 @@ px4_add_board(
reboot
reflect
sd_bench
#serial_test
system_time
tests # tests and test runner
top
topic_listener
@@ -120,7 +121,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
+10 -5
View File
@@ -19,6 +19,7 @@ px4_add_board(
TEL3:/dev/ttyS4
GPS2:/dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -35,13 +36,12 @@ px4_add_board(
imu/invensense/icm20649
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
@@ -85,6 +85,8 @@ px4_add_board(
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -108,6 +110,8 @@ px4_add_board(
reboot
reflect
sd_bench
#serial_test
system_time
#tests # tests and test runner
top
topic_listener
@@ -118,7 +122,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
@@ -58,7 +58,6 @@ CONFIG_DEFAULT_SMALL=y
CONFIG_DEV_FIFO_SIZE=0
CONFIG_DEV_PIPE_MAXSIZE=1024
CONFIG_DEV_PIPE_SIZE=70
CONFIG_DISABLE_MQUEUE=y
CONFIG_EXPERIMENTAL=y
CONFIG_FAT_DMAMEMORY=y
CONFIG_FAT_LCNAMES=y
@@ -89,7 +88,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=3
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -107,6 +106,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -140,7 +140,7 @@ CONFIG_SCHED_LPWORKPRIORITY=50
CONFIG_SCHED_LPWORKSTACKSIZE=1632
CONFIG_SCHED_WAITPID=y
CONFIG_SDCLONE_DISABLE=y
CONFIG_SDMMC1_SDIO_MODE=y
CONFIG_SDMMC1_SDIO_PULLUP=y
CONFIG_SEM_NNESTPRIO=8
CONFIG_SEM_PREALLOCHOLDERS=0
CONFIG_SERIAL_IFLOWCONTROL_WATERMARKS=y
@@ -162,8 +162,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C2=y
@@ -204,7 +202,6 @@ CONFIG_SYSTEM_CDCACM=y
CONFIG_SYSTEM_NSH=y
CONFIG_TASK_NAME_SIZE=24
CONFIG_TTY_SIGINT=y
CONFIG_TTY_SIGINT_CHAR=0x03
CONFIG_TTY_SIGSTP=y
CONFIG_UART4_BAUD=57600
CONFIG_UART4_RXBUFSIZE=600
@@ -235,3 +232,4 @@ CONFIG_USBDEV_MAXPOWER=500
CONFIG_USEC_PER_TICK=1000
CONFIG_USERMAIN_STACKSIZE=2944
CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_WATCHDOG=y
@@ -59,7 +59,6 @@ CONFIG_DEFAULT_SMALL=y
CONFIG_DEV_FIFO_SIZE=0
CONFIG_DEV_PIPE_MAXSIZE=1024
CONFIG_DEV_PIPE_SIZE=70
CONFIG_DISABLE_MQUEUE=y
CONFIG_EXPERIMENTAL=y
CONFIG_FAT_DMAMEMORY=y
CONFIG_FAT_LCNAMES=y
@@ -90,7 +89,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=3
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -108,6 +107,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -163,8 +163,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C2=y
@@ -235,3 +233,4 @@ CONFIG_USBDEV_MAXPOWER=500
CONFIG_USEC_PER_TICK=1000
CONFIG_USERMAIN_STACKSIZE=2944
CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_WATCHDOG=y
@@ -198,6 +198,15 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > AXI_SRAM
/* Emit the the D3 power domain section for locating BDMA data */
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > SRAM4
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
+15 -11
View File
@@ -18,6 +18,7 @@ px4_add_board(
# CONSOLE:/dev/ttyS4
GPS2:/dev/ttyS5
DRIVERS
#adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -29,18 +30,16 @@ px4_add_board(
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/invensense/icm20602
imu/invensense/icm20649
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
#pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
@@ -54,7 +53,7 @@ px4_add_board(
uavcan
MODULES
airspeed_selector
attitude_estimator_q
#attitude_estimator_q
battery_status
camera_feedback
commander
@@ -70,7 +69,7 @@ px4_add_board(
land_detector
landing_target_estimator
load_mon
local_position_estimator
#local_position_estimator
logger
mavlink
mc_att_control
@@ -80,10 +79,12 @@ px4_add_board(
#micrortps_bridge
navigator
rc_update
rover_pos_control
#rover_pos_control
sensors
sih
temperature_compensation
#sih
#temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -107,6 +108,8 @@ px4_add_board(
reboot
reflect
sd_bench
#serial_test
system_time
tests # tests and test runner
top
topic_listener
@@ -117,7 +120,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
+12 -7
View File
@@ -18,6 +18,7 @@ px4_add_board(
TEL3:/dev/ttyS4
GPS2:/dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -34,13 +35,12 @@ px4_add_board(
imu/invensense/icm20649
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
@@ -49,7 +49,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
#test_ppm
tone_alarm
uavcan
MODULES
@@ -84,6 +84,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -107,7 +109,9 @@ px4_add_board(
reboot
reflect
sd_bench
tests # tests and test runner
#serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -117,7 +121,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
@@ -106,6 +106,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -107,6 +107,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+7
View File
@@ -12,6 +12,7 @@ px4_add_board(
TOOLCHAIN arm-linux-gnueabihf
TESTING
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/ms5611
@@ -40,6 +41,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -64,6 +66,8 @@ px4_add_board(
sih
#simulator
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -77,6 +81,7 @@ px4_add_board(
perf
pwm
sd_bench
#serial_test
system_time
shutdown
tests # tests and test runner
@@ -89,6 +94,8 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
#hwtest # Hardware test
+37
View File
@@ -0,0 +1,37 @@
include (${CMAKE_CURRENT_LIST_DIR}/uavcan_board_identity)
px4_add_board(
PLATFORM nuttx
VENDOR holybro
MODEL can-gps-v1
LABEL debug
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
CONSTRAINED_FLASH
ROMFSROOT cannode
UAVCAN_INTERFACES 2
DRIVERS
adc/board_adc
barometer/bmp388
bootloaders
gps
imu/bosch/bmi088
lights/rgbled_ncp5623c
magnetometer/bosch/bmm150
uavcannode
MODULES
#ekf2
load_mon
sensors
SYSTEMCMDS
i2cdetect
param
perf
reboot
top
#topic_listener
uorb
ver
work_queue
)
+10 -8
View File
@@ -8,6 +8,7 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
CONSTRAINED_FLASH
ROMFSROOT cannode
UAVCAN_INTERFACES 2
DRIVERS
@@ -20,14 +21,15 @@ px4_add_board(
magnetometer/bosch/bmm150
uavcannode
MODULES
load_mon
#ekf2
sensors
SYSTEMCMDS
i2cdetect
#i2cdetect
param
perf
reboot
top
topic_listener
ver
work_queue
#perf
#top
#topic_listener
#uorb
#ver
#work_queue
)
@@ -86,6 +86,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+15 -8
View File
@@ -10,7 +10,7 @@ px4_add_board(
BUILD_BOOTLOADER
IO px4_io-v2_default
TESTING
# UAVCAN_INTERFACES 2 - No H7 or FD can support in UAVCAN
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
@@ -18,6 +18,7 @@ px4_add_board(
TEL3:/dev/ttyS4
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -33,25 +34,23 @@ px4_add_board(
imu/bosch/bmi088
imu/invensense/icm20689
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
# pwm_input - Need to create arch/stm32 arch/stm32h7 arch/kinetis and reloacate
# all arch dependant code there
pwm_out_sim
pwm_out
px4io
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
# uavcan - No H7 or FD can support in UAVCAN yet
uavcan
MODULES
airspeed_selector
attitude_estimator_q
@@ -60,6 +59,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -76,12 +76,15 @@ px4_add_board(
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -89,6 +92,7 @@ px4_add_board(
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -104,8 +108,9 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
# tests # tests and test runner
top
topic_listener
tune_control
@@ -115,6 +120,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
@@ -250,6 +250,12 @@
#define STM32_RCC_D3CCIPR_ADCSEL RCC_D3CCIPR_ADCSEL_PLL2
/* FDCAN 1 2 clock source */
#define STM32_RCC_D2CCIP1R_FDCANSEL RCC_D2CCIP1R_FDCANSEL_HSE /* FDCAN 1 2 clock source */
#define STM32_FDCANCLK STM32_HSE_FREQUENCY
/* FLASH wait states
*
* ------------ ---------- -----------
@@ -89,6 +89,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -106,6 +107,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -160,8 +162,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C2=y
@@ -199,8 +199,11 @@ SECTIONS
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > sram4
/* Stabs debugging sections. */
@@ -107,6 +107,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_PSSTACKUSAGE=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
+8 -4
View File
@@ -17,6 +17,7 @@ px4_add_board(
TEL3:/dev/ttyS4
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -33,14 +34,13 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm20689
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
@@ -87,6 +87,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -110,6 +112,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -121,6 +124,7 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
@@ -106,6 +106,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+13 -5
View File
@@ -15,6 +15,7 @@ px4_add_board(
TEL2:/dev/ttyS4 # UART5 / J1
TEL3:/dev/ttyS1 # USART2 / J4
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -28,13 +29,12 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm42688p
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
#optical_flow # all available optical flow drivers
#osd
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
power_monitor/voxlpm
#protocol_splitter
@@ -43,6 +43,7 @@ px4_add_board(
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
@@ -72,12 +73,15 @@ px4_add_board(
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -85,6 +89,7 @@ px4_add_board(
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -100,6 +105,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -111,6 +117,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
@@ -105,6 +105,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+14 -6
View File
@@ -17,6 +17,7 @@ px4_add_board(
TEL3:/dev/ttyS4
#FRSKY:/dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/dps310
@@ -25,7 +26,7 @@ px4_add_board(
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
#dshot
dshot
gps
#heater
#imu # all available imu drivers
@@ -33,13 +34,12 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
#optical_flow # all available optical flow drivers
#osd
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
#pwm_input
@@ -47,6 +47,7 @@ px4_add_board(
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
@@ -60,6 +61,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -83,6 +85,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -90,6 +94,7 @@ px4_add_board(
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -105,6 +110,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -116,6 +122,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
@@ -105,6 +105,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+14 -6
View File
@@ -17,6 +17,7 @@ px4_add_board(
#CONSOLE:/dev/ttyS4
#FRSKY:/dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/dps310
@@ -25,7 +26,7 @@ px4_add_board(
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
#dshot
dshot
gps
#heater
#imu # all available imu drivers
@@ -33,13 +34,12 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
#optical_flow # all available optical flow drivers
#osd
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
#pwm_input
@@ -47,6 +47,7 @@ px4_add_board(
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
@@ -60,6 +61,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -83,6 +85,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -90,6 +94,7 @@ px4_add_board(
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -105,6 +110,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -116,6 +122,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
@@ -105,6 +105,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+20 -18
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -18,6 +17,7 @@ px4_add_board(
TEL3:/dev/ttyS4
#FRSKY:/dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/dps310
@@ -33,24 +33,20 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
#pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
#safety_button TODO
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -85,6 +81,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -108,23 +106,27 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
#tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Board specific MAVLink startup script.
# board specific MAVLink startup script.
#------------------------------------------------------------------------------
# Start MAVLink on the USB port
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
@@ -90,7 +90,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=3
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -108,6 +108,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -164,8 +165,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C3=y
@@ -218,8 +217,8 @@ CONFIG_UART7_RXBUFSIZE=600
CONFIG_UART7_TXBUFSIZE=1500
CONFIG_UART8_BAUD=57600
CONFIG_UART8_RXBUFSIZE=600
CONFIG_UART8_TXBUFSIZE=1500
CONFIG_UART8_SERIAL_CONSOLE=y
CONFIG_UART8_TXBUFSIZE=1500
CONFIG_USART2_BAUD=57600
CONFIG_USART2_IFLOWCONTROL=y
CONFIG_USART2_OFLOWCONTROL=y
@@ -199,8 +199,12 @@ SECTIONS
} > AXI_SRAM
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > SRAM4
+20 -18
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -18,6 +17,7 @@ px4_add_board(
TEL3:/dev/ttyS4
#FRSKY:/dev/ttyS5
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/dps310
@@ -33,24 +33,20 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
#pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
#safety_button TODO
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -85,6 +81,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -108,23 +106,27 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
#tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Board specific MAVLink startup script.
# board specific MAVLink startup script.
#------------------------------------------------------------------------------
# Start MAVLink on the USB port
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
@@ -90,7 +90,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=3
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -108,6 +108,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -163,8 +164,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C_DYNTIMEO=y
@@ -215,8 +214,8 @@ CONFIG_UART7_RXBUFSIZE=600
CONFIG_UART7_TXBUFSIZE=1500
CONFIG_UART8_BAUD=57600
CONFIG_UART8_RXBUFSIZE=600
CONFIG_UART8_TXBUFSIZE=1500
CONFIG_UART8_SERIAL_CONSOLE=y
CONFIG_UART8_TXBUFSIZE=1500
CONFIG_USART2_BAUD=57600
CONFIG_USART2_IFLOWCONTROL=y
CONFIG_USART2_OFLOWCONTROL=y
@@ -199,8 +199,11 @@ SECTIONS
} > AXI_SRAM
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > SRAM4
+10 -10
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
#SPARE:/dev/ttyS0
@@ -19,6 +18,7 @@ px4_add_board(
#CONSOLE:/dev/ttyS5
#FRSKY:/dev/ttyS6
DRIVERS
adc/ads1115
adc/board_adc
#barometer # all available barometer drivers
barometer/dps310
@@ -34,23 +34,20 @@ px4_add_board(
imu/invensense/icm20602
imu/invensense/icm20948
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
#osd
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
#pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -85,6 +82,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -96,6 +95,7 @@ px4_add_board(
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
@@ -109,7 +109,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
#tests # tests and test runner
top
topic_listener
tune_control
@@ -119,8 +119,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Board specific MAVLink startup script.
# board specific MAVLink startup script.
#------------------------------------------------------------------------------
# Start MAVLink on the USB port
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Board specific sensors init
# board specific sensors init
#------------------------------------------------------------------------------
board_adc start
@@ -25,7 +25,7 @@ CONFIG_ARMV7M_USEBASEPRI=y
CONFIG_BOARDCTL_RESET=y
CONFIG_BOARD_INITTHREAD_PRIORITY=254
CONFIG_BOARD_LATE_INITIALIZE=y
CONFIG_BOARD_LOOPSPERMSEC=22114
CONFIG_BOARD_LOOPSPERMSEC=95150
CONFIG_BOARD_RESET_ON_ASSERT=2
CONFIG_C99_BOOL8=y
CONFIG_CDCACM=y
@@ -54,7 +54,6 @@ CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=8
CONFIG_MEMSET_64BIT=y
CONFIG_MEMSET_OPTSPEED=y
CONFIG_MM_REGIONS=3
CONFIG_NFILE_DESCRIPTORS=5
CONFIG_PREALLOC_TIMERS=50
CONFIG_PTHREAD_STACK_MIN=512
@@ -53,13 +53,11 @@ CONFIG_CDCACM_VENDORSTR="mRo"
CONFIG_CLOCK_MONOTONIC=y
CONFIG_DEBUG_FULLOPT=y
CONFIG_DEBUG_HARDFAULT_ALERT=y
CONFIG_DEBUG_MEMFAULT=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEFAULT_SMALL=y
CONFIG_DEV_FIFO_SIZE=0
CONFIG_DEV_PIPE_MAXSIZE=1024
CONFIG_DEV_PIPE_SIZE=70
CONFIG_DISABLE_MQUEUE=y
CONFIG_EXPERIMENTAL=y
CONFIG_FAT_DMAMEMORY=y
CONFIG_FAT_LCNAMES=y
@@ -90,6 +88,7 @@ CONFIG_MEMSET_OPTSPEED=y
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_PARTITION=y
@@ -107,6 +106,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
@@ -163,8 +163,6 @@ CONFIG_STM32H7_BKPSRAM=y
CONFIG_STM32H7_DMA1=y
CONFIG_STM32H7_DMA2=y
CONFIG_STM32H7_DMACAPABLE=y
CONFIG_STM32H7_DTCMEXCLUDE=y
CONFIG_STM32H7_DTCM_PROCFS=y
CONFIG_STM32H7_FLOWCONTROL_BROKEN=y
CONFIG_STM32H7_I2C1=y
CONFIG_STM32H7_I2C_DYNTIMEO=y
@@ -237,3 +235,4 @@ CONFIG_USBDEV_MAXPOWER=500
CONFIG_USEC_PER_TICK=1000
CONFIG_USERMAIN_STACKSIZE=2944
CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_WATCHDOG=y
@@ -196,11 +196,6 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > AXI_SRAM
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
{
} > SRAM4
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
@@ -214,13 +209,4 @@ SECTIONS
.debug_line 0 : { *(.debug_line) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
.ramfunc : {
_sramfuncs = .;
*(.ramfunc .ramfunc.*)
. = ALIGN(4);
_eramfuncs = .;
} > ITCM_RAM AT > FLASH
_framfuncs = LOADADDR(.ramfunc);
}
@@ -167,6 +167,7 @@ SECTIONS
_einit = ABSOLUTE(.);
} > FLASH
.ARM.extab : {
*(.ARM.extab*)
} > FLASH
@@ -197,8 +198,12 @@ SECTIONS
} > AXI_SRAM
/* Emit the the D3 power domain section for locating BDMA data */
.sram4 (NOLOAD) :
.sram4_reserve (NOLOAD) :
{
*(.sram4)
. = ALIGN(4);
_sram4_heap_start = ABSOLUTE(.);
} > SRAM4
/* Stabs debugging sections. */
@@ -214,13 +219,4 @@ SECTIONS
.debug_line 0 : { *(.debug_line) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
.ramfunc : {
_sramfuncs = .;
*(.ramfunc .ramfunc.*)
. = ALIGN(4);
_eramfuncs = .;
} > ITCM_RAM AT > FLASH
_framfuncs = LOADADDR(.ramfunc);
}
+10 -6
View File
@@ -16,9 +16,10 @@ px4_add_board(
TEL2:/dev/ttyS2
GPS1:/dev/ttyS3
# PX4IO:/dev/ttyS4
# CONSOLE:/dev/tty5
# CONSOLE:/dev/ttyS5
# OSD:/dev/tty6
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -33,13 +34,12 @@ px4_add_board(
imu/invensense/icm20608g
imu/invensense/mpu9250
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
#optical_flow # all available optical flow drivers
#osd
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
@@ -84,6 +84,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -107,6 +109,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -118,6 +121,7 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
@@ -105,6 +105,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15
+20 -10
View File
@@ -12,10 +12,15 @@ px4_add_board(
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
# IO DEBUG:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
GPS1:/dev/ttyS3
# PX4IO:/dev/ttyS4
# CONSOLE:/dev/ttyS5
# OSD:/dev/tty6
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
@@ -23,29 +28,27 @@ px4_add_board(
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
#dshot
dshot
gps
#heater
#imu # all available imu drivers
imu/invensense/icm20602
imu/invensense/icm20608g
imu/invensense/mpu9250
irlock
lights/blinkm
lights/rgbled
#lights/rgbled_ncp5623c
lights # all available light drivers
magnetometer # all available magnetometer drivers
#optical_flow # all available optical flow drivers
optical_flow/px4flow
#osd
optical_flow # all available optical flow drivers
osd
pca9685
#power_monitor/ina226
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
@@ -58,6 +61,7 @@ px4_add_board(
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
@@ -81,6 +85,8 @@ px4_add_board(
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
@@ -88,6 +94,7 @@ px4_add_board(
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
@@ -103,6 +110,7 @@ px4_add_board(
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
@@ -114,6 +122,8 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
+6 -13
View File
@@ -1,18 +1,11 @@
#!/bin/sh
#
# mRo x21 specific board sensors init
# Board specific sensors init
#------------------------------------------------------------------------------
board_adc start
# Internal SPI bus ICM-20608-G
icm20608g -s -R 8 start
# Internal SPI bus ICM-20602
icm20602 -s -R 8 start
# Internal SPI bus mpu9250
mpu9250 -s -R 8 start
# Internal SPI
ms5611 -s start
# SPI1
ms5611 -s -b 1 start
icm20608g -s -b 1 -R 8 start
icm20602 -s -b 1 -R 8 start
mpu9250 -s -b 1 -R 8 -M start
@@ -101,6 +101,7 @@ CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_LINELEN=128
CONFIG_NSH_MAXARGUMENTS=15

Some files were not shown because too many files have changed in this diff Show More