forked from Infineon/TLE5012-Magnetic-Angle-Sensor
-
Notifications
You must be signed in to change notification settings - Fork 0
113 lines (93 loc) · 3.48 KB
/
arduino_ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
name: Arduino CI
# on which event should we start push, pullrequest or schedule dispatches
on:
- push
- pull_request
jobs:
build:
# python /home/des-epe-team/.arduino15/packages/Infineon/hardware/xmc/3.0.0/tools/xmc-flasher.py upload -d XMC1100-0064 -p /dev/ttyACM0 -f /tmp/arduino/sketches/B91C01BFF3AB128A10FE7B23FF310E46/readAngleTest.ino.hex
# we run this on selhosted runner, use labels to be more specific
runs-on:
- self-hosted
- X64
- Linux
strategy:
matrix:
example: [
# examples/E9000SPC,
# examples/readAngleSpeedRevolutions,
examples/readAngleTest,
# examples/readAngleValueProcessing,
# examples/readMultipleRegisters,
# examples/readSpeedProcessing,
# examples/sensorRegisters,
# examples/sensorType,
# examples/testSensorMainValues,
# examples/useMultipleSensors,
# examples/writeRegisters
]
# board packages we want to run
platform: [
"arduino:avr",
"infineon:xmc"
]
include:
- platform: "arduino:avr"
fqbn: arduino:avr:uno
- platform: "infineon:xmc"
fqbn: Infineon:xmc:XMC1100_XMC2GO
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Arduino CLI
uses: arduino/setup-arduino-cli@master
- name: Set and check environment, install repos
run: |
ln -sfn /opt/XMC-for-Arduino ~/.arduino15/packages/Infineon
mkdir -p "$HOME/Arduino/libraries"
ln -sf $GITHUB_WORKSPACE/ $HOME/Arduino/libraries/magnetic-angle-sensor
- name: Install/Update Arduino Platform
run: |
arduino-cli core update-index
arduino-cli core install ${{ matrix.platform }}
- name: Compile Sketch
run: |
arduino-cli compile --fqbn ${{ matrix.fqbn }} --libraries="." --libraries="$HOME/Arduino/libraries/." ${{ matrix.example }}
deploy:
needs: build
runs-on:
- self-hosted
- X64
- Linux
strategy:
max-parallel: 1
matrix:
example: [
examples/readAngleTest,
]
# board packages we want to run
platform: [
"infineon:xmc"
]
include:
- platform: "infineon:xmc"
fqbn: Infineon:xmc:XMC1100_XMC2GO
port_name: infineon.xmc.XMC1100_XMC2GO.magnetic-angle-sensor.port_serial.0
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Arduino CLI
uses: arduino/setup-arduino-cli@master
- name: Compile Sketch
run: |
ln -sfn /opt/XMC-for-Arduino ~/.arduino15/packages/Infineon
mkdir -p "$HOME/Arduino/libraries"
ln -sf $GITHUB_WORKSPACE/ $HOME/Arduino/libraries/magnetic-angle-sensor
arduino-cli compile --fqbn ${{ matrix.fqbn }} --libraries="." --libraries="$HOME/Arduino/libraries/." ${{ matrix.example }} --export-binaries
- name: Deploy
run: |
cd /opt/runner_support/
export SERIAL_NUM=`cat ./board2port.yaml | shyaml get-value ${{ matrix.port_name}}`
export PORT=`./find_usb.sh $SERIAL_NUM`
echo $PORT
python $HOME/.arduino15/packages/Infineon/hardware/xmc/3.0.0/tools/xmc-flasher.py upload -d XMC1402-0064 -p $PORT -f "$HOME/Arduino/libraries/magnetic-angle-sensor/examples/readAngleTest/build/Infineon.xmc.XMC1100_XMC2GO/*.hex"