Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion .github/workflows/compile_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: Compile examples

on:
push:

paths-ignore:
- 'docs/**'
jobs:
arduino-devops:
uses: Infineon/arduino-devops/.github/workflows/compile-examples.yml@latest
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/hil_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ name: Hil Checks

on:
push:

paths-ignore:
- 'docs/**'

jobs:
makers-devops:
uses: Infineon/makers-devops/.github/workflows/hil_checks.yml@main
Expand Down
18 changes: 1 addition & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,7 @@ Please visit our [PSOC™ 6 products page](https://www.infineon.com/products/mic

## Contributing

We welcome community contributions! Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated** 👐.

If you have a suggestion that would make this better, please fork the repo and create a [pull request](https://github.com/Infineon/arduino-core-psoc6/pulls). You can also simply open a feature request [issue](https://github.com/Infineon/arduino-core-psoc6/issues).

1. [Fork](https://github.com/Infineon/arduino-core-psoc6/fork) the project
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -sm 'folder/sub-folder: Add some amazing-feature.'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a [pull request](https://github.com/Infineon/arduino-core-psoc6/pulls)

Before submitting a pull request, please check the [code of conduct](https://github.com/Infineon/arduino-core-psoc6/blob/main/CODE_OF_CONDUCT.md) and [code conventions](https://github.com/Infineon/arduino-core-psoc6/blob/main/CODE_CONVENTIONS.md) for the PSOC™ 6 for Arduino project. Thank you for following these guidelines.

Don't forget to give the project a star :star:! Thanks again!

### Important Note

Significant contributions should be aligned with the project team in advance.
We welcome contributions to the Arduino Core for Infineon's PSOC™ 6 microcontrollers. If you are interested in contributing, please follow our [contributing guidelines](https://arduino-core-psoc6.readthedocs.io/en/latest/contributing.html).

### Top Contributors

Expand Down
10 changes: 5 additions & 5 deletions docs/arduino-deviations.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Arduino API Deviations
======================

This section documents the differences between the standard Arduino Language Reference and `PSOC6-for-Arduino`.
This section documents the differences between the standard `Arduino Language Reference <https://docs.arduino.cc/language-reference/>`_ and the Arduino core for PSOC™ 6.

Digital IO
----------
Expand Down Expand Up @@ -42,7 +42,7 @@ Depending on the bits parameter, the function modifies the resolution of the ADC

void analogReference(uint8_t mode)

Only the `DEFAULT` mode is supported and uses the internal reference voltage of the PSOC6 device, which is typically 3.3V.
Only the `DEFAULT` mode is supported and uses the internal reference voltage of the PSOC™ 6 device, which is typically 3.3V.


.. code-block:: cpp
Expand Down Expand Up @@ -78,14 +78,14 @@ Advanced IO

void tone(uint8_t _pin, unsigned int frequency, unsigned long duration)

The `tone()` function in the `PSOC6-for-Arduino` core leverages the PWM (Pulse Width Modulation) peripheral to generate square wave signals at specific frequencies.
The `tone()` function in the PSOC™ 6 core leverages the PWM (Pulse Width Modulation) peripheral to generate square wave signals at specific frequencies.

Do not call `pinMode()` on the pin prior to using the `tone()` function.
The `tone()` function automatically configures the pin for output mode and sets it up internally. Calling `pinMode()` beforehand may result in unexpected behavior or conflicts with the PWM peripheral.

SPI
----------
The `PSOC6-for-Arduino` core does not support the following Arduino APIs:
The PSOC™ 6 core does not support the following Arduino APIs:

.. code-block:: cpp

Expand All @@ -112,6 +112,6 @@ Random Number Generation

void randomSeed(unsigned long seed)

The function is optional. Random seed initialization is not required because the `PSOC6-for-Arduino` core uses the hardware-based True Random Number Generator (TRNG) for generating random numbers.
The function is optional. Random seed initialization is not required because the PSOC™ 6 core uses the hardware-based True Random Number Generator (TRNG) for generating random numbers.

Calling `randomSeed(seed)` does nothing but is provided for compatibility with the standard Arduino API.
26 changes: 26 additions & 0 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Contributing
=============

We welcome community contributions! Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated** 👐.

If you have a suggestion that would make this better, please fork the repo and create a pull request for your changes as described step by step below. You can also simply open a feature request `issue <https://github.com/Infineon/arduino-core-psoc6/issues>`_.

1. `Fork <https://github.com/Infineon/arduino-core-psoc6/fork>`_ this repository
2. Create your feature branch (``git checkout -b feature/amazing-feature``)
3. Commit your changes (``git commit -sm 'folder/sub-folder: Add some amazing-feature.'``)
4. Push to the branch (``git push origin feature/amazing-feature``)
5. Open a `pull request <https://github.com/Infineon/arduino-core-psoc6/pulls>`_

Before submitting a pull request, please check the `code of conduct <https://github.com/Infineon/arduino-core-psoc6/blob/main/CODE_OF_CONDUCT.md>`_ and `code conventions <https://github.com/Infineon/arduino-core-psoc6/blob/main/CODE_CONVENTIONS.md>`_ for the PSOC™ 6 for Arduino project.

.. important::
Significant contributions should be aligned with the project team in advance. Please open an issue to discuss your ideas before starting work on a large feature or change.
This helps ensure that your contributions align with the project's goals and standards.

Additionally, the following sections might be helpful for developing and testing your contributions:

- :doc:`env-setup`
- :doc:`run-tests`
- :doc:`metafiles-naming`

Thank you for following these guidelines!
51 changes: 12 additions & 39 deletions docs/development-instructions.rst → docs/env-setup.rst
Original file line number Diff line number Diff line change
@@ -1,28 +1,5 @@
Development Instructions
=========================

.. warning::

This is a work in progress version of the Arduino Core for PSOC™ 6 documentation.
While this warning notice is present, the documentation is NOT ready for public usage.

..
TODOS:
- Contribution guidelines (move here from Contributing.md)
- Code conventions
- ....
- Tools installation:
- uncrustify
- python ?
- pip ?
- pre-commit hook?
- spellchecker
- ...

.. _env_dev_setup:

Environment Setup
------------------
=================

.. note::
| The development environment setup is (currently) only supported on **Linux** |:penguin:|.
Expand All @@ -31,39 +8,35 @@ Environment Setup

0. Obviously |:neutral_face:|, install `Arduino IDE (2.0 or higher) <https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-downloading-and-installing/>`_ or `Arduino CLI (1.0.0 or higher) <https://arduino.github.io/arduino-cli/0.24/installation/>`_.

1. Install the :ref:`Infineon PSOC™ 6 microcontroller <psoc6_core_installation>` boards package.
1. Install the PSOC™ 6 Arduino core as described :ref:`here <psoc6_core_installation>`.

2. Locate in your computer where the Arduino15 packages are installed. Usually:
2. Locate, where the Arduino15 packages are installed on your computer. Usually:

::

~/.arduino15/

.. TODO: I would postpone the Windows part, as we won´t have all the dev tools available there
c:/Users/%USERNAME%/AppData/local/Arduino15

3. From the Arduino installation location, change directories
3. Starting from the Arduino installation location, change directories:

::

cd packages/infineon/hardware/psoc6

4. Remove any existing installed "x.y.z" version of the core
4. Remove any existing installed "x.y.z" version of the core:

::

rm -rf x.y.z

.. This won´t be needed if the package is NOT installed using the .json package index installation.

5. | Clone this repo in a folder with a semver version name. A orderly practice could be to bump the existing version, and add a suffix to indicate the feature or bugfix.
| For example, from installed ``1.1.0`` to ``1.2.0-new-feature``:

::

git clone https://github.com/Infineon/arduino-core-psoc6.git 1.2.0-new-feature

You can check if the correct version is installed by running
You can check if the correct version is installed by running:

::

Expand Down Expand Up @@ -91,12 +64,12 @@ Environment Setup

.. _dev_manual_setup:

Manual setup
Manual Setup
------------

| This section describes the manual setup of the development environment for the Infineon PSOC™ 6 microcontroller core.
| This section describes the manual setup of the development environment for the Arduino core for PSOC™ 6.
| You can consider this a detailed explanation of the development setup process.
| Unless you want to know the details |:detective:|, it is easier and recommended to use the automated setup script |:scroll:| in :ref:`Environment setup <env_dev_setup>`.
| Unless you want to know the details |:detective:|, it is easier and recommended to use the automated setup script |:scroll:| in :doc:`env-setup`.

Installing the ArduinoCore-API
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -123,20 +96,20 @@ Installing the ArduinoCore-API

cd packages/infineon/hardware/psoc6/<x.y.z>

3. Initialize the ArduinoCore-API submodule
3. Initialize the ArduinoCore-API submodule:

::

git submodule update --init --recursive


4. Change directories
4. Change directories:

::

cd cores/psoc6

5. Copy or symlink the ``api`` folder from the ArduinoCore-API submodule
5. Copy or symlink the ``api`` folder from the ArduinoCore-API submodule:

.. tabs::

Expand Down
5 changes: 0 additions & 5 deletions docs/hw-platforms.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
Supported Boards
=================

.. warning::

This is a work in progress version of the Arduino Core for PSOC™ 6 documentation.
While this warning notice is present, the documentation is NOT ready for public usage.

List of supported PSOC™ 6 boards:

.. list-table::
Expand Down
18 changes: 10 additions & 8 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
Arduino Core for PSOC™ 6
*************************

.. warning::

This is a work in progress version of the Arduino Core for PSOC™ 6 documentation.
While this warning notice is present, the documentation is NOT ready for public usage.

Welcome to the Arduino Core for Infineon's PSOC™ 6 microcontrollers.

.. image:: img/board_CY8CKIT-062S2-AI.png
Expand All @@ -19,10 +14,17 @@ Welcome to the Arduino Core for Infineon's PSOC™ 6 microcontrollers.
Introduction<self>
installation-instructions
hw-platforms
development-instructions
arduino-deviations
run-tests
supported-features

.. toctree::
:maxdepth: 1
:caption: CONTRIBUTING
:hidden:

Introduction <contributing>
env-setup
run-tests
metafiles-naming

License
=======
Expand Down
4 changes: 0 additions & 4 deletions docs/installation-instructions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
Installation Instructions
=========================

.. warning::

This is a work in progress version of the Arduino Core for PSOC™ 6 documentation.
While this warning notice is present, the documentation is NOT ready for public usage.

Integration in Arduino IDE
--------------------------
Expand Down
Loading
Loading