Skip to content

Commit 318e421

Browse files
authored
Merge develop for 1.6.0 release
Develop
2 parents 0dcbd58 + 6a8cee3 commit 318e421

File tree

65 files changed

+2572
-1584
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2572
-1584
lines changed
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
2+
name: Compile Examples
3+
4+
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
5+
on:
6+
push:
7+
paths:
8+
- ".github/workflows/compile-platform-examples.ya?ml"
9+
- "cores/**"
10+
- "libraries/**"
11+
- "variants/**"
12+
- "boards.txt"
13+
- "platform.txt"
14+
pull_request:
15+
paths:
16+
- ".github/workflows/compile-platform-examples.ya?ml"
17+
- "cores/**"
18+
- "libraries/**"
19+
- "variants/**"
20+
- "boards.txt"
21+
- "platform.txt"
22+
workflow_dispatch:
23+
repository_dispatch:
24+
25+
jobs:
26+
build:
27+
name: ${{ matrix.board.fqbn }}
28+
runs-on: ubuntu-latest
29+
30+
env:
31+
SKETCHES_REPORTS_PATH: sketches-reports
32+
33+
strategy:
34+
fail-fast: false
35+
36+
matrix:
37+
board:
38+
- fqbn: Infineon:arm:XMC1100_Boot_Kit
39+
i2s: true
40+
dieTemp: true
41+
heapMem: true
42+
sleep1100: true
43+
sleep4700 : false
44+
stackMem: true
45+
multiSerial: false
46+
dma: false
47+
alarmRtc: false
48+
- fqbn: Infineon:arm:XMC1100_XMC2GO
49+
i2s: true
50+
dieTemp: true
51+
heapMem: true
52+
sleep1100: true
53+
sleep4700 : false
54+
stackMem: true
55+
multiSerial: false
56+
dma: false
57+
alarmRtc: false
58+
- fqbn: Infineon:arm:XMC1100_H_BRIDGE2GO
59+
i2s: false
60+
dieTemp: true
61+
heapMem: true
62+
sleep1100: true
63+
sleep4700 : false
64+
stackMem: true
65+
multiSerial: false
66+
dma: false
67+
alarmRtc: false
68+
- fqbn: Infineon:arm:XMC1300_Boot_Kit
69+
i2s: false
70+
dieTemp: true
71+
heapMem: true
72+
sleep1100: true
73+
sleep4700 : false
74+
stackMem: true
75+
multiSerial: false
76+
dma: false
77+
alarmRtc: false
78+
# - fqbn: Infineon:arm:XMC1300_Sense2GoL
79+
# serial: true
80+
- fqbn: Infineon:arm:XMC4400_Platform2GO
81+
i2s: false
82+
dieTemp: false
83+
heapMem: false
84+
sleep1100: false
85+
sleep4700 : false
86+
stackMem: true
87+
multiSerial: false
88+
dma: false
89+
alarmRtc: true
90+
- fqbn: Infineon:arm:XMC4700_Relax_Kit
91+
i2s: true
92+
dieTemp: true
93+
heapMem: true
94+
sleep1100: false
95+
sleep4700 : true
96+
stackMem: true
97+
multiSerial: true
98+
dma: true
99+
alarmRtc: true
100+
101+
# Make board type-specific customizations to the matrix jobs
102+
include:
103+
- board:
104+
i2s: true
105+
i2s-sketch-paths: |
106+
- libraries/I2S
107+
- board:
108+
dieTemp: true
109+
dieTemp-sketch-paths: |
110+
- libraries/DeviceControlXMC/examples/DieTemperatureMeasurement
111+
- board:
112+
heapMem: true
113+
heapMem-sketch-paths: |
114+
- libraries/DeviceControlXMC/examples/HeapMemoryMeasurement
115+
- board:
116+
sleep1100: true
117+
sleep1100-sketch-paths: |
118+
- libraries/DeviceControlXMC/examples/SleepModeXMC1100
119+
- board:
120+
sleep4700: true
121+
sleep4700-sketch-paths: |
122+
- libraries/DeviceControlXMC/examples/SleepModeXMC4700
123+
- board:
124+
stackMem: true
125+
stackMem-sketch-paths: |
126+
- libraries/DeviceControlXMC/examples/StackMemoryMeasurement
127+
- board:
128+
multiSerial: true
129+
multiSerial-sketch-paths: |
130+
- libraries/Multi-Serial
131+
- board:
132+
dma: true
133+
dma-sketch-paths: |
134+
- libraries/DMA
135+
- board:
136+
alarmRtc: true
137+
alarmRtc-sketch-paths: |
138+
- libraries/RTC/examples/AlarmRTC
139+
140+
steps:
141+
- name: Checkout repository
142+
uses: actions/checkout@v2
143+
144+
- name: Compile examples
145+
uses: arduino/compile-sketches@v1
146+
with:
147+
github-token: ${{ secrets.GITHUB_TOKEN }}
148+
fqbn: ${{ matrix.board.fqbn }}
149+
platforms: |
150+
# Use Boards Manager to install the latest release of the platform to get the toolchain.
151+
- name: Infineon:arm
152+
source-url: https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
153+
154+
- source-path: ./
155+
name: Infineon:arm
156+
sketch-paths: |
157+
# Compile these sketches for all boards
158+
- libraries/IFX9201
159+
- libraries/LED
160+
- libraries/OneWire
161+
- libraries/RTC/examples/SimpleRTC
162+
- libraries/SPI
163+
- libraries/Sense2Go
164+
- libraries/Ultrasonic
165+
- libraries/Wire
166+
# Board-specific sketches
167+
${{ matrix.i2s-sketch-paths }}
168+
${{ matrix.dieTemp-sketch-paths }}
169+
${{ matrix.heapMem-sketch-paths }}
170+
${{ matrix.sleep1100-sketch-paths }}
171+
${{ matrix.sleep4700-sketch-paths }}
172+
${{ matrix.stackMem-sketch-paths }}
173+
${{ matrix.multiSerial-sketch-paths }}
174+
${{ matrix.dma-sketch-paths }}
175+
${{ matrix.alarmRtc-sketch-paths }}
176+
enable-deltas-report: true
177+
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
178+
179+
- name: Save sketches report as workflow artifact
180+
uses: actions/upload-artifact@v2
181+
with:
182+
if-no-files-found: error
183+
path: ${{ env.SKETCHES_REPORTS_PATH }}
184+
name: ${{ env.SKETCHES_REPORTS_PATH }}

.travis.yml

Lines changed: 0 additions & 86 deletions
This file was deleted.

Contributors.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# XMC-for-Arduino
2+
## Contributing to XMC-for-Arduino Project
3+
First important point **All Contributions** are welcomed.
4+
5+
Please contribute and raise issues via the [github repository](https://github.com/Infineon/XMC-for-Arduino/tree/develop)
6+
7+
Check the **develop** branch for any Beta releases fixes for any issues you may find.
8+
9+
General points on repository branches and flow
10+
11+
1. _master_ branch is intended to be copy of release version
12+
2. Please make Pull Requests to _develop_ branch for review, inclusion and availability for others
13+
3. At next release _develop_ is merged into _master_ for release
14+
4. Other branches are for other tests and not to be treated as anything but work in progress for now
15+
5. Check [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information

Libraries.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# XMC-for-Arduino
2+
## Creating and Maintaining Third Party Libraries
3+
### Background
4+
The Arduino IDE allows for external libraries to be added to support devices and functions
5+
not in the core setup. For details on creating libraries see the
6+
[Arduino Library Specifications](https://arduino.github.io/arduino-cli/library-specification/)
7+
### XMC-for-Arduino Configuration
8+
In order that a library, that is specific to one architecture or board type is only
9+
compiled when a supporting board is setup, this specification has a setting for the
10+
*architecture* the library will work on. The *library.properties* file *architecture*
11+
setting is shortly going to be changed from a confusing *arm* name to a less confusing
12+
name of *xmc*, to avoid any confusions for those using multiple boards and architectures
13+
for third party libraries compatibility.
14+
### XMC-for-Arduino Architecture Settings to use
15+
Currently third party and other external libraries use the *library.properties*
16+
*architecture* setting to define which board architecture the library is compiled for
17+
The XMC-for-Arduino **current** setting for **up to V1.50** is -
18+
~~~
19+
architecture=arm
20+
~~~
21+
22+
When creating or maintaining third party or external libraries please use *library.properties*
23+
*architecture* setting for versions **V1.5.0 and above** -
24+
~~~
25+
architecture=xmc,arm
26+
~~~
27+
The Arduino IDE on compilation will work out which one to use automatically, avoiding any strange updating issues.
28+
At a later stage to be announced, it will be recommended to change to
29+
~~~
30+
architecture=xmc
31+
~~~
32+
As all newer versions will be using architecture *xmc*.
33+
34+
If your library ALSO supports other boards and architectures, obviously leave those in as well.
35+
36+
Check [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ In the boards list **Tools** > **Board**, the XMC microcontroller boards are add
8787
* The XMC1100 Boot Kit has limitations if compared to the official Arduino boards (consult the [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for more information)
8888
* Refer also to the LICENSE.md/txt file for further information
8989
* Arduino 1.8.0 IDE might have problems with the XMC-for-Arduino releases
90+
* XMC-for-Arduino support for 'arm-linux-gnueabihf' only until version 1.1.
9091

9192
### Using PlatformIO IDE
9293

@@ -97,6 +98,13 @@ In the boards list **Tools** > **Board**, the XMC microcontroller boards are add
9798
Cloud9, Codeanywhere, Eclipse Che (Codenvy), Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, and VSCode
9899
- [Project Examples](https://github.com/Infineon/platformio-infineonxmc/tree/master/examples)
99100

101+
## Contributing and Third Party Libraries
102+
To contribute enhancements, fixes and the like see *Contributors.md*. in root folder
103+
104+
Third Party or external library maintainers see *Libraries.md*. in root folder
105+
106+
Also see [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information
107+
100108
## Additional Contributors
101109

102110
* [Paul Carpenter](https://github.com/techpaul)

0 commit comments

Comments
 (0)