Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] add new CUAV Nora board #14272

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions boards/cuav/nora/bootloader.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

px4_add_board(
PLATFORM nuttx
VENDOR cuav
MODEL nora
LABEL bootloader
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7


DRIVERS
# bootloader

MODULES

SYSTEMCMDS

EXAMPLES

)
129 changes: 129 additions & 0 deletions boards/cuav/nora/default.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@

px4_add_board(
PLATFORM nuttx
VENDOR cuav
MODEL nora
LABEL default
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO px4_io-v2_default
TESTING
# UAVCAN_INTERFACES 2 - No H7 or FD can support in UAVCAN
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
GPS2:/dev/ttyS2
TEL2:/dev/ttyS3
DRIVERS
adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/adis16448
imu/adis16477
imu/adis16497
imu/bmi088
imu/mpu6000
imu/icm20948
imu/mpu9250
irlock
lights/blinkm
lights/rgbled
lights/rgbled_ncp5623c
magnetometer # all available magnetometer drivers
mkblctrl
optical_flow # all available optical flow drivers
#osd
pca9685
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
px4fmu
px4io
rc_input

rpm
safety_button
tap_esc
telemetry # all available telemetry drivers
test_ppm
tone_alarm
# uavcan - No H7 or FD can support in UAVCAN yet
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
events
fw_att_control
fw_pos_control_l1
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_pos_control
mc_rate_control
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
bl_update
config
dmesg
dumpfile
esc_calib
hardfault_log
i2cdetect
led_control
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
shutdown
tests # tests and test runner
top
topic_listener
tune_control
usb_connected
ver
work_queue
EXAMPLES
bottle_drop # OBC challenge
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
)
13 changes: 13 additions & 0 deletions boards/cuav/nora/firmware.prototype
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"board_id": 1009,
"magic": "PX4FWv1",
"description": "Firmware for the nora board",
"image": "",
"build_time": 0,
"summary": "NORA",
"version": "0.1",
"image_size": 0,
"image_maxsize": 1966080,
"git_identity": "",
"board_revision": 0
}
73 changes: 73 additions & 0 deletions boards/cuav/nora/init/rc.board_defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/sh
#
# Cuav Nora specific board defaults
#------------------------------------------------------------------------------


#
# Bootloader upgrade
#
set BL_FILE /etc/extras/cuav_nora_bootloader.bin
if [ -f $BL_FILE ]
then
if param compare SYS_BL_UPDATE 1
then
param set SYS_BL_UPDATE 0
param save
echo "BL update..." >> $LOG_FILE
bl_update $BL_FILE
echo "BL update done" >> $LOG_FILE
reboot
fi
fi
unset BL_FILE

#
# No px4IO
#
unset IOFW
param set SYS_USE_IO 0


if [ $AUTOCNF = yes ]
then
# Enable IMU thermal control
param set SENS_EN_THERMAL 1
fi

set LOGGER_BUF 64

safety_button start

fmu mode_pwm
pwm rate -a -r 400

pwm disarmed -m 0x100 -p p:PWM_MAIN_DIS9
pwm disarmed -m 0x200 -p p:PWM_MAIN_DIS10
pwm disarmed -m 0x400 -p p:PWM_MAIN_DIS11
pwm disarmed -m 0x800 -p p:PWM_MAIN_DIS12
pwm disarmed -m 0x1000 -p p:PWM_MAIN_DIS13
pwm disarmed -m 0x2000 -p p:PWM_MAIN_DIS14

pwm min -m 0x100 -p p:PWM_MAIN_MIN9
pwm min -m 0x200 -p p:PWM_MAIN_MIN10
pwm min -m 0x400 -p p:PWM_MAIN_MIN11
pwm min -m 0x800 -p p:PWM_MAIN_MIN12
pwm min -m 0x1000 -p p:PWM_MAIN_MIN13
pwm min -m 0x2000 -p p:PWM_MAIN_MIN14

pwm max -m 0x100 -p p:PWM_MAIN_MAX9
pwm max -m 0x200 -p p:PWM_MAIN_MAX10
pwm max -m 0x400 -p p:PWM_MAIN_MAX11
pwm max -m 0x800 -p p:PWM_MAIN_MAX12
pwm max -m 0x1000 -p p:PWM_MAIN_MAX13
pwm max -m 0x2000 -p p:PWM_MAIN_MAX14

pwm failsafe -m 0x100 -p p:PWM_MAIN_FAIL9
pwm failsafe -m 0x200 -p p:PWM_MAIN_FAIL10
pwm failsafe -m 0x400 -p p:PWM_MAIN_FAIL11
pwm failsafe -m 0x800 -p p:PWM_MAIN_FAIL12
pwm failsafe -m 0x1000 -p p:PWM_MAIN_FAIL13
pwm failsafe -m 0x2000 -p p:PWM_MAIN_FAIL14

set PWM_RATE none
12 changes: 12 additions & 0 deletions boards/cuav/nora/init/rc.board_mavlink
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh
#
# Nora specific specific board MAVLink startup script.
#------------------------------------------------------------------------------

# Start MAVLink on the USB port
mavlink start -d /dev/ttyACM0

# Start MAVLink on the uart port
mavlink start -d /dev/ttyS3

#gps start -d /dev/ttyS2
33 changes: 33 additions & 0 deletions boards/cuav/nora/init/rc.board_sensors
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/sh
#
# Cuav Nora specific board sensors init
#------------------------------------------------------------------------------
adc start

# Internal SPI bus ICM-20689
mpu6000 -R 8 -z -T 20689 start
#$icm20948 -R start

# Internal SPI bus BMI088 accel
bmi088 -A -R 10 start

# Internal SPI bus BMI088 gyro
bmi088 -G -R 10 start

#rm3100 -R 1 start
rm3100 start
# Possible external compasses
ist8310 -b 4 start

hmc5883 -C -T -X start
qmc5883 -X start
lis3mdl -X start

# Possible internal compass
ist8310 -b 5 start

# Baro on internal SPI
ms5611 -S start

# Baro on external SPI
ms5611 -s start
17 changes: 17 additions & 0 deletions boards/cuav/nora/nuttx-config/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
config BOARD_HAS_PROBES
bool "Board provides GPIO or other Hardware for signaling to timing analyze."
default y
---help---
This board provides GPIO FMU-CH1-5, CAP1-6 as PROBE_1-11 to provide timing signals from selected drivers.

config BOARD_USE_PROBES
bool "Enable the use the board provided FMU-CH1-5, CAP1-6 as PROBE_1-11"
default n
depends on BOARD_HAS_PROBES

---help---
Select to use GPIO FMU-CH1-5, CAP1-6 to provide timing signals from selected drivers.
Loading