Skip to content

Commit 528ad1e

Browse files
AlexKlimajdagar
authored andcommitted
boards: ARK Pi6X Initial Commit
1 parent 65cc153 commit 528ad1e

34 files changed

Lines changed: 3862 additions & 4 deletions

File tree

.ci/Jenkinsfile-compile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ pipeline {
4646
"ark_cannode_default",
4747
"ark_fmu-v6x_bootloader",
4848
"ark_fmu-v6x_default",
49+
"ark_pi6x_bootloader",
50+
"ark_pi6x_default"
4951
"atl_mantis-edu_default",
5052
"av_x-v1_default",
5153
"bitcraze_crazyflie21_default",

.github/workflows/compile_nuttx.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
ark_can-rtk-gps,
2626
ark_cannode,
2727
ark_fmu-v6x,
28+
ark_pi6x,
2829
ark_septentrio-gps,
2930
atl_mantis-edu,
3031
av_x-v1,

.vscode/cmake-variants.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,16 @@ CONFIG:
181181
buildType: MinSizeRel
182182
settings:
183183
CONFIG: ark_fmu-v6x_default
184+
ark_pi6x_bootloader:
185+
short: ark_pi6x_bootloader
186+
buildType: MinSizeRel
187+
settings:
188+
CONFIG: ark_pi6x_bootloader
189+
ark_pi6x_default:
190+
short: ark_pi6x_default
191+
buildType: MinSizeRel
192+
settings:
193+
CONFIG: ark_pi6x_default
184194
atl_mantis-edu_default:
185195
short: atl_mantis-edu
186196
buildType: MinSizeRel
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CONFIG_BOARD_TOOLCHAIN="arm-none-eabi"
2+
CONFIG_BOARD_ARCHITECTURE="cortex-m7"
3+
CONFIG_BOARD_ROMFSROOT=""

boards/ark/pi6x/default.px4board

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
CONFIG_BOARD_TOOLCHAIN="arm-none-eabi"
2+
CONFIG_BOARD_ARCHITECTURE="cortex-m7"
3+
CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS0"
4+
CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS5"
5+
CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS3"
6+
CONFIG_BOARD_SERIAL_TEL4="/dev/ttyS2"
7+
CONFIG_BOARD_SERIAL_RC="/dev/ttyS4"
8+
CONFIG_DRIVERS_ADC_BOARD_ADC=y
9+
CONFIG_DRIVERS_BAROMETER_BMP388=y
10+
CONFIG_COMMON_DIFFERENTIAL_PRESSURE=y
11+
CONFIG_DRIVERS_DISTANCE_SENSOR_BROADCOM_AFBRS50=y
12+
CONFIG_DRIVERS_DSHOT=y
13+
CONFIG_DRIVERS_GPS=y
14+
CONFIG_DRIVERS_HEATER=y
15+
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y
16+
CONFIG_COMMON_LIGHT=y
17+
CONFIG_DRIVERS_MAGNETOMETER_MEMSIC_MMC5983MA=y
18+
CONFIG_DRIVERS_OPTICAL_FLOW_PAW3902=y
19+
CONFIG_DRIVERS_POWER_MONITOR_INA226=y
20+
CONFIG_DRIVERS_PWM_OUT=y
21+
CONFIG_DRIVERS_RC_INPUT=y
22+
CONFIG_DRIVERS_TONE_ALARM=y
23+
CONFIG_DRIVERS_UAVCAN=y
24+
CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE=2
25+
CONFIG_MODULES_AIRSPEED_SELECTOR=y
26+
CONFIG_MODULES_COMMANDER=y
27+
CONFIG_MODULES_CONTROL_ALLOCATOR=y
28+
CONFIG_MODULES_DATAMAN=y
29+
CONFIG_MODULES_EKF2=y
30+
CONFIG_MODULES_EVENTS=y
31+
CONFIG_MODULES_FLIGHT_MODE_MANAGER=y
32+
CONFIG_MODULES_GYRO_CALIBRATION=y
33+
CONFIG_MODULES_GYRO_FFT=y
34+
CONFIG_MODULES_LAND_DETECTOR=y
35+
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
36+
CONFIG_MODULES_LOAD_MON=y
37+
CONFIG_MODULES_LOGGER=y
38+
CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y
39+
CONFIG_MODULES_MANUAL_CONTROL=y
40+
CONFIG_MODULES_MAVLINK=y
41+
CONFIG_MODULES_MC_ATT_CONTROL=y
42+
CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y
43+
CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y
44+
CONFIG_MODULES_MC_POS_CONTROL=y
45+
CONFIG_MODULES_MC_RATE_CONTROL=y
46+
CONFIG_MODULES_NAVIGATOR=y
47+
CONFIG_MODULES_RC_UPDATE=y
48+
CONFIG_MODULES_SENSORS=y
49+
CONFIG_MODULES_UXRCE_DDS_CLIENT=y
50+
CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y
51+
CONFIG_SYSTEMCMDS_BSONDUMP=y
52+
CONFIG_SYSTEMCMDS_DMESG=y
53+
CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y
54+
CONFIG_SYSTEMCMDS_I2CDETECT=y
55+
CONFIG_SYSTEMCMDS_LED_CONTROL=y
56+
CONFIG_SYSTEMCMDS_MFT=y
57+
CONFIG_SYSTEMCMDS_MTD=y
58+
CONFIG_SYSTEMCMDS_NSHTERM=y
59+
CONFIG_SYSTEMCMDS_PARAM=y
60+
CONFIG_SYSTEMCMDS_PERF=y
61+
CONFIG_SYSTEMCMDS_REBOOT=y
62+
CONFIG_SYSTEMCMDS_SD_BENCH=y
63+
CONFIG_SYSTEMCMDS_SD_STRESS=y
64+
CONFIG_SYSTEMCMDS_SYSTEM_TIME=y
65+
CONFIG_SYSTEMCMDS_TOP=y
66+
CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y
67+
CONFIG_SYSTEMCMDS_TUNE_CONTROL=y
68+
CONFIG_SYSTEMCMDS_UORB=y
69+
CONFIG_SYSTEMCMDS_VER=y
70+
CONFIG_SYSTEMCMDS_WORK_QUEUE=y
45.1 KB
Binary file not shown.

boards/ark/pi6x/firmware.prototype

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"board_id": 58,
3+
"magic": "ARKPi6XFWv1",
4+
"description": "Firmware for the ARKPi6X board",
5+
"image": "",
6+
"build_time": 0,
7+
"summary": "ARKPi6X",
8+
"version": "0.1",
9+
"image_size": 0,
10+
"image_maxsize": 1835008,
11+
"git_identity": "",
12+
"board_revision": 0
13+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/sh
2+
#
3+
# board specific defaults
4+
#------------------------------------------------------------------------------
5+
6+
# transision from params file to flash-based params (2022-08)
7+
if [ -f $PARAM_FILE ]
8+
then
9+
param load $PARAM_FILE
10+
param save
11+
# create a backup
12+
mv $PARAM_FILE ${PARAM_FILE}.bak
13+
reboot
14+
fi
15+
16+
param set-default SENS_EN_INA226 1
17+
18+
# TODO: Set params to start UXRCE DDS on Telem2
19+
20+
# TODO: Start Mavlink on USB by default
21+
22+
# TODO: Tune the following parameters
23+
param set-default SENS_EN_THERMAL 1
24+
param set-default SENS_IMU_TEMP 10.0
25+
#param set-default SENS_IMU_TEMP_FF 0.0
26+
#param set-default SENS_IMU_TEMP_I 0.025
27+
#param set-default SENS_IMU_TEMP_P 1.0
28+
29+
if ver hwtypecmp ARKPI6X000
30+
then
31+
# TODO: Add the correct sensor ID
32+
param set-default SENS_TEMP_ID 2490378
33+
fi
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/sh
2+
#
3+
# ARKPI6X specific board sensors init
4+
#------------------------------------------------------------------------------
5+
6+
board_adc start
7+
8+
if param compare SENS_EN_INA226 1
9+
then
10+
# Start Digital power monitors
11+
ina226 -I -b 3 -t 1 -k start
12+
fi
13+
14+
if ver hwtypecmp ARKPI6X000
15+
then
16+
# Internal SPI bus ICM42688p with SPIX measured frequency of 32.051kHz
17+
icm42688p -R 3 -s -b 1 -C 32051 start
18+
19+
# Internal SPI bus ICM42688p with SPIX measured frequency of 32.051kHz
20+
icm42688p -R 1 -s -b 2 -C 32051 start
21+
fi
22+
23+
# Internal magnetometer on I2C
24+
# TODO: Write a driver for the MMC5983MA
25+
mmc5983ma -I -b 4 start
26+
27+
# Internal Baro on I2C
28+
bmp388 -I -b 4 start
29+
30+
# Internal optical flow
31+
paw3902 -s -b 3 start -Y 90
32+
33+
# Internal distance sensor
34+
afbrs50 start
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# For a description of the syntax of this configuration file,
3+
# see misc/tools/kconfig-language.txt.
4+
#
5+
config BOARD_HAS_PROBES
6+
bool "Board provides GPIO or other Hardware for signaling to timing analyze."
7+
default y
8+
---help---
9+
This board provides GPIO FMU-CH1-5, CAP1-6 as PROBE_1-11 to provide timing signals from selected drivers.
10+
11+
config BOARD_USE_PROBES
12+
bool "Enable the use the board provided FMU-CH1-5, CAP1-6 as PROBE_1-11"
13+
default n
14+
depends on BOARD_HAS_PROBES
15+
16+
---help---
17+
Select to use GPIO FMU-CH1-5, CAP1-6 to provide timing signals from selected drivers.

0 commit comments

Comments
 (0)