Browse Source

boards: rename AirPi2 to PilotPi, add arm64 support, add to CI

* rename all
* add arm64 support
* change internal ist8310 onto I2C-1
release/1.12
SalimTerryLi 4 years ago committed by GitHub
parent
commit
6728a3a05a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      .ci/Jenkinsfile-compile
  2. 1
      .github/workflows/compile_linux.yml
  3. 50
      .github/workflows/compile_linux_arm64.yml
  4. 7
      Tools/docker_run.sh
  5. 93
      boards/scumaker/pilotpi/arm64.cmake
  6. 10
      boards/scumaker/pilotpi/cmake/upload.cmake
  7. 2
      boards/scumaker/pilotpi/default.cmake
  8. 0
      boards/scumaker/pilotpi/src/CMakeLists.txt
  9. 0
      boards/scumaker/pilotpi/src/board_config.h
  10. 0
      boards/scumaker/pilotpi/src/i2c.cpp
  11. 0
      boards/scumaker/pilotpi/src/spi.cpp
  12. 42
      platforms/posix/cmake/Toolchain-aarch64-linux-gnu.cmake
  13. 2
      posix-configs/rpi/pilotpi_mc.config

9
.ci/Jenkinsfile-compile

@ -10,17 +10,24 @@ pipeline { @@ -10,17 +10,24 @@ pipeline {
def build_nodes = [:]
def docker_images = [
armhf: "px4io/px4-dev-armhf:2020-04-01",
arm64: "px4io/px4-dev-aarch64:latest",
base: "px4io/px4-dev-base-bionic:2020-04-01",
nuttx: "px4io/px4-dev-nuttx-focal:2020-09-14",
snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
]
def armhf_builds = [
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_airpi2_default"],
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
image: docker_images.armhf,
archive: false
]
def arm64_builds = [
target: ["scumaker_pilotpi_arm64"],
image: docker_images.arm64,
archive: false
]
def base_builds = [
target: ["px4_sitl_rtps"],
image: docker_images.base,

1
.github/workflows/compile_linux.yml

@ -19,6 +19,7 @@ jobs: @@ -19,6 +19,7 @@ jobs:
beaglebone_blue_default,
emlid_navio2_default,
px4_raspberrypi_default,
scumaker_pilotpi_default,
]
steps:
- uses: actions/checkout@v1

50
.github/workflows/compile_linux_arm64.yml

@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
name: Linux ARM64 Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-aarch64:latest
strategy:
matrix:
config: [
scumaker_pilotpi_arm64,
]
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: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{matrix.config}}-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 = 6" >> ~/.ccache/ccache.conf
echo "max_size = 400M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: make ${{matrix.config}}
run: make ${{matrix.config}}
- name: ccache post-run
run: ccache -s

7
Tools/docker_run.sh

@ -5,9 +5,12 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then @@ -5,9 +5,12 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then
if [[ $@ =~ .*px4_fmu.* ]]; then
# nuttx-px4fmu-v{1,2,3,4,5}
PX4_DOCKER_REPO="px4io/px4-dev-nuttx-focal:2020-09-14"
elif [[ $@ =~ .*ocpoc.* ]] || [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*beaglebone.* ]] || [[ $@ =~ .*airpi2.* ]]; then
# aerotenna_ocpoc_default, beaglebone_blue_default, emlid_navio2_default, px4_raspberrypi_default, scumaker_airpi2_default
elif [[ $@ =~ .*ocpoc.* ]] || [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*beaglebone.* ]] || [[ $@ =~ .*pilotpi.default ]]; then
# aerotenna_ocpoc_default, beaglebone_blue_default, emlid_navio2_default, px4_raspberrypi_default, scumaker_pilotpi_default
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2020-04-01"
elif [[ $@ =~ .*pilotpi.arm64 ]]; then
# scumaker_pilotpi_arm64
PX4_DOCKER_REPO="px4io/px4-dev-aarch64:latest"
elif [[ $@ =~ .*eagle.* ]] || [[ $@ =~ .*excelsior.* ]]; then
# eagle, excelsior
PX4_DOCKER_REPO="lorenzmeier/px4-dev-snapdragon:2020-04-01"

93
boards/scumaker/pilotpi/arm64.cmake

@ -0,0 +1,93 @@ @@ -0,0 +1,93 @@
add_definitions(
-D__PX4_LINUX
)
px4_add_board(
VENDOR scumaker
MODEL pilotpi
LABEL arm64
PLATFORM posix
ARCHITECTURE cortex-a53
ROMFSROOT px4fmu_common
TOOLCHAIN aarch64-linux-gnu
TESTING
DRIVERS
adc/ads1115
#barometer # all available barometer drivers
barometer/ms5611
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
gps
#imu # all available imu drivers
imu/invensense/icm42688p
imu/invensense/icm42605
#magnetometer # all available magnetometer drivers
magnetometer/hmc5883
magnetometer/isentek/ist8310
pca9685_pwm_out
pwm_out_sim
rc_input
#telemetry # all available telemetry drivers
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_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
temperature_compensation
sih
#simulator
vmount
vtol_att_control
SYSTEMCMDS
dyn
esc_calib
led_control
mixer
motor_ramp
param
perf
pwm
sd_bench
shutdown
tests # tests and test runner
#top
topic_listener
tune_control
ver
work_queue
EXAMPLES
dyn_hello # dynamically loading modules example
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
)

10
boards/scumaker/airpi2/cmake/upload.cmake → boards/scumaker/pilotpi/cmake/upload.cmake

@ -37,10 +37,16 @@ else() @@ -37,10 +37,16 @@ else()
set(AUTOPILOT_HOST "raspberrypi")
endif()
if(DEFINED ENV{AUTOPILOT_USER})
set(AUTOPILOT_USER $ENV{AUTOPILOT_USER})
else()
set(AUTOPILOT_USER "pi")
endif()
add_custom_target(upload
COMMAND rsync -arh --progress
${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${PX4_SOURCE_DIR}/posix-configs/rpi/airpi2*.config ${PX4_BINARY_DIR}/etc # source
pi@\$\{AUTOPILOT_HOST\}:/home/pi/px4 # destination
${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${PX4_SOURCE_DIR}/posix-configs/rpi/pilotpi*.config ${PX4_BINARY_DIR}/etc # source
\$\{AUTOPILOT_USER\}@\$\{AUTOPILOT_HOST\}:/home/\$\{AUTOPILOT_USER\}/px4 # destination
DEPENDS px4
COMMENT "uploading px4"
USES_TERMINAL

2
boards/scumaker/airpi2/default.cmake → boards/scumaker/pilotpi/default.cmake

@ -4,7 +4,7 @@ add_definitions( @@ -4,7 +4,7 @@ add_definitions(
px4_add_board(
VENDOR scumaker
MODEL airpi2
MODEL pilotpi
LABEL default
PLATFORM posix
ARCHITECTURE cortex-a53

0
boards/scumaker/airpi2/src/CMakeLists.txt → boards/scumaker/pilotpi/src/CMakeLists.txt

0
boards/scumaker/airpi2/src/board_config.h → boards/scumaker/pilotpi/src/board_config.h

0
boards/scumaker/airpi2/src/i2c.cpp → boards/scumaker/pilotpi/src/i2c.cpp

0
boards/scumaker/airpi2/src/spi.cpp → boards/scumaker/pilotpi/src/spi.cpp

42
platforms/posix/cmake/Toolchain-aarch64-linux-gnu.cmake

@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
# arm-linux-gnueabihf-gcc toolchain
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_SYSTEM_VERSION 1)
set(triple aarch64-linux-gnu)
set(CMAKE_LIBRARY_ARCHITECTURE ${triple})
set(TOOLCHAIN_PREFIX ${triple})
set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
set(CMAKE_C_COMPILER_TARGET ${triple})
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
set(CMAKE_CXX_COMPILER_TARGET ${triple})
set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
# compiler tools
find_program(CMAKE_AR ${TOOLCHAIN_PREFIX}-gcc-ar)
find_program(CMAKE_GDB ${TOOLCHAIN_PREFIX}-gdb)
find_program(CMAKE_LD ${TOOLCHAIN_PREFIX}-ld)
find_program(CMAKE_LINKER ${TOOLCHAIN_PREFIX}-ld)
find_program(CMAKE_NM ${TOOLCHAIN_PREFIX}-gcc-nm)
find_program(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}-objcopy)
find_program(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}-objdump)
find_program(CMAKE_RANLIB ${TOOLCHAIN_PREFIX}-gcc-ranlib)
find_program(CMAKE_STRIP ${TOOLCHAIN_PREFIX}-strip)
set(CMAKE_FIND_ROOT_PATH get_file_component(${CMAKE_C_COMPILER} PATH))
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# os tools
foreach(tool grep make)
string(TOUPPER ${tool} TOOL)
find_program(${TOOL} ${tool})
if(NOT ${TOOL})
message(FATAL_ERROR "could not find ${tool}")
endif()
endforeach()

2
posix-configs/rpi/airpi2_mc.config → posix-configs/rpi/pilotpi_mc.config

@ -26,7 +26,7 @@ then @@ -26,7 +26,7 @@ then
# some boards has ICM42605 inside
icm42605 start -s -R 4
fi
ist8310 start -X -a 15 -R 4
ist8310 start -I -a 15 -R 4
ms5611 start -I
# ADC
Loading…
Cancel
Save