You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/development-instructions.rst
+22-17
Original file line number
Diff line number
Diff line change
@@ -13,16 +13,16 @@ Development Instructions
13
13
14
14
.. _env_dev_setup:
15
15
16
-
Environment setup
16
+
Environment Setup
17
17
------------------
18
18
19
19
#. Pre-conditions:
20
20
21
21
* Install `Arduino IDE (2.0 or higher) <https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-downloading-and-installing/>`_
22
22
* Or Install `Arduino CLI (1.0.0 or higher) <https://arduino.github.io/arduino-cli/latest/installation/>`_
23
-
* Python (you need this for upload/ flash XMC board anyways)
23
+
* Python
24
24
25
-
#. Create an ``<SKETCHBOOK>/hardware/arduino-git`` folder. Where ``<SKETCHBOOK>`` is the location of your Arduino sketchbook. The ``<SKETCHBOOK>`` default is OS-dependent:
25
+
#. Create a ``<SKETCHBOOK>/hardware/arduino-git`` folder. Where ``<SKETCHBOOK>`` is the location of your Arduino sketchbook. The ``<SKETCHBOOK>`` default is OS-dependent:
This allows quick testing of local changes during development, and keep released version.
53
+
This allows quick testing of local changes during development while keeping the released version.
54
54
55
55
#. You can check if the correct version is installed by running:
56
56
::
57
57
58
58
arduino-cli core list
59
59
60
-
you should be able to see the ``arduino-git:xmc core``.
60
+
You should be able to see the ``arduino-git:xmc core``.
61
61
62
62
#. Update all submodule included in this project:
63
63
::
64
64
65
65
git submodule update --init --recursive
66
66
67
-
If you are not familiar with submodules, check out `Git-Tools-Submodules <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_
67
+
If you are not familiar with git submodules, check out `Git-Tools-Submodules <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_
68
68
69
69
#. Start developing |:tools:|!
70
70
71
71
|:bell:|
72
-
If you encounter strange behavior with Arduino IDE during development, try cleaning up the IDE cache:
72
+
If you encounter strange behavior with Arduino IDE during development, try cleaning up the Arduino IDE's cache:
73
73
74
74
.. tabs::
75
75
76
76
.. group-tab:: Windows
77
77
78
78
.. code-block:: text
79
79
80
-
C:\User\"username"\AppData\Roaming\arduino-ide
80
+
%AppData%\arduino-ide
81
81
82
82
.. group-tab:: Linux
83
83
84
84
::
85
85
86
86
~/.config/arduino-ide
87
87
88
-
.. group-tab:: macOS
88
+
.. group-tab:: macOS
89
89
90
90
::
91
91
@@ -95,15 +95,15 @@ If you encounter strange behavior with Arduino IDE during development, try clean
95
95
Automated Build Checks
96
96
-----------------------
97
97
98
-
Currently a Github workflow is used for automatic compilation checking and releasing. Workflows are defined [here](https://github.com/Infineon/XMC-for-Arduino/tree/master/.github/workflows).
98
+
Currently a GitHub Action workflow is used for automatic compilation checking and releasing. Workflows are defined [here](https://github.com/Infineon/XMC-for-Arduino/tree/master/.github/workflows).
99
99
Before opening a Pull Request for your contribution, please add a git tag in the format `Vx.y.z` (e.g. V3.3.0) to trigger the release process in your fork and pass the compilation tests.
100
100
101
101
Creating and Maintaining Third Party Libraries
102
102
------------------------------------------------
103
103
Basics
104
104
^^^^^^^^
105
105
The Arduino IDE allows for external libraries to be added to support specific devices and functions which are not part of the core setup. For details on creating libraries see the
106
-
[Arduino library specifications](https://arduino.github.io/arduino-cli/library-specification/). If you add additional libraries to this project, make sure to [document them](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html) accordingly.
106
+
[Arduino library specification](https://arduino.github.io/arduino-cli/library-specification/). If you add additional libraries to this project, make sure to [document them](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html) accordingly.
107
107
108
108
XMC-for-Arduino Configuration
109
109
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -117,14 +117,19 @@ When creating or maintaining third party or external libraries for XMC-for-Ardui
117
117
118
118
If your library also supports other boards and architectures, add those in as well.
119
119
120
-
Validation test
120
+
Validation Test
121
121
----------------
122
-
To test the XMC4arduino, we used unity to test some of the features of the arduino core & builtin library.
122
+
To validate the XMC-for-Arduino, we utilize Unity for testing various features of the Arduino core and built-in libraries.
123
123
124
-
Tests are located in tests/arduino-core-tests and included as submodule in this project. Run ``git submodule update --init --recursive`` to update them.
124
+
Tests are located in ``tests/arduino-core-tests`` and included as submodule in this project. Run ``git submodule update --init --recursive`` to update them.
125
+
126
+
Code Checks
127
+
----------------
128
+
.. warning::
129
+
130
+
Code Checks are still a work in progress in this project.
125
131
126
-
Code checks (WIP)
127
-
----------------------
128
132
Refer to ``libraries\CAN\Makefile.codecheck``.
129
133
130
-
Regarding formatting, we currently use `pre-commit <https://pre-commit.com/>`_ to automatically run clang-formatting to format all c/c++ code. Please install this python package, and follow the quick start (the pre-commit configuration file is already there). You should be able to format your code automatically on git commit!
134
+
Regarding formatting, we currently use `pre-commit <https://pre-commit.com/>`_ to automatically run clang-formatting to format all C/C++ code.
135
+
Please install this Python package, and follow the quick start (the pre-commit configuration file is already there). You should be able to format your code automatically on git commit!
0 commit comments