Skip to content

Commit e900f2e

Browse files
dagarjulianoes
andcommitted
boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061)
Co-authored-by: Julian Oes <[email protected]> Co-authored-by: Daniel Agar <[email protected]>
1 parent 8f64f7c commit e900f2e

File tree

32 files changed

+2476
-20
lines changed

32 files changed

+2476
-20
lines changed

.ci/Jenkinsfile-compile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ pipeline {
3838
"airmind_mindpx-v2_default",
3939
"ark_can-flow_canbootloader",
4040
"ark_can-flow_default",
41+
"atl_mantis-edu_default",
4142
"av_x-v1_default",
4243
"bitcraze_crazyflie_default",
4344
"bitcraze_crazyflie21_default",
@@ -71,8 +72,8 @@ pipeline {
7172
"nxp_fmuk66-v3_rtps",
7273
"nxp_fmuk66-v3_socketcan",
7374
"nxp_fmurt1062-v1_default",
74-
"nxp_ucans32k146_default",
7575
"nxp_ucans32k146_canbootloader",
76+
"nxp_ucans32k146_default",
7677
"omnibus_f4sd_default",
7778
"px4_fmu-v2_default",
7879
"px4_fmu-v2_fixedwing",

.github/workflows/compile_nuttx.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
airmind_mindpx-v2,
1919
ark_can-flow,
2020
ark_can-gps,
21+
atl_mantis-edu,
2122
av_x-v1,
2223
bitcraze_crazyflie,
2324
bitcraze_crazyflie21,

.vscode/cmake-variants.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ CONFIG:
9696
buildType: MinSizeRel
9797
settings:
9898
CONFIG: ark_can-gps_canbootloader
99+
atl_mantis-edu_default:
100+
short: atl_mantis-edu
101+
buildType: MinSizeRel
102+
settings:
103+
CONFIG: atl_mantis-edu_default
99104
av_x-v1_default:
100105
short: av_x-v1
101106
buildType: MinSizeRel
Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
#!/bin/sh
2+
#
3+
# @name Advanced Technology Labs (ATL) Mantis EDU
4+
#
5+
# @type Quadrotor x
6+
# @class Copter
7+
#
8+
# @output MAIN1 motor 1
9+
# @output MAIN2 motor 2
10+
# @output MAIN3 motor 3
11+
# @output MAIN4 motor 4
12+
#
13+
# @maintainer
14+
# @board px4_fmu-v2 exclude
15+
#
16+
17+
. ${R}etc/init.d/rc.mc_defaults
18+
19+
set MIXER none
20+
set MIXER_AUX none
21+
22+
23+
# Battery settings
24+
param set-default BAT_CRIT_THR 0.20
25+
param set-default BAT_EMERGEN_THR 0.05
26+
param set-default BAT_LOW_THR 0.25
27+
28+
param set-default BAT1_CAPACITY 2800.0
29+
param set-default BAT1_N_CELLS 3
30+
param set-default BAT1_R_INTERNAL 0.02
31+
param set-default BAT1_V_CHARGED 4.26
32+
param set-default BAT1_V_EMPTY 3.45
33+
34+
param set-default CBRK_SUPPLY_CHK 894281
35+
36+
param set-default COM_DISARM_LAND 0.1
37+
param set-default COM_DISARM_PRFLT 3
38+
param set-default COM_DL_LOSS_T 10
39+
param set-default COM_FLTMODE1 -1
40+
param set-default COM_FLTMODE2 -1
41+
param set-default COM_FLTMODE3 -1
42+
param set-default COM_FLTMODE4 2
43+
param set-default COM_FLTMODE5 -1
44+
param set-default COM_FLTMODE6 6
45+
param set-default COM_RC_LOSS_T 3
46+
param set-default COM_RC_OVERRIDE 1
47+
48+
49+
# ekf2
50+
param set-default EKF2_AID_MASK 35
51+
param set-default EKF2_BARO_DELAY 0
52+
param set-default EKF2_BARO_NOISE 2.0
53+
54+
param set-default EKF2_BCOEF_X 31.5
55+
param set-default EKF2_BCOEF_Y 25.5
56+
57+
param set-default EKF2_GPS_DELAY 100
58+
param set-default EKF2_GPS_POS_X 0.06
59+
param set-default EKF2_GPS_POS_Y 0.0
60+
param set-default EKF2_GPS_POS_Z 0.0
61+
param set-default EKF2_GPS_V_NOISE 0.5
62+
63+
param set-default EKF2_IMU_POS_X 0.06
64+
param set-default EKF2_IMU_POS_Y 0.0
65+
param set-default EKF2_IMU_POS_Z 0.0
66+
67+
param set-default EKF2_MAG_DELAY 0
68+
param set-default EKF2_MAG_NOISE 0.1
69+
70+
param set-default EKF2_MIN_RNG 0.15
71+
72+
param set-default EKF2_OF_DELAY 38
73+
param set-default EKF2_OF_GATE 2.0
74+
param set-default EKF2_OF_POS_X -0.035
75+
param set-default EKF2_OF_POS_Y 0.0
76+
param set-default EKF2_OF_POS_Z 0.033
77+
78+
param set-default EKF2_PCOEF_XN -0.3
79+
param set-default EKF2_PCOEF_XP -0.4
80+
param set-default EKF2_PCOEF_YN -0.4
81+
param set-default EKF2_PCOEF_YP -0.4
82+
param set-default EKF2_PCOEF_Z 0.0
83+
84+
param set-default EKF2_RNG_A_VMAX 1.0
85+
param set-default EKF2_RNG_AID 0
86+
param set-default EKF2_RNG_DELAY 55
87+
param set-default EKF2_RNG_POS_X -0.035
88+
param set-default EKF2_RNG_POS_Y 0.0
89+
param set-default EKF2_RNG_POS_Z 0.033
90+
91+
param set-default EKF2_TERR_NOISE 1.0
92+
93+
94+
# Maximum allowed angle velocity in the landed state
95+
param set-default LNDMC_ROT_MAX 40.0
96+
97+
# Maximum vertical velocity allowed in the landed state
98+
param set-default LNDMC_Z_VEL_MAX 0.7
99+
100+
101+
# filtering
102+
param set-default IMU_DGYRO_CUTOFF 50
103+
param set-default IMU_GYRO_CUTOFF 65
104+
105+
106+
# Pitch angle & rate setting
107+
param set-default MC_PITCHRATE_P 0.075
108+
param set-default MC_PITCHRATE_I 0.1
109+
param set-default MC_PITCHRATE_D 0.0005
110+
param set-default MC_PITCHRATE_MAX 360.0
111+
param set-default MC_PITCH_P 8.0
112+
113+
# Roll angle & rate setting
114+
param set-default MC_ROLLRATE_P 0.055
115+
param set-default MC_ROLLRATE_I 0.1
116+
param set-default MC_ROLLRATE_D 0.0005
117+
param set-default MC_ROLLRATE_MAX 360.0
118+
param set-default MC_ROLL_P 8.0
119+
120+
# Yaw angle & rate setting
121+
param set-default MC_YAWRATE_P 0.1
122+
param set-default MC_YAWRATE_I 0.1
123+
param set-default MC_YAWRATE_MAX 120.0
124+
param set-default MC_YAW_P 2.5
125+
126+
param set-default MPC_ACC_DOWN_MAX 2.0
127+
param set-default MPC_ACC_HOR 3.0
128+
param set-default MPC_ACC_HOR_MAX 10.0
129+
param set-default MPC_ACC_UP_MAX 3.0
130+
param set-default MPC_ALT_MODE 0
131+
param set-default MPC_LAND_SPEED 0.5
132+
param set-default MPC_LAND_VEL_XY 10
133+
param set-default MPC_MAN_TILT_MAX 20
134+
param set-default MPC_YAWRAUTO_MAX 80.0
135+
param set-default MPC_POS_MODE 4
136+
param set-default MPC_THR_HOVER 0.54
137+
param set-default MPC_THR_MAX 0.9
138+
param set-default MPC_THR_MIN 0.06
139+
param set-default MPC_TILTMAX_AIR 30
140+
param set-default MPC_XY_P 1.0
141+
param set-default MPC_XY_VEL_D 0.005
142+
param set-default MPC_XY_VEL_I 0.02
143+
param set-default MPC_XY_VEL_P 0.15
144+
param set-default MPC_Z_P 2.0
145+
param set-default MPC_Z_VEL_D 0.0
146+
param set-default MPC_Z_VEL_I 0.02
147+
param set-default MPC_Z_VEL_MAX_DN 2.0
148+
param set-default MPC_Z_VEL_MAX_UP 3.0
149+
param set-default MPC_Z_VEL_P 0.27
150+
151+
152+
# gimbal configuration
153+
param set-default MNT_MODE_IN 1
154+
param set-default MNT_MODE_OUT 2
155+
param set-default MNT_MAN_PITCH 1
156+
157+
158+
# RC
159+
param set-default RC_CHAN_CNT 12
160+
161+
param set-default RC_MAP_THROTTLE 1
162+
param set-default RC_MAP_ROLL 2
163+
param set-default RC_MAP_PITCH 3
164+
param set-default RC_MAP_YAW 4
165+
param set-default RC_MAP_FLTMODE 5
166+
param set-default RC_MAP_AUX1 7
167+
168+
param set-default RC1_DZ 10
169+
param set-default RC1_MAX 3413
170+
param set-default RC1_MIN 683
171+
param set-default RC1_REV 1
172+
param set-default RC1_TRIM 683
173+
param set-default RC2_DZ 10
174+
param set-default RC2_MAX 3413
175+
param set-default RC2_MIN 683
176+
param set-default RC2_REV -1
177+
param set-default RC2_TRIM 2048
178+
param set-default RC3_DZ 10
179+
param set-default RC3_MAX 3413
180+
param set-default RC3_MIN 683
181+
param set-default RC3_REV 1
182+
param set-default RC3_TRIM 2048
183+
param set-default RC4_DZ 10
184+
param set-default RC4_MAX 3413
185+
param set-default RC4_MIN 683
186+
param set-default RC4_REV -1
187+
param set-default RC4_TRIM 2048
188+
param set-default RC5_DZ 10
189+
param set-default RC5_MAX 3414
190+
param set-default RC5_MIN 2048
191+
param set-default RC5_REV 1
192+
param set-default RC5_TRIM 2048
193+
param set-default RC7_DZ 10
194+
param set-default RC7_MAX 3413
195+
param set-default RC7_MIN 683
196+
param set-default RC7_REV 1
197+
param set-default RC7_TRIM 2048

ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ px4_add_romfs_files(
8080
4052_holybro_qav250
8181
4053_holybro_kopis2
8282
4060_dji_matrice_100
83+
4061_atl_mantis_edu
8384
4071_ifo
8485
4072_draco
8586
4073_ifo-s
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
2+
px4_add_board(
3+
PLATFORM nuttx
4+
VENDOR atl
5+
MODEL mantis-edu
6+
LABEL default
7+
TOOLCHAIN arm-none-eabi
8+
ARCHITECTURE cortex-m7
9+
ROMFSROOT px4fmu_common
10+
DRIVERS
11+
adc/board_adc
12+
barometer/maiertek/mpc2520
13+
camera_capture
14+
gps
15+
#heater
16+
imu/invensense/icm20602
17+
#lights/rgbled_pwm
18+
magnetometer/isentek/ist8310
19+
tap_esc
20+
MODULES
21+
battery_status
22+
camera_feedback
23+
commander
24+
dataman
25+
ekf2
26+
events
27+
flight_mode_manager
28+
gyro_calibration
29+
gyro_fft
30+
land_detector
31+
load_mon
32+
logger
33+
mavlink
34+
mc_att_control
35+
mc_hover_thrust_estimator
36+
mc_pos_control
37+
mc_rate_control
38+
#micrortps_bridge
39+
navigator
40+
rc_update
41+
sensors
42+
sih
43+
vmount
44+
SYSTEMCMDS
45+
bl_update
46+
dmesg
47+
dumpfile
48+
esc_calib
49+
hardfault_log
50+
i2cdetect
51+
led_control
52+
mixer
53+
motor_ramp
54+
motor_test
55+
nshterm
56+
param
57+
perf
58+
reboot
59+
reflect
60+
sd_bench
61+
serial_test
62+
shutdown
63+
system_time
64+
top
65+
topic_listener
66+
tune_control
67+
uorb
68+
usb_connected
69+
ver
70+
work_queue
71+
)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"board_id": 97,
3+
"magic": "PX4FWv1",
4+
"description": "Firmware for the Advanced Technology Labs (ATL) Mantis EDU (V18S) board",
5+
"image": "",
6+
"build_time": 0,
7+
"summary": "atl_mantis-edu",
8+
"version": "0.1",
9+
"image_size": 0,
10+
"image_maxsize": 2064384,
11+
"git_identity": "",
12+
"board_revision": 0
13+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/sh
2+
#
3+
# board specific defaults
4+
#------------------------------------------------------------------------------
5+
6+
param set-default SYS_AUTOSTART 4061
7+
8+
param set-default COM_ARM_SDCARD 0
9+
10+
param set-default SENS_EXT_I2C_PRB 0
11+
12+
param set-default EKF2_MULTI_IMU 1
13+
param set-default EKF2_MULTI_MAG 1
14+
param set-default SENS_IMU_MODE 0
15+
param set-default SENS_MAG_MODE 0
16+
17+
set LOGGER_ARGS "-m mavlink"
18+
19+
# Start esc
20+
tap_esc start -d /dev/ttyS4 -n 4
21+
mixer load /dev/tap_esc /etc/mixers/quad_x.main.mix
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
#
3+
# board specific MAVLink startup script.
4+
#------------------------------------------------------------------------------
5+
6+
set GIMBAL_TTY /dev/ttyS3
7+
set MAV_RATE 40000
8+
set BAUDRATE 500000
9+
10+
mavlink start -r ${MAV_RATE} -d ${GIMBAL_TTY} -b ${BAUDRATE}
11+
mavlink stream -d ${GIMBAL_TTY} -s SYSTEM_TIME -r 0.5
12+
mavlink stream -d ${GIMBAL_TTY} -s AUTOPILOT_STATE_FOR_GIMBAL_DEVICE -r 20
13+
mavlink stream -d ${GIMBAL_TTY} -s GIMBAL_DEVICE_SET_ATTITUDE -r 20
14+
15+
# optical flow
16+
mavlink start -d /dev/ttyS2 -m custom -b 500000
17+
18+
# Start MAVLink on the USB port
19+
mavlink start -d /dev/ttyACM0
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/sh
2+
#
3+
# board specific sensors init
4+
#------------------------------------------------------------------------------
5+
6+
board_adc start
7+
8+
# SPI1 icm20602 IMU
9+
icm20602 start -s -b 1 -R 8
10+
11+
# I2C2 ist8310 magnetometer
12+
ist8310 start -I -b 2 -R 14
13+
14+
# I2C4 mpc2520 barometer
15+
mpc2520 start -I -b 4
16+
17+
gps start -d /dev/ttyS0 -p ubx

0 commit comments

Comments
 (0)