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) rebase of CxPilot5.1.1 on Ardupilot 4.4.4 #121

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
3ddc24b
AP_BattMonitor: Addition of AD7091R5 ADC I2C Read Driver
loki077 Mar 22, 2024
898fdaf
AP_BattMonitor: Merge in polynomial fit structure to FuelLevel_Analog
loki077 Mar 22, 2024
bf661be
AP_Compass: Add in QMC5883P Driver
loki077 Mar 22, 2024
35dc63d
Tools : Decode_devid Add Compass QMC5883P, AK09915
loki077 Jan 21, 2022
3181412
AP_Periph: CarbonixL496 crystal hwdef changes
Jono453 Oct 10, 2023
9fe7509
AP_HAL_ChibiOS: Add in CarbonixF405 QMC5883P compass enable
Jono453 Nov 11, 2023
4c1bb6e
AP_Relay: make set() method public
tridge Nov 10, 2023
fbcbd35
AP_ICEngine: support relay for ignition and I2C for starter
tridge Nov 15, 2023
65df55c
AP_Math: add F_TO_KELVIN and C_TO_F
peterbarker Nov 9, 2023
2962d22
AP_EFI: Hirth Driver Addition
loki077 Mar 22, 2024
fa87d6c
AP_EFI: fixed build on boards without EFI support
loki077 Mar 22, 2024
431e1f2
CI: update github actions to prevent nodejs version warning
loki077 Mar 22, 2024
3d9fdb3
CI: update github action to remove deprecation warnings from logs
loki077 Mar 22, 2024
2f0a3a1
CI: Update to master & limit push run of CI
loki077 Mar 22, 2024
8827c4e
Tools: cygwin directory name changed to Private repo name
loki077 Nov 21, 2023
1b23b63
CI: Cygwin update to master
loki077 Mar 22, 2024
6178859
CI: disable Copter.GyroFFTAverage
loki077 Mar 22, 2024
64241fe
AP_EFI: fixed build on boards without EFI support Currawong and DroneCAN
loki077 Mar 22, 2024
a5d0d3c
AP_Periph: Adds user configurable timeout for ARM and ESC pkt on CAN
loki077 Mar 22, 2024
853ae04
AP_UAVCAN: allow BRD_SAFETY_MASK to work on CAN ESCs and servos
loki077 Mar 22, 2024
735dfd7
AP_Periph: add support for APD ESC telemetry
loki077 Mar 22, 2024
94105ca
AP_Math: Add fletcher16 CRC
WickedShell Mar 2, 2021
f6f58ce
AP_BattMonitor: patch for fuel level calibration function from ottanoX
Jono453 Nov 21, 2023
a9de99b
CI: Carbonix Custom Repo Path Name
loki077 Mar 22, 2024
d76c5ec
AP_Compass: mods (Needs to be squashed latter)
loki077 Mar 22, 2024
3348b12
AP_EFI: modification needs to be squashed later
loki077 Mar 22, 2024
74e0f40
Tools: Carbonix build script
loki077 Nov 22, 2023
d8e0f84
hwdef: add CarbonixCubeOrange
loki077 Nov 27, 2023
99aa421
hwdef: modifying CarbonixF405 board
loki077 Nov 22, 2023
e7dfb6b
hwdef: Ottano custom CAN node boards
loki077 Nov 23, 2023
76e1b11
hwdef: Volanti custom CAN node boards
loki077 Nov 23, 2023
32a4dc4
Tools: Bug fix Arm check timeout on Periph
loki077 Nov 22, 2023
ad054b8
hwdef: CarbonixL496 add QMC588P check
loki077 Nov 23, 2023
bf2d5a0
ESC_APD : Correct current reading
Pradeep-Carbonix Nov 27, 2023
3f8f71a
Tools: rebuild Carbonix Custom Board bootloaders
loki077 Nov 27, 2023
ce3daed
AP_Periph: print version name
loki077 Nov 28, 2023
2536663
CI: Carbonix build script added
loki077 Nov 28, 2023
a9cc5bf
AP_Periph: fix arm_update_status missing update
robertlong13 Dec 6, 2023
2789bc2
HWDEF : cleanup params
Pradeep-Carbonix Nov 29, 2023
8c02596
hwdef: CarbonixCubeOrange default param update
loki077 Dec 20, 2023
d2f100f
Parameter docs Update: modified multiple param comments
loki077 Jan 4, 2024
c2385bb
Tools: Carbonix board Build script
loki077 Jan 8, 2024
1ef494f
hwdef: Removal of Custom Firmware define from Carbonix boards
loki077 Mar 22, 2024
0ecc4ad
AP_Common: AP_FWVersion Added define for CarboPilot firmware version
loki077 Jan 9, 2024
4a7bb39
Tools: Carbonix waf build update to add define CARBOPILOT=1
loki077 Jan 9, 2024
78b20b4
workflow: Carbonix CI build update to add define CARBOPILOT=1
loki077 Jan 9, 2024
31b30ac
Tools: Carbonix build script name change and remove dist clean
loki077 Jan 17, 2024
40cdd8e
workflow: Carbonix Build Compare
loki077 Jan 17, 2024
83fbe09
Parameter: CRASH_DETECT Param doc update to add 1 in value set
loki077 Feb 4, 2024
26da68f
AP_EFI : Addition of Engine Information over Mavlink
Pradeep-Carbonix Feb 8, 2024
92b3c32
CI : build.zip file changes
Pradeep-Carbonix Feb 8, 2024
c50cd01
Servo: CAN servo telemetry data for MKS/Zeus servos
loki077 Mar 22, 2024
e5de198
Adding ThM (modified throttle send to engine) to EFIS log
Pradeep-Carbonix Feb 20, 2024
71fb740
AP_Scripting: Lua bindings for safety checks ESC, MotorsMatrix, EFI
loki077 Mar 22, 2024
412ad33
AP_Scripting: added QUIK_MAX_REDUCE parameter to VTOL-quicktune.lua
loki077 Mar 22, 2024
f5e7850
AP_Scripting: prevent "Starting XXX tune" happening multiple times
tridge Mar 12, 2024
cc708e0
AP_ICEngine: don't allow engine run with safety on
Pradeep-Carbonix Mar 19, 2024
d4c24f2
AP_ICEngine: Add CRANK_DIR for direction control of TCA9554 Engine
loki077 Mar 19, 2024
bc1b169
AP_Logger: Servo logging fix (need to be squashed)
loki077 Mar 22, 2024
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
208 changes: 208 additions & 0 deletions .github/workflows/carbonix_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
name: Build and Archive

on:
push:
branches:
- CxPilot
- master
paths-ignore:
# remove non chibios HAL
- 'libraries/AP_HAL_Linux/**'
- 'libraries/AP_HAL_ESP32/**'
- 'libraries/AP_HAL_SITL/**'
# remove non stm directories
- 'Tools/CHDK-Script/**'
- 'Tools/CodeStyle/**'
- 'Tools/completion/**'
- 'Tools/debug/**'
- 'Tools/environment_install/**'
- 'Tools/FilterTestTool/**'
- 'Tools/Frame_params/**'
- 'Tools/geotag/**'
- 'Tools/GIT_Test/**'
- 'Tools/gittools/**'
- 'Tools/Hello/**'
- 'Tools/LogAnalyzer/**'
- 'Tools/mavproxy_modules/**'
- 'Tools/Pozyx/**'
- 'Tools/PrintVersion.py'
- 'Tools/Replay/**'
- 'Tools/simulink/**'
- 'Tools/UDP_Proxy/**'
- 'Tools/vagrant/**'
- 'Tools/Vicon/**'
# Remove vehicles autotest we need support of test_build_option.py in the Tools/autotest directory
- 'Tools/autotest/antennatracker.py'
- 'Tools/autotest/arduplane.py'
- 'Tools/autotest/ardusub.py'
- 'Tools/autotest/balancebot.py'
- 'Tools/autotest/location.txt'
- 'Tools/autotest/quadplane.py'
- 'Tools/autotest/rover.py'
- 'Tools/autotest/sailboat.py'
- 'Tools/autotest/swarminit.txt'
# Remove markdown files as irrelevant
- '**.md'
# Remove dotfile at root directory
- './.dir-locals.el'
- './.dockerignore'
- './.editorconfig'
- './.flake8'
- './.gitattributes'
- './.github'
- './.gitignore'
- './.pre-commit-config.yaml'
- './.pydevproject'
- './.valgrind-suppressions'
- './.valgrindrc'
- 'Dockerfile'
- 'Vagrantfile'
- 'Makefile'
# Remove some directories check
- '.vscode/**'
- '.github/ISSUE_TEMPLATE/**'

pull_request:
paths-ignore:
# remove non chibios HAL
- 'libraries/AP_HAL_Linux/**'
- 'libraries/AP_HAL_ESP32/**'
- 'libraries/AP_HAL_SITL/**'
# remove non stm directories
- 'Tools/CHDK-Script/**'
- 'Tools/CodeStyle/**'
- 'Tools/completion/**'
- 'Tools/debug/**'
- 'Tools/environment_install/**'
- 'Tools/FilterTestTool/**'
- 'Tools/Frame_params/**'
- 'Tools/geotag/**'
- 'Tools/GIT_Test/**'
- 'Tools/gittools/**'
- 'Tools/Hello/**'
- 'Tools/LogAnalyzer/**'
- 'Tools/mavproxy_modules/**'
- 'Tools/Pozyx/**'
- 'Tools/PrintVersion.py'
- 'Tools/Replay/**'
- 'Tools/simulink/**'
- 'Tools/UDP_Proxy/**'
- 'Tools/vagrant/**'
- 'Tools/Vicon/**'
# Remove vehicles autotest we need support of test_build_option.py in the Tools/autotest directory
- 'Tools/autotest/antennatracker.py'
- 'Tools/autotest/arduplane.py'
- 'Tools/autotest/ardusub.py'
- 'Tools/autotest/autotest.py'
- 'Tools/autotest/balancebot.py'
- 'Tools/autotest/common.py'
- 'Tools/autotest/examples.py'
- 'Tools/autotest/quadplane.py'
- 'Tools/autotest/rover.py'
- 'Tools/autotest/sailboat.py'
- 'Tools/autotest/**.txt'
- 'Tools/autotest/logger_metadata/**'
- 'Tools/autotest/param_metadata/**'
# Remove markdown files as irrelevant
- '**.md'
# Remove dotfile at root directory
- './.dir-locals.el'
- './.dockerignore'
- './.editorconfig'
- './.flake8'
- './.gitattributes'
- './.github'
- './.gitignore'
- './.pre-commit-config.yaml'
- './.pydevproject'
- './.valgrind-suppressions'
- './.valgrindrc'
- 'Dockerfile'
- 'Vagrantfile'
- 'Makefile'
# Remove some directories check
- '.vscode/**'
- '.github/ISSUE_TEMPLATE/**'

concurrency:
group: ci-${{github.workflow}}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-20.04
container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29
strategy:
fail-fast: false # don't cancel if a job from the matrix fails
matrix:
toolchain: [
chibios,
#chibios-clang,
]
gcc: [10]
exclude:
- gcc: 10
toolchain: chibios-clang

steps:
# git checkout the PR
- uses: actions/checkout@v3
with:
submodules: 'recursive'
# Put ccache into github cache for faster build
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
run: |
NOW=$(date -u +"%F-%T")
echo "timestamp=${NOW}" >> $GITHUB_OUTPUT
- name: ccache cache files
uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{github.workflow}}-ccache- # restore ccache from either previous build on this branch or on master
- name: setup ccache
run: |
. .github/workflows/ccache.env

- name: build Carbonix Flight Controller
shell: bash
run: |
boards=("CubeOrange" "CarbonixCubeOrange" "sitl")
for board in "${boards[@]}"; do
echo "Compiling AP_Periph for $board..."
./Tools/scripts/build_bootloaders.py "$board"
./waf configure --board "$board" --define=CARBOPILOT=1
./waf plane
done
echo "Script completed successfully."
- name: build Carbonix Periph boards
shell: bash
run: |
boards=("CarbonixF405" "Volanti-M1" "Volanti-M2" "Volanti-M3" "Volanti-M4" "Volanti-M5" "Volanti-LWing" "Volanti-RWing" "Volanti-LTail" "Volanti-RTail" "Ottano-M1" "Ottano-M2" "Ottano-M3" "Ottano-M4" "Ottano-M5" "Ottano-LWing" "Ottano-RWing" "Ottano-LTail" "Ottano-RTail")
for board in "${boards[@]}"; do
echo "Compiling AP_Periph for $board..."
./Tools/scripts/build_bootloaders.py "$board"
./waf configure --board "$board" --define=CARBOPILOT=1
./waf AP_Periph
done
echo "Script completed successfully."
- name: Check build files
id: check_files
uses: andstor/file-existence-action@v2
with:
files: "build/CubeOrange/*, build/CarbonixCubeOrange/*, build/sitl/*, build/CarbonixF405/*, build/Volanti-M1/*, build/Volanti-M2/*, build/Volanti-M3/*, build/Volanti-M4/*, build/Volanti-M5/*, build/Volanti-LWing/*, build/Volanti-RWing/*, build/Volanti-LTail/*, build/Volanti-RTail/*, build/Ottano-M1/*, build/Ottano-M2/*, build/Ottano-M3/*, build/Ottano-M4/*, build/Ottano-M5/*, build/Ottano-LWing/*, build/Ottano-RWing/*, build/Ottano-LTail/*, build/Ottano-RTail/*"
fail: true
- name: Install zip utility
run: sudo apt-get install zip
- name: Archive build output
run: |
echo build/*/bin/ | xargs -n 1 cp -v ArduPlane/ReleaseNotes.txt
cp -v ArduPlane/ReleaseNotes.txt build/
zip -r build-output.zip build/*/bin/*
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: compiled-output
path: build-output.zip
retention-days: 90
128 changes: 128 additions & 0 deletions .github/workflows/cx_build_compare.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: Compare Build Outputs

on:
pull_request:
types: [labeled]

concurrency:
group: ci-${{github.workflow}}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-compare:
if: github.event.label.name == 'CX_NO_CODE_CHANGE'
runs-on: ubuntu-20.04

container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29
strategy:
fail-fast: false # don't cancel if a job from the matrix fails
matrix:
toolchain: [
chibios,
]
gcc: [10]
exclude:
- gcc: 10
toolchain: chibios-clang
board: ["CarbonixCubeOrange", "Volanti-M1", "Volanti-M2", "Volanti-M3", "Volanti-M4", "Volanti-M5", "Volanti-LWing", "Volanti-RWing", "Volanti-LTail", "Volanti-RTail", "Ottano-M1", "Ottano-M2", "Ottano-M3", "Ottano-M4", "Ottano-M5", "Ottano-LWing", "Ottano-RWing", "Ottano-LTail", "Ottano-RTail"]
steps:
# git checkout the PR
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'

# Put ccache into github cache for faster build
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
run: |
NOW=$(date -u +"%F-%T")
echo "timestamp=${NOW}" >> $GITHUB_OUTPUT

- name: ccache cache files
uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{github.workflow}}-ccache- # restore ccache from either previous build on this branch or on master

- name: setup ccache
run: |
. .github/workflows/ccache.env

- name: Check if Hwdef directory has been modified
run: |
git fetch origin ${{ github.event.pull_request.base.ref }}
CHANGED=$(git diff --quiet HEAD origin/${{ github.event.pull_request.base.ref }} -- libraries/AP_HAL_ChibiOS/hwdef || echo "changed")
if [ "$CHANGED" = "changed" ]; then
echo "Directory has been modified"
exit 1
fi

- name: Build Head and ${{ github.event.pull_request.base.ref }} ${{matrix.board}}
shell: bash
run: |
git config --global --add safe.directory ${GITHUB_WORKSPACE}
PATH="/github/home/.local/bin:$PATH"

# export some environment variables designed to get
# repeatable builds from the same source:
export CHIBIOS_GIT_VERSION="12345678"
export GIT_VERSION="abcdef"
export GIT_VERSION_INT="15"
./waf configure --board ${{matrix.board}}

./Tools/Carbonix_scripts/build_no_clean.sh ${{ matrix.board }}

NO_VERSIONS_DIR="$GITHUB_WORKSPACE/${{matrix.board}}/pr_bin_no_versions"
mkdir -p "$NO_VERSIONS_DIR"
cp -r build/${{matrix.board}}/bin/* "$NO_VERSIONS_DIR"

echo [`date`] Built Base with no versions

git checkout ${{ github.event.pull_request.base.ref }}

# export some environment variables designed to get
# repeatable builds from the same source:

export CHIBIOS_GIT_VERSION="12345678"
export GIT_VERSION="abcdef"
export GIT_VERSION_INT="15"
./Tools/Carbonix_scripts/build_no_clean.sh ${{ matrix.board }}

NO_VERSIONS_DIR="$GITHUB_WORKSPACE/${{matrix.board}}/base_branch_bin_no_versions"
mkdir -p "$NO_VERSIONS_DIR"
cp -r build/${{matrix.board}}/bin/* "$NO_VERSIONS_DIR"

echo [`date`] Built ${{ github.event.pull_request.base.ref }} with no versions

- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.board }}
path: ${{ github.workspace }}/${{ matrix.board }}
if-no-files-found: warn
retention-days: 7

- name: Compare build outputs
shell: bash
run: |
git config --global --add safe.directory ${GITHUB_WORKSPACE}
PATH="/github/home/.local/bin:$PATH"
differences_found=0

for base_file in $GITHUB_WORKSPACE/${{ matrix.board }}/base_branch_bin_no_versions/*.bin
do
base_filename=$(basename "$base_file")
diff_output=$(diff $base_file $GITHUB_WORKSPACE/${{ matrix.board }}/pr_bin_no_versions/$base_filename) || true
if [ "$diff_output" != "" ]; then
echo Failed -- Comparing $base_file and $GITHUB_WORKSPACE/${{ matrix.board }}/pr_bin_no_versions/$base_filename resulted in $diff_output
differences_found=1
else
echo Passed -- Comparing $base_file and $GITHUB_WORKSPACE/${{ matrix.board }}/pr_bin_no_versions/$base_filename
fi
done
if [ $differences_found -eq 1 ]; then
exit 1
fi

Loading
Loading