Skip to content

Commit d5133c6

Browse files
committed
update lib api and example
1 parent d4760b9 commit d5133c6

37 files changed

+2214
-3367
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Source:
2+
# https://github.com/Tinyu-Zhao/M5-Depends/blob/main/.github/ISSUE_TEMPLATE/bug-report.yml
3+
# See:
4+
# https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
5+
6+
name: Bug report
7+
description: Report a problem with the code in this repository.
8+
labels:
9+
- "type: bug"
10+
body:
11+
- type: markdown
12+
attributes:
13+
value: "Thank you for opening an issue on an M5Stack Arduino library repository.\n\
14+
To improve the speed of resolution please review the following guidelines and common troubleshooting steps below before creating the issue:\n\
15+
If you have any UIFLOW questions you can ask in the [special board](https://community.m5stack.com/category/5/uiflow), there will be many enthusiastic friends to help you.\n\
16+
Do not use GitHub issues for troubleshooting projects and issues. Instead use the forums at https://community.m5stack.com to ask questions and troubleshoot why something isn't working as expected. In many cases the problem is a common issue that you will more quickly receive help from the forum community. GitHub issues are meant for known defects in the code. If you don't know if there is a defect in the code then start with troubleshooting on the forum first."
17+
- type: textarea
18+
id: description
19+
attributes:
20+
label: Describe the bug
21+
description: A clear and concise description of what the bug is.
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: reproduce
26+
attributes:
27+
label: To reproduce
28+
description: Provide the specific set of steps we can follow to reproduce the problem.
29+
placeholder: |
30+
1. In this environment...
31+
2. With this config...
32+
3. Run '...'
33+
4. See error...
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: expected
38+
attributes:
39+
label: Expected behavior
40+
description: What would you expect to happen after following those instructions?
41+
validations:
42+
required: true
43+
- type: textarea
44+
id: screenshots
45+
attributes:
46+
label: Screenshots
47+
description: If applicable, add screenshots to help explain your problem.
48+
validations:
49+
required: false
50+
- type: textarea
51+
id: information
52+
attributes:
53+
label: Environment
54+
description: |
55+
If applicable, add screenshots to help explain your problem.
56+
examples:
57+
- **OS**: Ubuntu 20.04
58+
- **IDE & IDE Version**: Arduino 1.8.19 Or Platform IO v2.5.0
59+
- **Repository Version**: 0.4.0
60+
value: |
61+
- OS:
62+
- IDE &IDE Version:
63+
- Repository Version:
64+
validations:
65+
required: false
66+
- type: textarea
67+
id: additional
68+
attributes:
69+
label: Additional context
70+
description: Add any additional information here.
71+
validations:
72+
required: false
73+
- type: checkboxes
74+
id: checklist
75+
attributes:
76+
label: Issue checklist
77+
description: Please double-check that you have done each of the following things before submitting the issue.
78+
options:
79+
- label: I searched for previous reports in [the issue tracker](https://github.com/m5stack/M5Stack/issues?q=)
80+
required: true
81+
- label: My report contains all necessary details
82+
required: true

.github/actions/action.yml

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
name: 'Test compile for Arduino'
2+
description: 'Compile sketches or Arduino library examples for one board type using arduino-cli and check for errors'
3+
author: 'Armin Joachimsmeyer'
4+
inputs:
5+
cli-version:
6+
description: 'Version of arduino-cli to use when building. Current (8/2022) one is 0.26.0.'
7+
default: 'latest'
8+
required: false
9+
10+
sketch-names:
11+
description: 'Comma sepatated list of patterns or filenames (without path) of the sketch(es) to test compile. Useful if the sketch is a *.cpp or *.c file or only one sketch in the repository should be compiled.'
12+
default: '*.ino'
13+
required: false
14+
15+
sketch-names-find-start:
16+
description: 'The start directory to look for the sketch-names to test compile. Can be a path like "digistump-avr/libraries/*/examples/C*/" .'
17+
default: '.'
18+
required: false
19+
20+
arduino-board-fqbn:
21+
#In the Arduino IDE, the fqbn is printed in the first line of the verbose output for compilation as parameter -fqbn=... for the "arduino-builder -dump-prefs" command
22+
description: 'Fully Qualified Board Name of the Arduino board. You may add a suffix behind the fqbn with "|" to specify one board for e.g. different compile options like arduino:avr:uno|trace.'
23+
default: 'arduino:avr:uno'
24+
required: false
25+
26+
arduino-platform:
27+
description: 'Comma separated list of platform specifiers, if you require a fixed version like "arduino:[email protected]" or do not want the specifier derived from the 2 first elements of the arduino-board-fqbn or need more than one core. The suffix "@latest" is always removed.'
28+
default: ''
29+
required: false
30+
31+
platform-default-url:
32+
description: 'The platform URL for the required board description if arduino-board-fqbn does not start with "arduino:" and not explicitly specified by platform-url.'
33+
default: ''
34+
required: false
35+
36+
platform-url:
37+
description: 'The platform URL for the required board description if arduino-board-fqbn does not start with "arduino:".'
38+
default: ''
39+
required: false
40+
41+
required-libraries:
42+
description: 'Comma separated list of arduino library names required for compiling the sketches / examples for this board.'
43+
default: ''
44+
required: false
45+
46+
sketches-exclude:
47+
description: 'Comma or space separated list of complete names of all sketches / examples to be excluded in the build for this board.'
48+
default: ''
49+
required: false
50+
51+
build-properties:
52+
description: |
53+
Build parameter like -DDEBUG for each example specified or for all examples, if example name is "All". In json format.
54+
For example: build-properties: '{ "WhistleSwitch": "-DDEBUG -DFREQUENCY_RANGE_LOW", "SimpleFrequencyDetector": "-DINFO" }'
55+
default: ''
56+
required: false
57+
58+
extra-arduino-cli-args:
59+
description: |
60+
This string is passed verbatim without double quotes to the arduino-cli compile commandline as last argument before the filename.
61+
See https://arduino.github.io/arduino-cli/commands/arduino-cli_compile/ for compile parameters.
62+
default: ''
63+
required: false
64+
65+
extra-arduino-lib-install-args:
66+
description: |
67+
This string is passed verbatim without double quotes to the arduino-cli lib install commandline as last argument before the library names.
68+
It can be used e.g. to suppress dependency resolving for libraries by using --no-deps as argument string.
69+
default: ''
70+
required: false
71+
72+
set-build-path:
73+
description: 'Flag to set the build directory (arduino-cli paramer --build-path) to /build subdirectory of compiled sketches.'
74+
default: 'false'
75+
required: false
76+
77+
debug-compile:
78+
description: 'If set to "true" the action logs verbose compile output even during successful builds'
79+
default: ''
80+
required: false
81+
82+
debug-install:
83+
description: 'If set to "true" the action logs verbose arduino-cli output during installation'
84+
default: ''
85+
required: false
86+
87+
runs:
88+
using: 'composite'
89+
steps:
90+
- name: Compile all sketches / examples using the bash script arduino-test-compile.sh
91+
env:
92+
# Passing parameters to the script by setting the appropriate ENV_* variables.
93+
# Direct passing as arguments is not possible because of blanks in the arguments.
94+
ENV_CLI_VERSION: ${{ inputs.cli-version }}
95+
ENV_SKETCH_NAMES: ${{ inputs.sketch-names }}
96+
ENV_SKETCH_NAMES_FIND_START: ${{ inputs.sketch-names-find-start }}
97+
ENV_ARDUINO_BOARD_FQBN: ${{ inputs.arduino-board-fqbn }}
98+
ENV_ARDUINO_PLATFORM: ${{ inputs.arduino-platform }}
99+
ENV_PLATFORM_DEFAULT_URL: ${{ inputs.platform-default-url }}
100+
ENV_PLATFORM_URL: ${{ inputs.platform-url }}
101+
ENV_REQUIRED_LIBRARIES: ${{ inputs.required-libraries }}
102+
ENV_SKETCHES_EXCLUDE: ${{ inputs.sketches-exclude }}
103+
ENV_BUILD_PROPERTIES: ${{ inputs.build-properties }}
104+
ENV_EXTRA_ARDUINO_CLI_ARGS: ${{ inputs.extra-arduino-cli-args }}
105+
ENV_EXTRA_ARDUINO_LIB_INSTALL_ARGS: ${{ inputs.extra-arduino-lib-install-args }}
106+
ENV_SET_BUILD_PATH: ${{ inputs.set-build-path }}
107+
ENV_DEBUG_COMPILE: ${{ inputs.debug-compile }}
108+
ENV_DEBUG_INSTALL: ${{ inputs.debug-install }}
109+
110+
run: ${{ github.action_path }}/arduino-test-compile.sh
111+
shell: bash
112+
113+
branding:
114+
icon: 'eye'
115+
color: 'red'

0 commit comments

Comments
 (0)