diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 00000000..d01a4b50
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,23 @@
+name: Build docs
+
+on:
+ push:
+ pull_request:
+ paths:
+ - docs/**
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ - name: Install Python packages
+ run: pip install -r docs/requirements.txt
+ - name: Build docs
+ run: make -C docs/ html
diff --git a/.github/workflows/publish_docs_to_wiki.yml b/.github/workflows/publish_docs_to_wiki.yml
deleted file mode 100644
index 6bd04657..00000000
--- a/.github/workflows/publish_docs_to_wiki.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Publish docs to Wiki
-
-# Trigger this action only if there are changes pushed to the docs/** directory under the master branch
-on:
- push:
- paths:
- - docs/** # This includes all sub folders
- branches:
- - master
-
-env:
- USER_TOKEN: ${{ secrets.WIKI_ACTION_TOKEN }} # This is the repository secret
- USER_NAME: github-actions # Enter the username of your (bot) account
- USER_EMAIL: action@github.com # Enter the e-mail of your (bot) account
- OWNER: ${{ github.event.repository.owner.name }} # This is the repository owner
- REPOSITORY_NAME: ${{ github.event.repository.name }} # This is the repository name
-
-jobs:
- publish_docs_to_wiki:
- name: Publish docs to Wiki
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- # 1. Create folder named `tmp_wiki`
- # 2. Initialize Git
- # 3. Pull old Wiki content
- - name: Pull content from wiki
- run: |
- mkdir tmp_wiki
- cd tmp_wiki
- git init
- git config user.name $USER_NAME
- git config user.email $USER_EMAIL
- git pull https://$USER_TOKEN@github.com/$OWNER/$REPOSITORY_NAME.wiki.git
- # 4. Synchronize differences between `docs` & `tmp_wiki`
- # 5. Push new Wiki content
- - name: Push content to wiki
- run: |
- rsync -av --delete docs/ tmp_wiki/ --exclude .git
- cd tmp_wiki
- git add .
- git commit -m "Update Wiki content"
- git push -f --set-upstream https://$USER_TOKEN@github.com/$OWNER/$REPOSITORY_NAME.wiki.git master
\ No newline at end of file
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 00000000..9712e405
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,22 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the version of Python and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.11"
+
+# Build documentation in the docs/ directory with Sphinx
+sphinx:
+ configuration: docs/conf.py
+
+# We recommend specifying your dependencies to enable reproducible builds:
+# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
+python:
+ install:
+ - requirements: docs/requirements.txt
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3ae89b6c..7168fee0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,64 +1,47 @@
-# XMC-for-Arduino
-## Contributing to XMC-for-Arduino Project
-First important point **All Contributions** are welcomed.
+# Contributing to XMC for Arduino
+First important point: **All Contributions** are welcomed :open_hands:.
-Please contribute and raise issues via the [github repository](https://github.com/Infineon/XMC-for-Arduino/tree/develop)
+Please contribute and raise issues via the [github repository](https://github.com/Infineon/XMC-for-Arduino/tree/master)
-Check the **develop** branch for any Beta releases fixes for any issues you may find.
+### Overview for Contributors
-## Developer notes
+- Start your contribution by creating a [fork](https://github.com/Infineon/XMC-for-Arduino/fork) of this repository
+- It's recommended to create a separate branch for your contribution in your fork
+- Once your contribution is ready & tested, please create a [Pull Request](https://github.com/Infineon/XMC-for-Arduino/compare) to the master branch
+- Once we merged your changes to the master branch, they are automatically included in the next release
-### General points on repository branches and flow
-
-1. _master_ branch is intended to be copy of release version
-2. Please make Pull Requests to _develop_ branch for review, inclusion and availability for others
-3. At next release _develop_ is merged into _master_ for release
-4. Other branches are for other tests and not to be treated as anything but work in progress for now
-5. Check [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information
-
-### Develop Built-in Library
-
-
Reference to other libraries in the libraris folder. Typically required files include:
-
-
source
-
library.properties
-
keywords.txt
-
README.md
-
-
Check out the official arduino libraries and try to keep the API consistent
-
Add Compilation test in github workflow
-
Update documentation ( README, github wiki...)
-
-
-### Add new XMC Board
-
-### Local Running using Arduino IDE (**ON WINDOWS**):
-Clone the repository in arduino folder:
-- Open Arduino and install any Infineon XMC library (e.g. 2.2.0)
-- Open the library location in Arduino program folder
-`C:\Users\"USERNAME"\AppData\Local\Arduino15\packages\Infineon\hardware\xmc`
+### Testing in Arduino IDE (on Windows)
+Clone the repository in Arduino folder:
+- Open Arduino and install any version of this project as described [here](https://xmc-arduino.readthedocs.io/en/latest/installation-instructions.html).
+- Open the installation location in your Arduino program folder, e.g.
+`C:\Users\\AppData\Local\Arduino15\packages\Infineon\hardware\xmc`
- Open git bash, type command:
-`git clone "HTTP_SSH_REPOSITORY" "LIBRARY_VERSION (e.g. 2.2.0)"`
-
-This is a workaround for current local compilation/testing.
+`git clone `
-### CICD
+This allows quick testing of local changes during development.
-Currently github workflow is used for automaticaly build test and release. Workflows are defined by YAML file in the `.github/workflows` directory.
-To merge your PR, please try to 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.
+[!TIP]
+If you encounter strange behavior with Arduino IDE during development, try cleaning up the cache:
+* Windows: `C:\User\"username"\AppData\Roaming\arduino-ide`
+* Linux: `~/.config/arduino-ide`
+* macOS: `~/Library/Application Support/arduino-ide/`
-### WIKI
-Because of the limitations of the github wiki, it is difficult to create PR for changes of wiki. Please refer to the answer under: https://stackoverflow.com/questions/10642928/how-can-i-make-a-pull-request-for-a-wiki-page-on-github and create a ticket for your modifications.
+### Automated Build Checks
-### Debug
-New Arduino IDE(v2.3.2) support debug. Refer to https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger for more details.
+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).
+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.
-No hardware setup is required since the XMC eval board has Jlink on-board debugger, You can jump directly to the:
-https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger/#getting-to-know-the-debugger
+### Creating and Maintaining Third Party Libraries
+#### Basics
+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
+[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.
+#### XMC-for-Arduino Configuration
+To ensure that a library specific to one architecture or board type is only compiled when a supporting board is set up, this specification includes a setting for *architecture* in the *library.properties* file.
-If you encounter strange behavior with Arduino IDE, try cleaning up the cache
+When creating or maintaining third party or external libraries for XMC-for-Arduino please use this setting:
+~~~
+architecture=xmc
+~~~
-windows: `C:\User\"username"\AppData\Roaming\arduino-ide`
-linux: `~/.config/arduino-ide`
-macos: `~/Library/Application Support/arduino-ide/`
\ No newline at end of file
+If your library also supports other boards and architectures, add those in as well.
\ No newline at end of file
diff --git a/Libraries.md b/Libraries.md
deleted file mode 100644
index 529b4492..00000000
--- a/Libraries.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# XMC-for-Arduino
-## Creating and Maintaining Third Party Libraries
-### Background
-The Arduino IDE allows for external libraries to be added to support devices and functions
-not in the core setup. For details on creating libraries see the
-[Arduino Library Specifications](https://arduino.github.io/arduino-cli/library-specification/)
-### XMC-for-Arduino Configuration
-In order that a library, that is specific to one architecture or board type is only
-compiled when a supporting board is setup, this specification has a setting for the
-*architecture* the library will work on. The *library.properties* file *architecture*
-setting is shortly going to be changed from a confusing *arm* name to a less confusing
-name of *xmc*, to avoid any confusions for those using multiple boards and architectures
-for third party libraries compatibility.
-### XMC-for-Arduino Architecture Settings to use
-Currently third party and other external libraries use the *library.properties*
-*architecture* setting to define which board architecture the library is compiled for
-The XMC-for-Arduino **current** setting for **up to V1.50** is -
-~~~
-architecture=arm
-~~~
-
-When creating or maintaining third party or external libraries please use *library.properties*
-*architecture* setting for versions **V1.5.0 and above** -
-~~~
-architecture=xmc,arm
-~~~
-The Arduino IDE on compilation will work out which one to use automatically, avoiding any strange updating issues.
-At a later stage to be announced, it will be recommended to change to
-~~~
-architecture=xmc
-~~~
-As all newer versions will be using architecture *xmc*.
-
-If your library ALSO supports other boards and architectures, obviously leave those in as well.
-
-Check [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information.
\ No newline at end of file
diff --git a/README.md b/README.md
index 1b99f0fb..a70c62ba 100644
--- a/README.md
+++ b/README.md
@@ -1,136 +1,49 @@
-# Infineon's XMC Microcontroller Boards for Arduino
+# Arduino Core for Infineon's XMC™ Microcontrollers
-This repository integrates [Infineon's](https://www.infineon.com/) XMC microcontrollers into the [Arduino IDE](https://www.arduino.cc/en/main/software) and [PlatformIO IDE](https://platformio.org/platformio-ide?utm_source=github&utm_medium=xmc-for-arduino).
+![compile examples badge](https://github.com/Infineon/XMC-for-Arduino/actions/workflows/compile-platform-examples.yml/badge.svg)
+![build docs badge](https://github.com/Infineon/XMC-for-Arduino/actions/workflows/docs.yml/badge.svg)
-## Contents
-- [Infineon's XMC Microcontroller Boards for Arduino](#infineons-xmc-microcontroller-boards-for-arduino)
- - [Contents](#contents)
- - [Supported Microcontroller Boards](#supported-microcontroller-boards)
- - [Additional Information](#additional-information)
- - [Installation Instructions](#installation-instructions)
- - [Prework for SEGGER J-Link](#prework-for-segger-j-link)
- - [Using Arduino IDE](#using-arduino-ide)
- - [Separation of release packages from version 2.0.0 onwards](#separation-of-release-packages-from-version-200-onwards)
- - [Known Issues](#known-issues)
- - [Using PlatformIO IDE](#using-platformio-ide)
- - [Contributing and Third Party Libraries](#contributing-and-third-party-libraries)
- - [Additional Contributors](#additional-contributors)
+This project integrates Infineon's 32-bit XMC™ Industrial Arm® Cortex®-M Microcontroller into the [Arduino](https://www.arduino.cc/en/Guide/Introduction) ecosystem.
-## Supported Microcontroller Boards
-
-* [XMC1100 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_2go_xmc1100_v1/)
-* [XMC1100 Boot Kit](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc11_boot_001/)
-* [XMC1300 Boot Kit](https://www.infineon.com/cms/de/product/evaluation-boards/kit_xmc13_boot_001/)
-* [XMC1400 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc14_2go/)
-* [XMC1400 Kit for Arduino](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1400_arduino/)
-* [XMC4200 Platform 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4200/)
-* [XMC4400 Platform 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4400//)
-* [XMC4700 Relax Kit](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc47_relax_v1/)
-
-## Additional Information
-
-Please visit also the Wiki for additional information, e.g. datasheets, pin out diagrams, etc.:
-
-[XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki)
-
-* Page for [XMC1100 XMC 2Go](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC-2Go)
-* Page for [XMC1100 Boot Kit](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC1100-Boot-Kit)
-* Page for [XMC1300 Boot Kit](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC1300-Boot-Kit)
-* Page for [XMC1400 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc14_2go/)
-* Page for [XMC1400 Kit for Arduino](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC1400-Kit-for-Arduino)
-* Page for [XMC4200 Platform 2Go](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC4200-Platform2Go)
-* Page for [XMC4400 Platform 2Go](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC4400-Platform2Go)
-* Page for [XMC4700 Relax Kit](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC4700-Relax-Kit)
-
-Additionally, please consult the [releases](https://github.com/Infineon/XMC-for-Arduino/releases) for information about the changes and new versions.
-
-## Installation Instructions
-
-### Prework for SEGGER J-Link
-
-In order to use Infineon's XMC microcontroller boards in Arduino you need [SEGGER J-Link](https://www.segger.com/downloads/jlink) installed on your machine first. Please follow [this link](https://www.segger.com/downloads/jlink) and install the J-Link Software and Documentation Pack for your respective operating system (OS).
-
-![J-Link](resources/wiki/image/jlink_install.png)
-
-If you are downloading J-Link for the first time, make sure to check this box: Install USB Driver for J-Link.
-
-![J-Link-driver](resources/wiki/image/J-Link_Installer_options_page.png)
-
-### Required tools
-
-XMC-for-Arduino requires Python 3.x and `pyserial`. Make sure Python is installed on your machine and available in the system path.
-
-:bulb: Tips for Windows users: While installing python, make sure to check the box that says "Add Python to PATH" before clicking on the install button. This option will automatically set the PATH for you. If you forgot to check the box during installation, you can add Python to PATH manually.
-
-You can check if it was successfully installed by opening your command line or terminal and typing:
-```
- python --version
-```
-With [pip](https://pip.pypa.io/en/stable/installation/) available, install the mentioned packages from a terminal:
-
-```
- pip install pyserial
-```
-
-### Integration in Arduino IDE
-Please first download the Arduino IDE. This package is only tested for Arduino IDE >=1.5. We recommended to use Arduino IDE >=2.0.
-
-![Preferences](resources/wiki/image/preference.png)
-
-Paste the following URL into the 'Additional boards manager URLs' input field under **File** > **Preferences** to add Infineon's XMC microcontroller boards to the Arduino IDE.
+The [XMC™ microcontroller family](https://www.infineon.com/cms/de/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/) from Infineon is a powerful and versatile platform for embedded system development. The XMC for Arduino core provides a comprehensive set of APIs, examples, and tools for developing a wide range of applications, allowing developers to leverage the ease of use and flexibility of the Arduino platform while harnessing the advanced features and performance of the XMC™ microcontrollers.
-https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
-
-Easier to copy (no clickable link):
-
-```
-https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
-```
-
-![Adding a Board JSON](resources/wiki/image/preference_JSON.png)
-
-To install the boards, please go now to **Tools** > **Board** > **Boards Manager...** and search for XMC. You will see options to install the board files for the microcontrollers. Click "Install" to add the boards to your Arduino IDE.
-
-![Infineon Board Entry](resources/wiki/image/Boards_Manager_Entry.png)
-
-In the boards list **Tools** > **Board**, you will now find the supported XMC microcontroller boards.
-
-![Board List](resources/wiki/image/Board_List.png)
-
-### Notes
-
-* **The differences of the boards included in this repository if compared to the Arduino boards**
-* **Refer also to the LICENSE.md/txt file of the repositories for further information**
-* **The Boot Kits have 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)**
-* **XMC-for-Arduino support for 'arm-linux-gnueabihf' only until version 1.1.**
-
-
-### Release packages from version 3.0.0 onwards
-
-Certain obsolete boards (see wiki) and non-functional libraries were removed from the board support package for the release version 2.0.0, alongwith some other major changes (see release notes). After version 3.0.0, the release index will not include library before version 2.0.0.
-
-![Board Manager](resources/wiki/image/Support_v2.png)
-### Known Issues
-
-* :warning: While using the pins connected to the **LEDs** configured as **INPUT**, there might be some abberation in behavior due to the presence of the series resistor of the LED, as it causes a voltage drop on the pin. In case of such an occurance, it is advised to desolder the series resistor and the LED and thereby using the pin as INPUT.
-
-### Using PlatformIO IDE
-
-- [What is PlatformIO?](http://docs.platformio.org/en/latest/what-is-platformio.html?utm_source=github&utm_medium=xmc-for-arduino)
-- [PlatformIO IDE](http://platformio.org/platformio-ide?utm_source=github&utm_medium=xmc-for-arduino)
-- [PlatformIO Core (CLI)](http://docs.platformio.org/en/latest/core.html?utm_source=github&utm_medium=xmc-for-arduino) (command line tool)
-- [Integration with Cloud and Desktop IDEs](http://docs.platformio.org/en/latest/ide.html?utm_source=github&utm_medium=xmc-for-arduino) -
- Cloud9, Codeanywhere, Eclipse Che (Codenvy), Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, and VSCode
-- [Project Examples](https://github.com/Infineon/platformio-infineonxmc/tree/master/examples)
-
-## Contributing and Third Party Libraries
-
-To contribute enhancements, fixes and the like see [CONTRIBUTINGS](./CONTRIBUTING.md).
-
-Third Party or external library maintainers see [Libraries](./Libraries.md).
-
-Also see [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information
-
-## Additional Contributors
+## Supported Microcontroller Boards
-* [Paul Carpenter](https://github.com/techpaul)
+
+
+More information about supported boards can be found [here](https://xmc-arduino.readthedocs.io/en/latest/hw-platforms.html).
+
+## Getting Started
+
+For installation & getting started instructions please refer to [our docs](https://xmc-arduino.readthedocs.io/en/latest/index.html).
+
+## Contributing
+
+We welcome community contributions! Please refer to our [contribution guidelines](CONTRIBUTING.md). Your help is greatly appreciated 👐
+
+## License
+
+See the [LICENSE](LICENSE.md) file for more details about the license.
\ No newline at end of file
diff --git a/docs/Analog-Functions-and-Additions.md b/docs/Analog-Functions-and-Additions.md
deleted file mode 100644
index 8f181e85..00000000
--- a/docs/Analog-Functions-and-Additions.md
+++ /dev/null
@@ -1,131 +0,0 @@
-## wiring_analog after V1.2.1
-Analog functions like analogRead and
-analogWrite etc. have changed after V1.2.1 to have extra safety measures to ensure invalid settings cannot be done and report errors.
-
-Additionally extra getter functions have been added so other libraries can access the resolution of read and write functions as number of bits and current maximum value possible.
-
-## Extra functions
-These functions return the analogue resolution as number of bits
-* uint8_t getAnalogReadBits( ) - range 8 to 12
-* uint8_t getAnalogWriteBits( ) - range 8 to 16
-
-These functions return the analogue resolution as its maximum value
-* uint16_t getAnalogReadMaximum( ) - range 255 to 4095
-* uint16_t getAnalogWriteMaximum( ) - range 255 to 65535
-
-This function enables the analog amplifiers at the ADC inputs with adjustible gain (for XMC1000 series)
-* uint32_t analogRead_variableGain( uint8_t channel, uint8_t gain_value ) \
- The gain factor values can be found [here.](#analog-amplifiers-at-the-adc-inputs-with-adjustible-gain)
-
-## Default Values
-Read resolution default is 10 bits (0 to 1023)
-
-Write resolution default is 8 bits (0 to 255)
-## Error and Return Codes by Function
-Where possible functions do **NOT** action invalid parameters passed in.
-
-Functions return error codes or valid values so be sure which error code you are looking for as some functions can return 0 as a valid value (e.g. analogRead) so an out of range value is returned instead.
-
-
-
Function
-
Valid Return
-
Errors
-
-
-
analogReadResolution
-
8 to 12 as passed in
-
255
-
-
-
getAnalogReadBits
-
8 to 12
-
none
-
-
-
getanalogReadMaximum
-
255 to 4095
-
none
-
-
-
analogWriteResolution
-
8 to 16 as passed in
-
255
-
-
-
getAnalogWriteBits
-
8 to 16
-
none
-
-
-
getanalogWriteMaximum
-
255 to 65535
-
none
-
-
-
analogRead
-
0 to Maximum for Resolution
-
0xFFFFFFFF usually invalid channel
-
-
-
analogWrite
-
0 success
-
-1 = invalid value
- -2 = wrong pin
-
-
-
setAnalogWriteFrequency
-
0 success
-
-1 = invalid frequency
- -2 = wrong pin
-
-
-
analogReference
-
none
-
NULL function see below
-
-
-This should enable checks in software for valid operation and debugging problem code.
-
-## AREF Analogue Reference
-On all boards the Analogue Reference is set to use the internal power supply (however noisy), so the AREF pin is an **OUTPUT** of the AREF in use. Do **NOT** connect any external voltage source to this pin, or use shields that change this voltage.
-
-**CAUTION** any shorts on this pin especially to 0V (GND) will bring down the supply of the chip.
-
-The pin voltage is the current supply voltage to AREF for analogue conversions.
-
-This pin **CANNOT** be reassigned as GPIO (pinMode has no effect).
-
-### analogReference( )
-This function has NO operation and will not match any call on parameters passed in with other libraries or examples that use this call.
-
-Any shields and examples that try to change this, will **NOT** function the same on these boards.
-
-## Analog amplifiers at the ADC inputs with adjustible gain
-Each analog input channel can be configured to be amplified by an adjustable gain factor, for XMC1000 series. To configure the gain, the `gain value` is to be selected in the `analogRead_variableGain()` function which translates to a `gain factor` as per the following table:
-
-
-
-
Gain value
-
Gain factor
-
-
-
0
-
1
-
-
-
1
-
3
-
-
-
2
-
6
-
-
-
3
-
12
-
-
-
- For more information, please refer to the application note [here.](https://www.infineon.com/dgdl/Infineon-VADC-XMC1200_XMC1300-AP32304-AN-v01_10-EN.pdf?fileId=5546d4624e765da5014ed981f63136d6)
-
-[Home](https://github.com/Infineon/XMC-for-Arduino/wiki)
\ No newline at end of file
diff --git a/docs/Built-in-Libraries.md b/docs/Built-in-Libraries.md
deleted file mode 100644
index 5c98b796..00000000
--- a/docs/Built-in-Libraries.md
+++ /dev/null
@@ -1,61 +0,0 @@
-## Documentation
-Documentation of the Built-in libraries is to be found on [this page](https://github.com/Infineon/InfineonDoxyGenerator).
-
-## DeviceControl XMC
-
-### Examples Supported
-
-| Example | Boards | Description |
-| ----------- | ----------- |------------
-| DieTemperatureMeasurement |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
|Simple die temperature measurement for XMC devices which demonstrates the measure temperature of die using sensor. |
-| HeapMemoryMeasurement |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4700 Relax Kit
| Simple example to check heap memory during run time for XMC devices which demonstrates the ability to check on free heap memory. |
-|SleepModeXMC1100 |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
| Demonstrates the use of an alarm to wake up an xmc1100 from sleep mode. |
-|SleepModeXMC4700 |
XMC4700 Relax Kit
| Simple Sleep Mode for XMC4700 Relax Kit V1 demonstrates the use of an alarm to wake up an XMC4700 from sleep mode.LED2 will blink fast on active mode. If CCU4 is ON in sleep mode, LED2 will blink slower (because of slower clock) while in sleep mode.If CCU is OFF in sleep mode, LED2 will stop blinking, until device wakes up.
-|StackMemoryMeasurement |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
| Simple example to check stack memory during run time for XMC devices which demonstrates the ability to check on free stack memory
-
-## DMA
-
-### Examples Supported
-| Example | Boards | Description |
-| --------- | ----------- | --------------
-| DMA_Memory |
XMC4700 Relax Kit
| Demonstrates how to setup an DMA, to transfer data between two places in memory.|
-|DMA_UART |
XMC4700 Relax Kit
| Demonstrates how to setup an DMA, to transfer data between two places in memory.|
-
-
-## RTC Library
-| Example | Boards | Description |
-| ----------- | ----------- |------------
-|AlarmRTC |
XMC4700 Relax Kit
| Demonstrates how to set an RTC alarm for the XMC4700 Relax Kit V1|
-|SimpleRTC |
XMC4700 Relax Kit
| Demonstrates the use of the RTC library for the XMC4700|
-
-## SPI Library
-| Example | Boards | Description |
-| ----------- | ----------- |------------
-|SPI_MOSI_to_MISO_SameDevice |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
| SPI example which communicates between the MOSI and MISO pin of the same board. Connect the MOSI pin to the MOSI pin as hardware setup.|
-
-## Wire Library
-
-| Example | Boards | Description |
-| ----------- | ----------- |------------
-| master_reader |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
| Demonstrates use of the Wire library. Reads data from an I2C/TWI slave device. Refer to the "Wire Slave Sender" example for use with this.Then it communicates using I2C protocol between two supported XMC boards. Connect the SDA and SCL pins of one board to the SDA and SCL pin of the other board.
-| master_writer |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
| Demonstrates use of the Wire library.Writes data to an I2C/TWI slave device. Refer to the "Wire Slave Receiver" example for use with this.Then it communicates using I2C protocol between two supported XMC boards. Connect the SDA and SCL pins of one board to the SDA and SCL pin of the other board.
-| slave_receiver |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
| Demonstrates use of the Wire library. Receives data as an I2C/TWI slave device. Refer to the "Wire Master Writer" example for use with this.Then it communicates using I2C protocol between two supported XMC boards. Connect the SDA and SCL pins of one board to the SDA and SCL pin of the other board.
-| slave_sender |
XMC1100 XMC 2GO
XMC1100 Boot Kit
XMC1100 H-Bridge 2GO
XMC1300 Boot Kit
XMC4400 Platform 2Go
XMC4700 Relax Kit
| Demonstrates use of the Wire library. Sends data as an I2C/TWI slave device. Refer to the "Wire Master Reader" example for use with this.Then it communicates using I2C protocol between two supported XMC boards. Connect the SDA and SCL pins of one board to the SDA and SCL pin of the other board.
-
-## I2S Library
-
-This library has been tested with the IM69D130 Microphone Shield2Go with both XMC4700 Relax Kit and XMC1100 XMC2Go. Please refer to the [README.md](https://github.com/Infineon/XMC-for-Arduino/blob/master/libraries/I2S/README.md) of the I2S library for pin connections.
-
-### Limitations
-With XMC 2Go (possibly also with other XMC1000 family devices), you might easily overflow the I2S buffer and you should try to reduce the I2S sampling rate if so.
-
-## OneWire Library
-Library for One wire protocol. It could be used to access 1-wire temperature sensors, memory and other chips.
-
-## CAN Library
-This library provides support for the CAN protocol. For further details, please refer to the [README.md](https://github.com/Infineon/XMC-for-Arduino/blob/master/libraries/CAN/README.md) file in the CAN library.
-|Example|Boards|Description|
-|:---|:---:|:---|
-|CANSender|
XMC1400 2GO
| This example demonstrates how to send a CAN message. It supports two different message/frame formats: standard and extended. The CAN standard frame uses an 11-bit identifier, while the CAN extended frame uses a 29-bit identifier.|
-|CANReceiver/CANReceiverCallback |
XMC1400 2GO
| This example demonstrates how to receive a CAN message. There are two methods for receiving messages: the default method runs a loop that continuously polls for new messages, while the callback method registers a callback function that triggers an interrupt when data is received on the CAN bus. In both examples, messages with any ID transmitted on the CAN bus can be received. Additionally, messages can be filtered for specific IDs using the `filter()` function. |
-|CANLoopBack |
XMC1400 2GO
| This example demonstrates the loopback mode of CAN. In this mode, the CAN transmitter is internally connected to its receiver, allowing the message to be sent and received internally without transmission onto the actual CAN bus. |
\ No newline at end of file
diff --git a/docs/Contributing-and-Third-Party-Libraries.md b/docs/Contributing-and-Third-Party-Libraries.md
deleted file mode 100644
index 5cd2df0a..00000000
--- a/docs/Contributing-and-Third-Party-Libraries.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# XMC-for-Arduino
-## Contributing to XMC-for-Arduino Project
-First important point **All Contributions** are welcomed.
-
-Please contribute and raise issues via the [github repository](https://github.com/Infineon/XMC-for-Arduino/tree/develop)
-
-Check the **develop** branch for any Beta releases fixes for any issues you may find.
-
-## Developer notes
-
-### General points on repository branches and flow
-
-1. _master_ branch is intended to be copy of release version
-2. Please make Pull Requests to _develop_ branch for review, inclusion and availability for others
-3. At next release _develop_ is merged into _master_ for release
-4. Other branches are for other tests and not to be treated as anything but work in progress for now
-5. Check [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information
-
-### Local Running using Arduino IDE (**ON WINDOWS**):
-Clone the repository in arduino folder:
-- Open Arduino and install any Infineon XMC library (e.g. 2.2.0)
-- Open the library location in Arduino program folder
-`C:\Users\"USERNAME"\AppData\Local\Arduino15\packages\Infineon\hardware\xmc`
-- Open git bash, type command:
-`git clone "HTTP_SSH_REPOSITORY" "LIBRARY_VERSION (e.g. 2.2.0)"`
-
-This is a workaround for current local compilation/testing.
-
-### CICD
-
-Currently github workflow is used for automaticaly build test and release. Workflows are defined by YAML file in the `.github/workflows` directory.
-To merge your PR, please try to 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.
-
-### WIKI
-Because of the limitations of the github wiki, it is difficult to create PR for changes of wiki. Please refer to the answer under: https://stackoverflow.com/questions/10642928/how-can-i-make-a-pull-request-for-a-wiki-page-on-github and create a ticket for your modifications.
-
-### Debugging
-The new Arduino IDE (v2.x) supports debugging. Please refer to https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger for more details.
-
-No additional hardware setup is required since the XMC evaluation board includes a J-Link on-board debugger. You can proceed directly to:
-https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger/#getting-to-know-the-debugger
-
-If you encounter any unusual behavior with the Arduino IDE, try clearing the cache.
-
-## Creating and Maintaining Third Party Libraries
-### Background
-The Arduino IDE allows for external libraries to be added to support devices and functions
-not in the core setup. For details on creating libraries see the
-[Arduino Library Specifications](https://arduino.github.io/arduino-cli/library-specification/)
-### XMC-for-Arduino Configuration
-In order that a library, that is specific to one architecture or board type is only
-compiled when a supporting board is setup, this specification has a setting for the
-*architecture* the library will work on. The *library.properties* file *architecture*
-setting is shortly going to be changed from a confusing *arm* name to a less confusing
-name of *xmc*, to avoid any confusions for those using multiple boards and architectures
-for third party libraries compatibility.
-### XMC-for-Arduino Architecture Settings to use
-Currently third party and other external libraries use the *library.properties*
-*architecture* setting to define which board architecture the library is compiled for
-The XMC-for-Arduino **current** setting for **up to V1.50** is -
-~~~
-architecture=arm
-~~~
-
-When creating or maintaining third party or external libraries please use *library.properties*
-*architecture* setting for versions **V1.5.0 and above** -
-~~~
-architecture=xmc,arm
-~~~
-The Arduino IDE on compilation will work out which one to use automatically, avoiding any strange updating issues.
-At a later stage to be announced, it will be recommended to change to
-~~~
-architecture=xmc
-~~~
-As all newer versions will be using architecture *xmc*.
-
-If your library ALSO supports other boards and architectures, obviously leave those in as well.
-
-Check [XMC-for-Arduino Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki) for any additional information.
\ No newline at end of file
diff --git a/docs/DEMO-Radar-BB-XMC4700.md b/docs/DEMO-Radar-BB-XMC4700.md
deleted file mode 100644
index eb555f03..00000000
--- a/docs/DEMO-Radar-BB-XMC4700.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Overview
-This pages summarizes information about the DEMO Radar BB XMC4700 board and its implementation for the Arduino IDE. The DEMO Radar BB XMC4700 board consists of a XMC4700 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/demo-sense2gol-pulse/).
-Please note that there exist versions with 5 V and 3.3V. Please be careful which version you have and use with your respective shields. The one described here means the 5 V version as this one is compatible with Arduino shields designed for the 5 V systems.
-
-# Arduino Pin Out
-The pin layout of the XMC4700 for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/master/Pictures/Radar%20Baseboard%20XMC4700_PO.png)):
-
-![DEMO Radar BB XMC4700 Pin Out for Arduino](https://github.com/Infineon/Assets/blob/master/Pictures/Radar%20Baseboard%20XMC4700_PO.png)
-
-# Key Features
-* XMC4700-E196 Microcontroller based on ARM® Cortex®-M4 @ 144MHz, 2MB Flash and 352KB RAM
-* On-Board Debugger
-* Power over USB
-* ESD and reverse current protection
-* 1 x user button and 1 x user LED with 3 channels (RGB)
-* Arduino hardware compatible 3.3V and 5.0 V pinout (depending on the version)
-
-# Using the DEMO Radar BB XMC4700 in Arduino
-There are some things to note and modifications to make when using the Demo Radar BB XMC4700 **V1.0** in Arduino.
-
-## I2C
-If I2C communication is intended to be used as the interface to the target Arduino shield, remove the following resistors: R70, R71, R73, R74, R77 and R80.
-
-![I2C Resistors](https://github.com/Infineon/Assets/blob/master/Pictures/rbb_i2c_resistors.png)
-
-## Selection of IOREF
-XMC4700 operates on the 3.3V domain. Depending on the target Arduino shield, the IOREF can be configured as 5V or 3.3V via a jumper on P2 (see diagram below).
-To select 3.3V as IOREF, short pins 1 and 2 of P2.
-To select 5V as IOREF, short pins 2 and 3 of P2.
-
-![IOREF Jumper](https://github.com/Infineon/Assets/blob/master/Pictures/rbb_ioref_jumper.png)
-
-## ISCP Header
-In case connection via the ISCP header is required to the target Arduino shield, do not use the pins from header P7. Instead, connect the pins via jumper wires from the SPI pins on header P3.
-
-![ISCP Header](https://github.com/Infineon/Assets/blob/master/Pictures/rbb_iscp_header.png)
-
-# PCB Design Data
-In case you want to change the design or reuse it for your own projects, please find the Radar Baseboard XMC4700 board design for Altium Designer under the following link:
-
-[DEMO Radar BB XMC4700 PCB Design Data](https://www.infineon.com/cms/en/product/evaluation-boards/demo-sense2gol-pulse/#!tools)
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the DEMO Radar BB XMC4700 board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Infineon-AN602%20Radar%20Baseboard%20XMC4700-ApplicationNotes-v01_00-EN.pdf?fileId=5546d4626e651a41016e82b63d8a1574).
-The datasheet for the XMC4700 can be found here [XMC4700 Datasheet](https://www.infineon.com/dgdl/Infineon-XMC4700-XMC4800-DS-v01_00-EN.pdf?fileId=5546d462518ffd850151908ea8db00b3) while the respective reference manual is located here [XMC4700 Reference Manual](https://www.infineon.com/dgdl/Infineon-ReferenceManual_XMC4700_XMC4800-UM-v01_03-EN.pdf?fileId=5546d462518ffd850151904eb90c0044).
-
diff --git a/docs/Functions-and-Options-Differences.md b/docs/Functions-and-Options-Differences.md
deleted file mode 100644
index a69755f9..00000000
--- a/docs/Functions-and-Options-Differences.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Extra modes (if patches applied)
-This section covers the differences between standard Arduino and XMC-for-Arduino
-
-## GPIO
-Extra pinMode types added that most engineers want
-~~~
- INPUT_PULLDOWN
- OUTPUT_OPENDRAIN
-~~~
-
-# Extra functions (than standard Arduino AVR)
-## GPIO
-Does what the function names says but must have been configured as output
-~~~
- digitalToggle( pin )
-~~~
-# Arduino Function Differences
-
-## Input Mode Pins
-On standard Arduino boards, GPIO is by default either a function like Serial or in INPUT mode.
-
-On XMC boards the inputs are UNDEFINED, you **MUST** specify every pin to be in INPUT Mode that needs Inputs.
-
-## Wire/I2C Differences
-The method in Wire class for 'begin' is not the same as AVR Arduino, and has different modes for Master and Slave
-
-In AVR Arduino setting an I2C Master or Slave
-~~~
- Wire.begin(8); // join i2c bus (address optional for master)
-~~~
-XMC-for-Arduino setting for I2C Master **ONLY**
-~~~
- Wire.begin(); // join i2c bus (address blank for master)
-~~~
-Currently the address is NOT optional for XMC as this currently assumes this must be Slave mode configuration and sets the I2C configuration differently.
-
-## Tone
-Number of Tone pins is determined by pins_arduino.h define NUM_TONE_PINS. This allows for use in other modules and for variations between boards as >100MHz boards can obviously handle more tone pins.
-
-The default for XMC1xxx is 4 with a change XMC4xxxx should be 16
-
-Tone has frequency range of
- maximum = 500 Hz
- minimum = 1 Hz
-
-This is due to the fact that the tone frequency is software derived from the Systick handler, Systick has a time period of 1 ms. At maximum each handler event for Systick toggles a GPIO pin, so at minimum period of 1 ms the output is toggled, so TWO events produce one square wave cycle, therefore the maximum output frequency is 500Hz.
-
-The minimum is due to the fact that tone function only accepts an unsigned integer (32 bit) for the frequency, so the minimum usable frequency is 1.
-
-Standard Arduino boards use hardware timers (the few that are available) to generate tones and at least one timer can interfere with other functions.
-
-However this does mean you can have more tone pins, just much lower frequency range.
diff --git a/docs/Home.md b/docs/Home.md
deleted file mode 100644
index 4cd9586e..00000000
--- a/docs/Home.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Welcome
-Welcome to the XMC-for-Arduino wiki! Here you'll find information about the boards ([XMC1100 2Go](XMC1100-2Go), [XMC1100 H-Bridge 2Go](XMC1100-H-Bridge-2Go), [XMC1100 Boot Kit](XMC1100-Boot-Kit), [XMC1400 2Go](XMC1400-2Go), [XMC1400 Kit for Arduino](XMC1400-Kit-for-Arduino), [XMC1300 Boot Kit](XMC1300-Boot-Kit), [XMC1300 Sense2GoL](XMC1300-Sense2GoL), [XMC4400 Platform2Go](XMC4400-Platform2Go), [XMC4700 Relax Kit](XMC4700-Relax-Kit), and [DEMO Radar BB XMC4700](DEMO-Radar-BB-XMC4700) as well as additional information.
-Please have a look on the sidebar to find the related information and visit our site for makers [here](www.infineon.com/4makers) with additional information about other boards.
-
-Please note that from release **version 2.0.0** onwards, only the following boards are supported:
-
-* [XMC1100 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_2go_xmc1100_v1/)
-* [XMC1100 Boot Kit](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc11_boot_001/)
-* [XMC1300 Boot Kit](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc13_boot_001/)
-* [XMC1400 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc14_2go/)
-* [XMC1400 Kit for Arduino](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1400_arduino/)
-* [XMC4200 Platform 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4200/)
-* [XMC4400 Platform 2Go](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4400//)
-* [XMC4700 Relax Kit](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc47_relax_v1/)
-
-The remaining boards are supported until release **version 1.7.0** (deprecated).
-
-
-## Current Status
-* Basic features comparable to Arduino implemented
-* Additional underlying features implemented
- - RTC library
- - DMA library (beta, in development)
- - Device Control Library
-
-## The XMC Microcontroller Family
-Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The microcontroller family based on ARM® Cortex®-M cores is dedicated to applications in the segments of power conversion, factory and building automation, transportation and home appliances.
-Find out more on the respective homepage of the XMC family:
-
-[https://www.infineon.com/XMC](https://www.infineon.com/XMC)
-
-We strongly encourage you to extend the list of applications by your support. If you feel like, please share your ideas, projects as well as software examples with the community to see what the XMC is capable to do.
-
-### XMC1000 Key Features
-* ARM® Cortex®-M0 core, up to 48MHz and 80 CoreMark
-* Control peripherals like PWM timers run on up to 96MHz
-* The MATH co-processor boosts standard Cortex®-M0 computing performance enabling divisions and trigonometric operations like SIN and COS
-* The BCCU eases digital LED dimming and color control applications
-30ns comparators enable AC-DC and low voltage DC-DC SMPS control e.g. up to 4 channel buck converters
-* The ERU is a programmable hardware interconnect matrix that provides on-chip connectivity for real-time control and offloads the CPU
-* The CCU PWM-timers feature rich and application oriented configurability like for motor control, SMPS or combustion engine control
-* Hall sensors and optical encoders can be connected to POSIF, a position interface for motor position control
-* With a 1Msps 12-bit ADC, XMC1000 microcontrollers are outstanding in their price / performance class
-MultiCAN provides connectivity with 2 nodes and 32 message objects
-
-### XMC4000 Key Features
-* ARM® Cortex®-M4 with floating point unit (FPU), single-cycle DSP MAC, 80-144MHz CPU frequency
-* Up to 2MB embedded Flash with 22ns access time and error correction unit
-* Up to 352kB embedded RAM
-* EtherCAT ® node
-* 12-channel DMA (XMC4500), 8-channel DMA (XMC4400, XMC4200, XMC4100)
-* Comprehensive set of timers, Delta sigma Demodulator, Position Interface, PWM with emergency shutdown and ADC trigger, Quadrature Encoder Interface
-* 4-channel high-resolution, PWM (150ps) (XMC4400, XMC4200, XMC4100)
-* Up to 4x 12-bit ADC achieving 4 Mega samples per second (interleaved mode
-* 2x 12-bit DAC
-* Up to 6 multi-functional serial interface modules configurable to SPI, I2C, I2S, UART
-Up to 6xCAN
-* External bus interface supporting SDRAM, SRAM, NOR-/NAND-Flash and memory-mapped IO devices (e.g. LCD)
-* SD/MMC interface
-* Touch interface and LED Matrix
-* Battery-backed real-time clock with calendar function and time-based or external wake-up capabilities
-* Extended temperature range up to 125°C ambient temperature
-
diff --git a/docs/I2C-Analog-pins.md b/docs/I2C-Analog-pins.md
deleted file mode 100644
index cdd3b060..00000000
--- a/docs/I2C-Analog-pins.md
+++ /dev/null
@@ -1,41 +0,0 @@
-Arduino Uno R3 format dictates that A4 and A5 are also used for I2C operations, so when I2C is enabled analogue inputs A4 and A5 are **NOT** available.
-
-On Arduino Uno R3 this is an alternate pin function, depending on which XMC-for-Arduino boards this could be an alternate pin function, or other case as described below.
-
-
-
Board
-
Functionality
-
Note
-
-
-
XMC1100 Boot Kit
-
NOT supported
-
A4 + A5 are separate A6 + A7 are alternate pin configurations to I2C
-
-
-
XMC1300 Boot Kit
-
NOT same pin format as Arduino Uno R3
-
A10 + A11 are alternate pin configurations to I2C
-
-
-
XMC1400 Arduino Kit
-
Alternate pin function
-
Matches Arduino Uno
-
-
-
XMC4400 Platform 2Go
-
External hard wired pins
-
For 3V3 boards set I2C pins to tristate or open drain to use
- For 5V boards see Wiki board page on track cuts to enable A4 and A5 to work
- Level shifter on the 5V board could interfere with tristate/open drain setting
-
-
-
-
XMC4700 Relax Kit (and variants)
-
External hard wired pins
-
For 3V3 boards set I2C pins to tristate or open drain to use
- For 5V boards see Wiki board page on track cuts to enable A4 and A5 to work
- Level shifter on the 5V board could interfere with tristate/open drain setting
-
-
-
diff --git a/docs/Implementation-in-Arduino-IDE.md b/docs/Implementation-in-Arduino-IDE.md
deleted file mode 100644
index 6c8eb9de..00000000
--- a/docs/Implementation-in-Arduino-IDE.md
+++ /dev/null
@@ -1,76 +0,0 @@
-## Overview
-This repository contains the integration of [Infineon's](https://www.infineon.com/) XMC microcontrollers into the [Arduino IDE](https://www.arduino.cc/en/main/software).
-Supported boards by this repository are listed under 'Microcontroller Boards' in the following section or in the sidebar. Boards currently in development are not listed here at the moment.
-
-## Installation Instructions
-
-### Prework for SEGGER J-Link
-
-In order to use the Infineon XMC microcontrollers by this repository and program them, you need [SEGGER J-Link](https://www.segger.com/downloads/jlink) installed on your PC. Please follow this link [SEGGER J-Link](https://www.segger.com/downloads/jlink) and install the J-Link Software and Documentation Pack for your respective operating system (OS).
-If you have already installed '[DAVE™ - Development Platform for XMC™ Microcontrollers](https://www.infineon.com/cms/de/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-registered-cortex-registered-m/dave-version-4-free-development-platform-for-code-generation/channel.html?channel=db3a30433580b37101359f8ee6963814)', you might skip this step as you should have the respective drivers on your system.
-![J-Link](https://raw.githubusercontent.com/infineon/assets/master/Pictures/J-Link_Packages.png)
-
-### Required tools
-
-XMC-for-Arduino requires Python 3.x and the `pyserial`. Make sure Python is installed in your machine and available in the system path.
-You can check if it was successfully installed by opening your command line or terminal and typing:
-```
- python --version
-```
-With [pip](https://pip.pypa.io/en/stable/installation/) available, install the mentioned packages from a terminal:
-
-```
- pip install pyserial
-```
-
-### Integration in Arduino IDE
-Please first download the Arduino IDE. This library only tested for Arduino IDE >=1.5, recommended to use Arduino IDE >=2.0.
-
-![Preferences](image/preference.png)
-
-Paste the following URL into the 'Additional Boards Manager URLs' input field under **File** > **Preferences** to add Infineon's microcontroller boards to the Arduino IDE.
-
-https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
-
-Easier to copy (no clickable link):
-
-```
-https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
-```
-
-![Adding a Board JSON](image/preference_JSON.png)
-
-To install the boards, please go now to **Tools** > **Board** > **Boards Manager...** and search for XMC. You will see options to install the board files for the microcontrollers. Click "Install" to add the boards to your Arduino IDE.
-
-![Infineon Board Entry](image/Boards_Manager_Entry.png)
-
-In the boards list **Tools** > **Board**, you will now find the supported XMC microcontroller boards.
-
-![Board List](image/Boards_Manager_Entry.png)
-
-### Notes
-
-* **The differences of the boards included in this repository if compared to the Arduino boards**
-* **Refer also to the LICENSE.md/txt file of the repositories for further information**
-* **The Boot Kits have 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)**
-* **XMC-for-Arduino support for 'arm-linux-gnueabihf' only until version 1.1.**
-
-
-### Release packages from version 3.0.0 onwards
-
-Certain obsolete boards (see wiki) and non-functional libraries were removed from the board support package for the release version 2.0.0, alongwith some other major changes (see release notes). After version 3.0.0, the release index will not include library before version 2.0.0.
-
-![Board Manager](image/Support_v2.png)
-### Known Issues
-
-* :warning: While using the pins connected to the **LEDs** configured as **INPUT**, there might be some abberation in behavior due to the presence of the series resistor of the LED, as it causes a voltage drop on the pin. In case of such an occurance, it is advised to desolder the series resistor and the LED and thereby using the pin as INPUT.
-
-### Using PlatformIO IDE
-
-- [What is PlatformIO?](http://docs.platformio.org/en/latest/what-is-platformio.html?utm_source=github&utm_medium=xmc-for-arduino)
-- [PlatformIO IDE](http://platformio.org/platformio-ide?utm_source=github&utm_medium=xmc-for-arduino)
-- [PlatformIO Core (CLI)](http://docs.platformio.org/en/latest/core.html?utm_source=github&utm_medium=xmc-for-arduino) (command line tool)
-- [Integration with Cloud and Desktop IDEs](http://docs.platformio.org/en/latest/ide.html?utm_source=github&utm_medium=xmc-for-arduino) -
- Cloud9, Codeanywhere, Eclipse Che (Codenvy), Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, and VSCode
-- [Project Examples](https://github.com/Infineon/platformio-infineonxmc/tree/master/examples)
-
diff --git a/docs/Issues.md b/docs/Issues.md
deleted file mode 100644
index c945c307..00000000
--- a/docs/Issues.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Known Issues
-
-* Arduino 1.8.0 IDE might have problems with the XMC-for-Arduino releases, please update to the newest one
-
-## Compilation problem with the C++ new operator
-In the latest versions, the `new` keyword in C++ is not supported in Arduino IDE. Since this library involves the using of `new`, compiling
-it for XMC1000 boards in the Arduino IDE would report the following error message:
-```
-In function `_sbrk':
-
-sbrk.c:(.text._sbrk+0x18): undefined reference to `end'
-
-collect2.exe: error: ld returned 1 exit status
-```
-The current work around would be to add the following lines at the top of your sketch:
-```
-extern "C" void *_sbrk(int incr);
-void dummy_sbrk_caller() __attribute__((__used__));
-void dummy_sbrk_caller()
-{
- _sbrk(0);
-}
-```
-
-However, in PlatformIO the problem described above does not appear.
\ No newline at end of file
diff --git a/docs/Linux-64-bit-Flasher-to-board.md b/docs/Linux-64-bit-Flasher-to-board.md
deleted file mode 100644
index 85fcda2e..00000000
--- a/docs/Linux-64-bit-Flasher-to-board.md
+++ /dev/null
@@ -1,11 +0,0 @@
-On 64 bit Linux (ubuntu etc..) it has been reported that the XMCFlasher does not work out of the box.
-
-See Issue [=21 on Infineon/XMC-for-Arduino](https://github.com/Infineon/XMC-for-Arduino/issues/21#issuecomment-397651078)
-
-The suggested fix is to put a symbolic link in so the 32bit application can be found properly as suggested by PabloPL there as follows after installing the Segger software.
-
-`ln -s /opt/SEGGER/JLink/libjlinkarm.so /usr/lib/libjlinkarm.so`
-
-This enables the XMCFlasher to run.
-
-The problem appears to be in the Segger software installation.
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 00000000..0636ed4f
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,28 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS ?=
+SPHINXBUILD ?= sphinx-build
+SOURCEDIR = .
+BUILDDIR = build
+
+LINKCHECKDIR = build/linkcheck
+
+.PHONY: checklinks
+ checklinks:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(LINKCHECKDIR)
+ @echo
+ @echo "Check finished. Report is in $(LINKCHECKDIR)."
+
+# Put it first so that "make" without argument is like "make help".
+help:
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/Serial-selection.md b/docs/Serial-selection.md
deleted file mode 100644
index dab2b049..00000000
--- a/docs/Serial-selection.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## Serial Output Selection
-
-On the XMC boards, two kinds of serial outputs are possible, namely:
-
-* `SERIAL DEBUG (via PC)`
-* `SERIAL ONBOARD`
-
-
-If these two outputs share the same instance of the internal USIC channel, only one of the two could be used at a given time. The selection can be made via the `Tools` menu as shown in the picture below.
-
-![Serial selection](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/serial_selection.png)
-
-This is generally the case for most of the XMC boards. However, for boards such as the [XMC4200 Platform2Go](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC4200-Platform2Go) and the [XMC4700 Relax Kit](https://github.com/Infineon/XMC-for-Arduino/wiki/XMC4700-Relax-Kit), both the serial output modes are simultaneously active and neednot be selected or enabled from the menu.
-
-*Note: Please note that the sketch must be recompiled when a different serial output is selected.*
-
-#### For advanced users
-
-The build flag `-DSERIAL_HOSTPC` must be used for the serial output interface via PC and the build flag `-DSERIAL_ONBOARD` must be used for serial output through the onboard TX and RX pins.
\ No newline at end of file
diff --git a/docs/Windows-10-64-bit-Flasher.md b/docs/Windows-10-64-bit-Flasher.md
deleted file mode 100644
index a6638b87..00000000
--- a/docs/Windows-10-64-bit-Flasher.md
+++ /dev/null
@@ -1,42 +0,0 @@
-On 64 bit Windows 10 it has been reported that the XMCFlasher does not always work out of the box. Also can fail on 32 bit systems that some other software creates a Program Files (x86) folder, use the same fix.
-
-See Issue [=104 on Infineon/XMC-for-Arduino](https://github.com/Infineon/XMC-for-Arduino/issues/104#issuecomment-530547204)
-
-# Configuration
-* Windows 10, 64bit
-* Arduino 1.8.9
-* Segger Jlink V650
-* XMC1100 Boot Kit
-
-## The most common error
-> [Error] Infineon.DebuggerExceptions: It seems that JLink software is not installed please download from www.segger.com and install it. You can specify it by setting java property xmcFlasher.JLink.dllPath
-
-Similar encounters by others https://www.infineonforums.com/threads/5697-XMC-Flasher-is-not-working
-
-If you are using the standalone XMCFlasher then you will be getting an error like this
-> XMCFlasher cant find ''JLinkARM.dll''
-
-### Solution
-##### XMCFlasher
-For standalone XMCFlasher modify the xmcFlasher.bat as follows
-
- > java -DxmcFlasher.JLink.dllPath="C:\Program Files (x86)\SEGGER\JLink_V650\JLinkARM.dll" -jar %~dp0\xmcflasher.jar %* --gui
-
-
-
-The flasher will starts in GUI mode
-
-Select SEGGER in XMCFlasher instead of default DAP link and connect
-
-#### Arduino IDE
-
-For Arduino IDE set an environment value for your Windows account:
-
-> JAVA_TOOL_OPTIONS: "-DxmcFlasher.JLink.dllPath=C:\Program Files (x86)\SEGGER\JLink_V650\JLinkARM.dll"
-
-Arduino Debug will give an report:
-
-> Picked up environment var ... JAVA_TOOL_OPTIONS = "-DxmcFlasher.JLink.dllPath=C:\Program Files etc
-
-The problem appears to be in the Segger software installation.
-
diff --git a/docs/XMC1100-2Go.md b/docs/XMC1100-2Go.md
deleted file mode 100644
index ca518113..00000000
--- a/docs/XMC1100-2Go.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Overview
-This pages summarizes information about the XMC1100 2Go evaluation board and its implementation for the Arduino IDE. The XMC1100 2Go board consists of a XMC1100 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/de/product/evaluation-boards/KIT_XMC_2GO_XMC1100_V1/productType.html?productType=db3a304443537c4e01436ccecb5d154f#ispnTab9).
-
-# Changes
-## V1.4.0 Onwards
-The release V1.4.0 changed the Arduino pin out: Analog Inputs A0 and A1 have been swapped as part of adding extra 2 Analog Inputs -
-* A0 is now pin 13
-* A1 is now pin 12
-
-Additions of extra Analog and PWM channels -
-
-| Function |Arduino Pin |Shared with|
-|:---|:---:|---:|
-|A2|11|I2C: SDA|
-|A3|10|I2C: SCL|
-|PWM0|8|-- (existing)|
-|PWM1|0|SPI: MISO|
-|PWM2|2|SPI: SCK|
-|PWM3|3|SPI: SS|
-## V1.1.0 Onwards
-The release V1.1.0 changed the pin out: MISO and MOSI have been swapped to ensure compatibility with additional existing boards, please compare pin out diagram for changes.
-* MISO is now pin 0
-* MOSI is now pin 1
-
-# Arduino Pin Out
-The pin layout of the XMC 2Go for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%202Go_PO_v2.png)):
-
-![XMC 2Go Pin Out for Arduino](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%202Go_PO_v2.png)
-
-# Key Features
-* XMC1100 (ARM® Cortex™-M0 based)
-* On-board J-Link Lite Debugger (implemented with XMC4200)
-* Power over USB (Micro USB) or 3.3 V pin possible
-* ESD and reverse current protection
-* 2 user LEDs
-* Pin Header 2x8 Pins suitable for Breadbord
-* Ultra-small evaluation board (38,5 mm x 14 mm)
-
-# PCB Design Data
-In case you want to change the design or reuse it for your own projects, please find the XMC 2Go board design for EAGLE under the following link:
-
-[XMC 2Go PCB Design Data](https://www.infineon.com/dgdl/PCB_Sources_XMC_2Go_Kit_with_XMC1100-V1.zip?fileId=db3a3043444ee5dc014453d9d14f78cb&sd=t)
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the XMC 2Go board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Board_Users_Manual_XMC_2Go_Kit_with_XMC1100_R1.0.pdf?fileId=db3a3043444ee5dc014453d6c75078c6).
-The datasheet for the XMC1100 can be found here [XMC1100 Datasheet](https://www.infineon.com/dgdl/Infineon-xmc1100_AB-DS-v01_08-EN.pdf?fileId=5546d4624a0bf290014a4bdaff9325bd) while the respective reference manual is located here [XMC1100 Reference Manual](https://www.infineon.com/dgdl/Infineon-xmc1100-AA_rm-UM-v01_01-EN.pdf?fileId=5546d46255dd933d0155e31753b077af).
-
diff --git a/docs/XMC1100-Boot-Kit.md b/docs/XMC1100-Boot-Kit.md
deleted file mode 100644
index f69dd85e..00000000
--- a/docs/XMC1100-Boot-Kit.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Overview
-This pages summarizes information about the XMC1100 Boot Kit evaluation board and its implementation for the Arduino IDE. The XMC1100 Boot Kit board consists of a XMC1100 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/KIT_XMC11_BOOT_001/productType.html?productType=db3a30443b360d0e013b8f5163c46f62#ispnTab1).
-
-# Arduino Pin Out
-The pin layout of the XMC1100 Boot Kit for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%201100_BootKit_PO_v2.png)).
-
-## Important Note
-
-Please note that **Arduino pin number 16 & 22 (SCL & A5)** and **Arduino pin number 15 & 21 (SDA & A4)** are **not** connected with each other **nor** share the same pins/resources.
-This is different from the original Arduino UNO Rev3 implementation.
-
-## Pin Out
-
-![XMC1100 Boot Kit Pin Out for Arduino](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%201100_BootKit_PO_v2.png)
-
-# Key Features
-* XMC1100 Microcontroller (ARM® Cortex™-M0 based) in TSSOP-38 with 64 KB Flash and full peripheral set of XMC1100 series
-* Detachable Segger J-Link (implemented with XMC4200)
-* Board shape & power supply for Arduino shields: [Shield List](http://shieldlist.org).
-* [Infineon shields](https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-registered-cortex-tm-m/xmc-development-tools-kits-and-boards/boards-and-shields-for-arduino/channel.html?channel=5546d4614b0b239c014ba1e6c4a73098) - Hardware compatible with Arduino
-
-# PCB Design Data
-In case you want to change the design or reuse it for your own projects, please find the XMC1100 Boot Kit board design for EAGLE under the following link:
-
-[XMC1100 Boot Kit PCB Design Data](https://www.infineon.com/dgdl/PCB_XMC1100_CPU_Card_V2.zip?fileId=db3a30433da119ff013da23921f61425&sd=t)
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the XMC1100 Boot Kit board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Board_Users_Manual_XMC1100_CPU_Card_R2.pdf?fileId=db3a30433da119ff013da232476b1416).
-The datasheet for the XMC1100 can be found here [XMC1100 Datasheet](https://www.infineon.com/dgdl/Infineon-xmc1100_AB-DS-v01_08-EN.pdf?fileId=5546d4624a0bf290014a4bdaff9325bd) while the respective reference manual is located here [XMC1100 Reference Manual](https://www.infineon.com/dgdl/Infineon-xmc1100-AA_rm-UM-v01_01-EN.pdf?fileId=5546d46255dd933d0155e31753b077af).
-
diff --git a/docs/XMC1100-H-Bridge-2Go.md b/docs/XMC1100-H-Bridge-2Go.md
deleted file mode 100644
index e5507d5c..00000000
--- a/docs/XMC1100-H-Bridge-2Go.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Overview
-This pages summarizes information about the [XMC H-Bridge Kit 2GO](https://www.infineon.com/cms/de/product/evaluation-boards/h-bridge-kit-2go/) evaluation board and its implementation for the Arduino IDE. XMC H-Bridge Kit 2GO is fully populated with all electronic components equipped with the H-Bridge [IFX9201](https://www.infineon.com/cms/de/product/power/motor-control-ics/intelligent-motor-control-ics/integrated-full-bridge-driver/ifx9201sg/) combined with XMC 1100 Microcontroller to realize your own DC motor control. It is designed for the control of DC motors or other inductive loads up to 6 A or up to 36 V of supply. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/de/product/evaluation-boards/h-bridge-kit-2go/).
-# Changes
-The release V1.4.0 changed the Arduino pin out, for XMC1100 XMC2Go, so later releases will have the Analog pins to match the XMC2Go. Pin out change is: Analog Inputs A0 and A1 have been swapped -
-* A0 is now pin 13
-* A1 is now pin 12
-
-# Arduino Pin Out
-The pin layout of the XMC H-Bridge 2Go for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/master/Pictures/XMC%202Go_H-Bridge_PO.jpg)):
-
-![XMC H-Bridge 2Go Pin Out for Arduino](https://github.com/Infineon/Assets/blob/master/Pictures/XMC%202Go_H-Bridge_PO.jpg)
-
-# Key Features
-* XMC1100 (ARM® Cortex™-M0 based)
-* On-board J-Link Lite Debugger (implemented with XMC4200)
-* Power over USB (Micro USB) or:
- * 3.3 V pin with direct connection to XMC1100 and IFX9201SG (compare schematics in [Board User Manual](https://www.infineon.com/dgdl/Infineon-H-Bridge_Kit_2Go_UM-UM-v01_01-EN.pdf?fileId=5546d46250cc1fdf015133ee879d3696))
- * 5 V pin with direct connection to 3.3 V Regulator (converting 5V to 3.3 V, Figure 17 in [Board User Manual](https://www.infineon.com/dgdl/Infineon-H-Bridge_Kit_2Go_UM-UM-v01_01-EN.pdf?fileId=5546d46250cc1fdf015133ee879d3696))
-* ESD and reverse current protection
-* 2 user LEDs
-* Pin Header 2x8 Pins suitable for Breadbord
-* H-Bridge IFX9201SG
-* Reverse polarity protection
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the H-Bridge Kit 2GO board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Infineon-H-Bridge_Kit_2Go_UM-UM-v01_03-EN.pdf?fileId=5546d46250cc1fdf015133ee879d3696).
-The datasheet of the H-Bridge IFX9201 can be found [here](https://www.infineon.com/dgdl/Infineon-IFX9201SG-DS-v01_01-EN.pdf?fileId=5546d4624cb7f111014d2e8916795dea) and the homepage of the H-Bridge IC [here](https://www.infineon.com/cms/de/product/power/motor-control-ics/intelligent-motor-control-ics/integrated-full-bridge-driver/ifx9201sg/).
-
-The datasheet for the XMC1100 can be found here [XMC1100 Datasheet](https://www.infineon.com/dgdl/Infineon-xmc1100_AB-DS-v01_08-EN.pdf?fileId=5546d4624a0bf290014a4bdaff9325bd) while the respective reference manual is located here [XMC1100 Reference Manual](https://www.infineon.com/dgdl/Infineon-xmc1100-AA_rm-UM-v01_01-EN.pdf?fileId=5546d46255dd933d0155e31753b077af).
-
diff --git a/docs/XMC1300-Boot-Kit.md b/docs/XMC1300-Boot-Kit.md
deleted file mode 100644
index 2dad4899..00000000
--- a/docs/XMC1300-Boot-Kit.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Deprecated
-
-Check out TechPaul's [wiki](https://github.com/techpaul/XMC-for-Arduino/wiki/Hardware-Pins---Pinout-XMC1300-Boot-Kit)
\ No newline at end of file
diff --git a/docs/XMC1300-Sense2GoL.md b/docs/XMC1300-Sense2GoL.md
deleted file mode 100644
index 6827b798..00000000
--- a/docs/XMC1300-Sense2GoL.md
+++ /dev/null
@@ -1 +0,0 @@
-Deprecated
\ No newline at end of file
diff --git a/docs/XMC1400-2Go.md b/docs/XMC1400-2Go.md
deleted file mode 100644
index 832cad36..00000000
--- a/docs/XMC1400-2Go.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Overview
-This page summarizes information about the KIT_XMC14_2GO evaluation board and its implementation with the Arduino IDE. The board consists of a XMC1400 microcontroller with a debugger implemented by an XMC4200 microcontroller. More information about the board, including datasheets, user manuals, and schematics, can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc14_2go/).
-
-# Arduino Pin Out
-The pin layout of the KIT_XMC14_2GO for the Arduino IDE is as follows:
-
-![KIT_XMC14_2GO pinout for Arduino](image/XMC1400_Kit2Go_Pinout.png)
-
-# :warning: Important Note
-
-## CAN Terminal Resistor
-The resistor R3 needs to be removed if the board is neither a start nor an end node of a CAN network.
-For more information on CAN, please refer to [Built-in Libraries: CAN](Built-in-Libraries#can-library)
\ No newline at end of file
diff --git a/docs/XMC1400-Boot-Kit.md b/docs/XMC1400-Boot-Kit.md
deleted file mode 100644
index 1d2a359e..00000000
--- a/docs/XMC1400-Boot-Kit.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Overview
-upcoming
-
-# Specific Interrupt Handlers
-The XMC1400 boot kit uses different naming for interrupt handlers, i.e., instead of
-```
-USIC0_0_IRQHandler
-USIC0_1_IRQHandler
-```
-it uses
-```
-IRQ0_Handler
-IRQ1_Handler
-```
-for all interrupts from `USIC`, `CCU`, etc. For details refer to `startup_XMC1400.S` file.
diff --git a/docs/XMC1400-Kit-for-Arduino.md b/docs/XMC1400-Kit-for-Arduino.md
deleted file mode 100644
index d6b9deed..00000000
--- a/docs/XMC1400-Kit-for-Arduino.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Overview
-This pages summarizes information about the XMC1400 Kit for Arduino evaluation board and its implementation for the Arduino IDE. The XMC1400 Kit for Arduino board consists of a XMC1400 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1400_arduino/).
-
-# Arduino Pin Out
-The pin layout of the XMC1400 Kit for Arduino for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%201400_KitforArduino_PO_v2.png)).
-
-## Important Note
-
-Please note that pins **P1.4** and **P0.5** are **swapped** on the board and are not consistent with the silkscreen. As a result, interrupt 0 (INT0) occurs at **Arduino pin 3** and inerrupt 1 (INT1) is located at **Arduino pin 25**.
-
-This is different from the original Arduino UNO Rev3 implementation. Please look at the pinout diagram above for more information.
-
-
-
-## Pin Out
-
-![XMC1400 Kit for Arduino Pin Out for Arduino](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%201400_KitforArduino_PO_v2.png)
-
-# Key Features
-* XMC1400 Microcontroller (ARM® Cortex™-M0 based) in TSSOP-38 with 64 KB Flash and full peripheral set of XMC1400 series
-* Detachable Segger J-Link (implemented with XMC4200)
-* Board shape & power supply for Arduino shields: [Shield List](http://shieldlist.org).
-* [Infineon shields](https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-registered-cortex-tm-m/xmc-development-tools-kits-and-boards/boards-and-shields-for-arduino/channel.html?channel=5546d4614b0b239c014ba1e6c4a73098) - Hardware compatible with Arduino
-
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the XMC1400 Kit for Arduino board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Infineon-XMC1400_ArduinoKit-UserManual-v02_00-EN.pdf?fileId=5546d4626cb27db2016d48e4c7051906).
-The datasheet for the XMC1400 can be found here [XMC1400 Datasheet](https://www.infineon.com/dgdl/Infineon-XMC1400-DataSheet-v01_04-EN.pdf?fileId=5546d46250cc1fdf015110a2596343b2) while the respective reference manual is located here [XMC1400 Reference Manual](https://www.infineon.com/dgdl/Infineon-XMC1400-AA_ReferenceManual-UM-v01_01-EN.pdf?fileId=5546d46250cc1fdf0150f6ebc29a7109).
-
diff --git a/docs/XMC4200-Platform2Go.md b/docs/XMC4200-Platform2Go.md
deleted file mode 100644
index 51adf4ec..00000000
--- a/docs/XMC4200-Platform2Go.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Overview
-This page summarizes information about the XMC4200 Platform 2Go evaluation board and its implementation for the Arduino IDE. The XMC4200 Platform 2Go evaluation board consists of a XMC4200 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_XMC4200/).
-Please note that there exist versions with 5 V and 3.3V. Please be careful which version you have and use with your respective shields. The one described here means the 5 V version as this one is compatible with Arduino shields designed for the 5 V systems.
-This kit has the XMC4200 device with debugger plus ETHERNET, CAN, ARDUINO, MikroBUS and Shields2Go form factor.
-Equipped with an ARM® Cortex®-M4 based XMC™ Microcontroller from Infineon Technologies AG, the XMC4200 Platform2Go is designed to evaluate the capabilities of Infineon’s XMC4200 Microcontroller. It can be used with a wide range of development tools including Infineon’s free of charge Eclipse based IDE DAVE.
-
-# Arduino Pin Out
-The pin layout of the XMC4200 Platform 2Go evaluation board (for 5V Shields) for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/xmc4200_platform2go_PO_v2.png)):
-
-![XMC4200 Platform 2Go evaluation board (for 5V Shields) Pin Out for Arduino](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/xmc4200_platform2go_PO_v2.png)
-
-## Important Note
-
-Please note that **Arduino pin number 15 & 21 (SCL & A5)** and **Arduino pin number 14 & 20 (SDA & A4)** are **connected** with each other on the board itself.
-Although they are different physical pins of the microcontroller, they are connected with each other on the board to comply with the original Arduino UNO Rev3 pin connections. This influences analog measurements on A4 and A5 if you are using I2C simultaneously.
-Details of the connection can also be found in the schematics in the user manual of the board [here](https://www.infineon.com/dgdl/Infineon-XMC4200_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fc159482c94).
-
-The [XMC4200 Platform2Go User Manual](https://www.infineon.com/dgdl/Infineon-XMC4200_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fc159482c94) on
-- Page 12 details the 3V3 signals on connectors X1 and X2 (Figure 7) including ADC channels
-- Page 15 below Figure 9 details analog input specifications
-
-See also another Wiki for notes on [XMC4xxx Series Analog pins](https://github.com/techpaul/XMC-for-Arduino/wiki/XMC4xxx-Series-Analog-pins "XMC4xxx series analogue pin WARNINGS")
-
-A workaround is to set the I2C pins to output open drain via `pinMode(, OUTPUT_OPENDRAIN);` and writing a HIGH afterwards via `digitalWrite(, HIGH);` to turn it off if you want to use the analog pins (but then I2C cannot be used anymore). Tri-state via `pinMode(, XMC_GPIO_MODE_INPUT_TRISTATE);` is also possible, but the open drain method is preferable as explained [here](https://github.com/Infineon/XMC-for-Arduino/issues/164#issuecomment-714804397) for some use cases. These functions are using the pin mode definitions from the XMC Peripheral Library defined [here](https://github.com/Infineon/XMC-for-Arduino/blob/0dcbd5822cb59d12a7bdae776d307fae9c607ed7/cores/xmc_lib/XMCLib/inc/xmc4_gpio.h#L206).
-
-You can also cut the connection to the pins physically on the PCB to isolate them:
-
-![XMC4200 Cut Lines Board](https://github.com/Infineon/Assets/raw/version-2.x/Pictures/xmc4200_platform2go_layout.PNG)
-
-# Key Features
-* XMC™4200 (ARM® Cortex™-M4)
-* ARDUINO Uno compatibility
-* Shields2Go connectivity
-* Ethernet-enabled communication option
-* Additional voltage level shifters
-* Available in four different assembly versions: 3.3V Shields (Lite), 5V (Lite)
-* CAN connectivity
-
-# Benefits
-* Highest integration on Microcontrollers
-* Easy to design products
-* Highest efficiency
-* Reduced system cost
-
-# PCB Design Data
-In case you want to change the design or reuse it for your own projects, please find the XMC4200 Platform2Go board design for Altium under the following link:
-
-[XMC4200 Platform2Go PCB Design Data](https://www.infineon.com/dgdl/Infineon-XMC4200_Platform2Go-PCBDesignData-v01_00-EN.zip?fileId=5546d46277921c32017795dcc9cd4686)
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the XMC4200 Platform 2Go evaluation board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Infineon-XMC4200_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fca76c12c96).
-The datasheet for the XMC4200 can be found here [XMC4200 Datasheet](https://www.infineon.com/dgdl/Infineon-XMC4100_XMC4200_DS-DS-v01_04-EN.pdf?fileId=5546d462696dbf120169817056f938ff) while the respective reference manual is located here [XMC4200 Reference Manual](https://www.infineon.com/dgdl/Infineon-xmc4100_xmc4200_rm_v1.6_2016-UM-v01_06-EN.pdf?fileId=db3a30433afc7e3e013b3c44ccd35c20).
-
diff --git a/docs/XMC4400-Platform2Go.md b/docs/XMC4400-Platform2Go.md
deleted file mode 100644
index 65b972d7..00000000
--- a/docs/XMC4400-Platform2Go.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Overview
-This page summarizes information about the XMC4400 Platform 2Go evaluation board and its implementation for the Arduino IDE. The XMC4400 Platform 2Go evaluation board consists of a XMC4400 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4400/).
-Please note that there exist versions with 5 V and 3.3V. Please be careful which version you have and use with your respective shields. The one described here means the 5 V version as this one is compatible with Arduino shields designed for the 5 V systems.
-This kit has the XMC4400 device with debugger plus ETHERNET, CAN, ARDUINO, MikroBUS and Shields2Go form factor.
-Equipped with an ARM® Cortex®-M4 based XMC™ Microcontroller from Infineon Technologies AG, the XMC4400 Platform2Go is designed to evaluate the capabilities of Infineon’s XMC4400 Microcontroller. It can be used with a wide range of development tools including Infineon’s free of charge Eclipse based IDE DAVE.
-
-# Arduino Pin Out
-The pin layout of the XMC4400 Platform 2Go evaluation board (for 5V Shields) for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/xmc4400_platform2go_PO_v2.png)):
-
-![XMC4400 Platform 2Go evaluation board (for 5V Shields) Pin Out for Arduino](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/xmc4400_platform2go_PO_v2.png)
-
-## Connected I2S and Analog pin
-Please note that **Arduino pin number 15 & 21 (SCL & A5)** and **Arduino pin number 14 & 20 (SDA & A4)** are **connected** with each other on the board itself.
-Although they are different physical pins of the microcontroller, they are connected with each other on the board to comply with the original Arduino UNO Rev3 pin connections. This influences analog measurements on A4 and A5 if you are using I2C simultaneously.
-Details of the connection can also be found in the schematics in the user manual of the board [here](https://www.infineon.com/dgdl/Infineon-XMC4400_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fc159482c94).
-
-The [XMC4400 Platform2Go User Manual](https://www.infineon.com/dgdl/Infineon-XMC4400_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fc159482c94) on
-- Page 12 details the 3V3 signals on connectors X1 and X2 (Figure 7) including ADC channels
-- Page 15 below Figure 9 details analog input specifications
-
-See also another Wiki for notes on [XMC4xxx Series Analog pins](https://github.com/techpaul/XMC-for-Arduino/wiki/XMC4xxx-Series-Analog-pins "XMC4xxx series analogue pin WARNINGS")
-
-A workaround is to set the I2C pins to output open drain via `pinMode(, OUTPUT_OPENDRAIN);` and writing a HIGH afterwards via `digitalWrite(, HIGH);` to turn it off if you want to use the analog pins (but then I2C cannot be used anymore). Tri-state via `pinMode(, XMC_GPIO_MODE_INPUT_TRISTATE);` is also possible, but the open drain method is preferable as explained [here](https://github.com/Infineon/XMC-for-Arduino/issues/164#issuecomment-714804397) for some use cases. These functions are using the pin mode definitions from the XMC Peripheral Library defined [here](https://github.com/Infineon/XMC-for-Arduino/blob/0dcbd5822cb59d12a7bdae776d307fae9c607ed7/cores/xmc_lib/XMCLib/inc/xmc4_gpio.h#L206).
-
-You can also cut the connection to the pins physically by cutting the marked blue routes on the back side of the PCB:
-
-![XMC4400 Cut Lines Board](https://user-images.githubusercontent.com/26908977/96910232-7332d980-149f-11eb-81ec-2b5c23b01372.png)
-
-## CAN Terminal Resistor
-R2 needs to be removed if the board is neither start nor end node.
-
-# Key Features
-* XMC™4400 (ARM® Cortex™-M4)
-* ARDUINO Uno compatibility
-* Shields2Go connectivity
-* Ethernet-enabled communication option
-* Additional voltage level shifters
-* Available in four different assembly versions: 3.3V Shields (Lite), 5V (Lite)
-* CAN connectivity
-
-# Benefits
-* Highest integration on Microcontrollers
-* Easy to design products
-* Highest efficiency
-* Reduced system cost
-
-# PCB Design Data
-In case you want to change the design or reuse it for your own projects, please find the XMC4400 Platform2Go board design for Altium under the following link:
-
-[XMC4400 Platform2Go PCB Design Data](https://www.infineon.com/dgdl/Infineon-XMC4400_Platform2Go-PCBDesignData-v01_00-EN.zip?fileId=5546d46277921c32017795dcd31b4689)
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the XMC4400 Platform 2Go evaluation board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Infineon-XMC4400_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fc159482c94).
-The datasheet for the XMC4400 can be found here [XMC4400 Datasheet](https://www.infineon.com/dgdl/Infineon-XMC4400-DS-v01_03-EN.pdf?fileId=5546d462696dbf12016981795855391d) while the respective reference manual is located here [XMC4400 Reference Manual](https://www.infineon.com/dgdl/Infineon-xmc4400_rm_v1.6_2016-UM-v01_06-EN.pdf?fileId=db3a30433afc7e3e013b3c46756b5c41).
-
diff --git a/docs/XMC4700-Relax-Kit.md b/docs/XMC4700-Relax-Kit.md
deleted file mode 100644
index 3a85d437..00000000
--- a/docs/XMC4700-Relax-Kit.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Overview
-This pages summarizes information about the XMC4700 Relax Kit evaluation board and its implementation for the Arduino IDE. The XMC4700 Relax Kit board consists of a XMC4700 microcontroller with a debugger implemented by a XMC4200 microcontroller. The Infineon homepage of the board can be found [here](https://www.infineon.com/cms/en/product/evaluation-boards/KIT_XMC47_RELAX_5V_AD_V1/productType.html?productType=5546d46250cc1fdf0150f6a27dbf6e8a).
-Please note that there exist versions with 5 V and 3.3V. Please be careful which version you have and use with your respective shields. The one described here means the 5 V version as this one is compatible with Arduino shields designed for the 5 V systems.
-
-# Arduino Pin Out
-The pin layout of the XMC4700 Relax Kit (for 5V Shields) for the Arduino IDE is as follows (the original file can be found [here](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%204700_RelaxKit_5VShields_PO_v2.png)):
-
-## Pin Out
-
-![XMC4700 Relax Kit (for 5V Shields) Pin Out for Arduino](https://github.com/Infineon/Assets/blob/version-2.x/Pictures/XMC%204700_RelaxKit_5VShields_PO_v2.png)
-
-## Important Note
-
-Please note that **Arduino pin number 15 & 21 (SCL & A5)** and **Arduino pin number 14 & 20 (SDA & A4)** are **connected** with each other on the board itself.
-Although they are different physical pins of the microcontroller, they are connected with each other on the board to comply with the original Arduino UNO Rev3 pin connections. This influences analog measurements on A4 and A5 if you are using I2C simultaneously.
-Details of the connection can also be found in the schematics in the user manual of the board [here](https://www.infineon.com/dgdl/Infineon-Board_User_Manual_XMC4700_XMC4800_Relax_Kit_Series-UM-v01_02-EN.pdf?fileId=5546d46250cc1fdf01513f8e052d07fc).
-
-The [User Manual](https://www.infineon.com/dgdl/Infineon-Board_User_Manual_XMC4700_XMC4800_Relax_Kit_Series-UM-v01_02-EN.pdf?fileId=5546d46250cc1fdf01513f8e052d07fc) on
-- Page 11 details the 3V3 signals on connectors X1 and X2 (figure 7) including ADC channels
-- Page 12 below Figure 8 details analog input specifications
-
-See also another Wiki for notes on [XMC4xxx Series Analog pins](https://github.com/techpaul/XMC-for-Arduino/wiki/XMC4xxx-Series-Analog-pins "XMC4xxx series analogue pin WARNINGS")
-
-A workaround is to set the I2C pins to output open drain via `pinMode(, OUTPUT_OPENDRAIN);` and writing a HIGH afterwards via `digitalWrite(, HIGH);` to turn it off if you want to use the analog pins (but then I2C cannot be used anymore). Tri-state via `pinMode(, XMC_GPIO_MODE_INPUT_TRISTATE);` is also possible, but the open drain method is preferable as explained [here](https://github.com/Infineon/XMC-for-Arduino/issues/164#issuecomment-714804397) for some use cases. These functions are using the pin mode definitions from the XMC Peripheral Library defined [here](https://github.com/Infineon/XMC-for-Arduino/blob/0dcbd5822cb59d12a7bdae776d307fae9c607ed7/cores/xmc_lib/XMCLib/inc/xmc4_gpio.h#L206).
-
-You can also cut the physical connection on the board itself (blue routes on the back side of the PCB) as indicated here:
-
-![XMC4700 Cut Copper Analog](https://user-images.githubusercontent.com/20902096/96850978-c2edb280-1457-11eb-9636-b4e8c7b0f725.JPG)
-
-# Key Features
-* XMC4700-F144 Microcontroller based on ARM® Cortex®-M4 @ 144MHz, 2MB Flash and 352KB RAM
-* On-Board Debugger
-* Power over USB
-* ESD and reverse current protection
-* 2 x user button and 2 x user LED
-* Arduino hardware compatible 3.3V and 5.0 V pinout (depending on the version)
-
-# PCB Design Data
-In case you want to change the design or reuse it for your own projects, please find the XMC4700 Relax Kit board design for EAGLE under the following link:
-
-[XMC4700 Relax Kit PCB Design Data](https://www.infineon.com/dgdl/Infineon-PCB+Footprints+and+Symbols+-+XMC4700-XMC4800+-+Source+Eagle+-+Relax+Kit+Series-PCB-v01_00-EN.zip?fileId=5546d46250cc1fdf015139c2d2f32016)
-
-# Board Information, Datasheet and Additional Information
-A PDF summarizing the features and layout of the XMC4700 Relax Kit board is stored on the Infineon homepage [here](https://www.infineon.com/dgdl/Infineon-Board_User_Manual_XMC4700_XMC4800_Relax_Kit_Series-UM-v01_02-EN.pdf?fileId=5546d46250cc1fdf01513f8e052d07fc).
-The datasheet for the XMC4700 can be found here [XMC4700 Datasheet](https://www.infineon.com/dgdl/Infineon-XMC4700-XMC4800-DS-v01_00-EN.pdf?fileId=5546d462518ffd850151908ea8db00b3) while the respective reference manual is located here [XMC4700 Reference Manual](https://www.infineon.com/dgdl/Infineon-ReferenceManual_XMC4700_XMC4800-UM-v01_03-EN.pdf?fileId=5546d462518ffd850151904eb90c0044).
-
diff --git a/docs/_Sidebar.md b/docs/_Sidebar.md
deleted file mode 100644
index 5a79f601..00000000
--- a/docs/_Sidebar.md
+++ /dev/null
@@ -1,29 +0,0 @@
-* [Home](Home)
-* [Issues](Issues)
-* [Implementation in Arduino IDE](Implementation-in-Arduino-IDE)
- * [Linux 64 bit Flasher to board](Linux-64-bit-Flasher-to-board "Getting Segger and XMC-Flasher to work on 64 bit Linux")
- * [Windows 10 64 bit Flasher](Windows-10-64-bit-Flasher "Getting Segger and XMC-Flasher to work on 64 bit Windows 10")
-
-* [Built-in Libraries](Built-in-Libraries)
-* Supported Boards
- * [XMC1100 2Go](XMC1100-2Go)
- * [XMC1100 Boot Kit](XMC1100-Boot-Kit)
- * [XMC1300 Boot Kit](XMC1300-Boot-Kit)
- * [XMC1400 2Go](XMC1400-2Go)
- * [XMC1400 Kit for Arduino](XMC1400-Kit-for-Arduino)
- * [XMC4200 Platform2Go](XMC4200-Platform2Go)
- * [XMC4400 Platform2Go](XMC4400-Platform2Go)
- * [XMC4700 Relax Kit](XMC4700-Relax-Kit)
-* Legacy board (Supported until 1.7.0)
- * [XMC1100 H-Bridge 2Go](XMC1100-H-Bridge-2Go)
- * [XMC1300 Sense2GoL](XMC1300-Sense2GoL)
- * [XMC1400 Boot Kit](XMC1400-Boot-Kit)
- * [DEMO Radar BB XMC4700](DEMO-Radar-BB-XMC4700)
-
-
-* Arduino Variations
- * [Functions and Options Differences](Functions-and-Options-Differences "Known differences between Arduino for AVR and XMC-for-Arduino")
- * [Analog Functions and improvements](Analog-Functions-and-Additions "Extra analog functonality over Arduino for AVR and XMC-for-Arduino")
- * [I2C and Analog pins](I2C-Analog-pins "I2C and analogue pin differences Arduino for AVR and XMC-for-Arduino")
- * [Serial Output Selection](Serial-selection)
-* [Contributing and Third Party Libraries](Contributing-and-Third-Party-Libraries)
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
new file mode 100644
index 00000000..8d3a68bf
--- /dev/null
+++ b/docs/_templates/layout.html
@@ -0,0 +1,70 @@
+{% extends "!layout.html" %}
+ {% block footer %} {{ super() }}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/docs/arduino-deviations.rst b/docs/arduino-deviations.rst
new file mode 100644
index 00000000..2d8e5f2e
--- /dev/null
+++ b/docs/arduino-deviations.rst
@@ -0,0 +1,313 @@
+Deviations from Arduino Language Reference
+==========================================
+
+Functions and Options Differences
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Extra modes (if patches applied)
+--------------------------------
+
+This section covers the differences between standard Arduino and XMC-for-Arduino
+
+GPIO
+++++
+
+Extra pinMode types added that most engineers want
+
+.. code-block::
+
+ INPUT_PULLDOWN
+ OUTPUT_OPENDRAIN
+
+
+Extra functions (than standard Arduino AVR)
+--------------------------------------------
+
+GPIO
+++++
+Does what the function names says but must have been configured as output
+
+.. code-block::
+
+ digitalToggle( pin )
+
+Arduino Function Differences
+-------------------------------
+
+Input Mode Pins
++++++++++++++++
+
+On standard Arduino boards, GPIO is by default either a function
+like Serial or in INPUT mode.
+
+On XMC boards the inputs are UNDEFINED, you MUST specify every pin
+to be in INPUT Mode that needs Inputs.
+
+
+Wire/I2C Differences
+++++++++++++++++++++
+
+The method in Wire class for 'begin' is not the same as AVR Arduino,
+and has different modes for Master and Slave
+
+In AVR Arduino setting an I2C Master or Slave
+
+.. code-block::
+
+ Wire.begin(8); // join i2c bus (address optional for master)
+
+XMC-for-Arduino setting for I2C Master ONLY
+
+.. code-block::
+
+ Wire.begin(); // join i2c bus (address blank for master)
+
+Currently the address is NOT optional for XMC as this currently assumes this
+must be Slave mode configuration and sets the I2C configuration differently.
+
+Tone
+++++
+
+Number of Tone pins is determined by pins_arduino.h define NUM_TONE_PINS.
+This allows for use in other modules and for variations between boards as
+>100MHz boards can obviously handle more tone pins.
+
+The default for XMC1xxx is 4 with a change XMC4xxxx should be 16
+
+Tone has frequency range of maximum = 500 Hz minimum = 1 Hz
+
+This is due to the fact that the tone frequency is software derived from
+the Systick handler, Systick has a time period of 1 ms. At maximum each
+handler event for Systick toggles a GPIO pin, so at minimum period of 1 ms
+the output is toggled, so TWO events produce one square wave cycle, therefore
+the maximum output frequency is 500Hz.
+
+The minimum is due to the fact that tone function only accepts an unsigned
+integer (32 bit) for the frequency, so the minimum usable frequency is 1.
+
+Standard Arduino boards use hardware timers (the few that are available) to
+generate tones and at least one timer can interfere with other functions.
+
+However this does mean you can have more tone pins, just much lower frequency range.
+
+
+Analog Functions and improvements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+wiring_analog after V1.2.1
+-----------------------------
+Analog functions like analogRead and analogWrite etc. have changed after
+V1.2.1 to have extra safety measures to ensure invalid settings cannot be
+done and report errors.
+
+Additionally extra getter functions have been added so other libraries can
+access the resolution of read and write functions as number of bits and
+current maximum value possible.
+
+
+Extra functions
+---------------
+
+These functions return the analogue resolution as number of bits
+
+* uint8_t getAnalogReadBits( ) - range 8 to 12
+* uint8_t getAnalogWriteBits( ) - range 8 to 16
+
+These functions return the analogue resolution as its maximum value
+
+* uint16_t getAnalogReadMaximum( ) - range 255 to 4095
+* uint16_t getAnalogWriteMaximum( ) - range 255 to 65535
+
+This function enables the analog amplifiers at the ADC inputs with
+adjustible gain (for XMC1000 series)
+
+* uint32_t analogRead_variableGain( uint8_t channel, uint8_t gain_value )
+
+The gain factor values can be found :ref:`here `.
+
+
+Default Values
+--------------
+
+Read resolution default is 10 bits (0 to 1023)
+
+Write resolution default is 8 bits (0 to 255)
+
+
+Error and Return Codes by Function
+----------------------------------
+
+Where possible functions do :command:`NOT` action invalid parameters passed in.
+
+Functions return error codes or valid values so be sure which error
+code you are looking for as some functions can return 0 as a valid
+value (e.g. analogRead) so an out of range value is returned instead.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Function
+ - Valid Return
+ - Errors
+ * - analogReadResolution
+ - | 8 to 12
+ | as passed in
+ - 255
+ * - getAnalogReadBits
+ - 8 to 12
+ - none
+ * - getanalogReadMaximum
+ - 255 to 4095
+ - none
+ * - analogWriteResolution
+ - | 8 to 16
+ | as passed in
+ - 255
+ * - getAnalogWriteBits
+ - 8 to 16
+ - none
+ * - getanalogWriteMaximum
+ - 255 to 65535
+ - none
+ * - analogRead
+ - 0 to Maximum for Resolution
+ - | 0xFFFFFFFF usually
+ | invalid channel
+ * - analogWrite
+ - 0 success
+ - | -1 = invalid value
+ | -2 = wrong pin
+ * - setAnalogWriteFrequency
+ - 0 success
+ - | -1 = invalid frequency
+ | -2 = wrong pin
+ * - analogReference
+ - none
+ - NULL function see below
+
+This should enable checks in software for valid operation
+and debugging problem code.
+
+AREF Analogue Reference
+-----------------------
+
+On all boards the Analogue Reference is set to use the internal power supply
+(however noisy), so the AREF pin is an :command:`OUTPUT` of the AREF in use.
+Do :command:`NOT` connect any external voltage source to this pin, or use
+shields that change this voltage.
+
+:command:`CAUTION` any shorts on this pin especially to 0V (GND) will bring
+down the supply
+of the chip.
+
+The pin voltage is the current supply voltage to AREF for analogue conversions.
+
+This pin :command:`CANNOT` be reassigned as GPIO (pinMode has no effect).
+
+:command:`analogReference( )`
+
+This function has NO operation and will not match any call on parameters
+passed in with other libraries or examples that use this call.
+
+Any shields and examples that try to change this, will :command:`NOT` function
+the same on these boards.
+
+
+Analog amplifiers at the ADC inputs with adjustible gain
+--------------------------------------------------------
+Each analog input channel can be configured to be amplified by an adjustable
+gain factor, for XMC1000 series. To configure the gain, the gain value is to
+be selected in the analogRead_variableGain() function which translates to a
+gain factor as per the following table:
+
+
+.. _gain_factor:
+
+.. list-table::
+ :header-rows: 1
+
+ * - Gain value
+ - Gain factor
+ * - 0
+ - 1
+ * - 1
+ - 3
+ * - 2
+ - 6
+ * - 3
+ - 12
+
+For more information, please refer to the application note
+`here `_.
+
+I2C Analog pins
+^^^^^^^^^^^^^^^
+
+Arduino Uno R3 format dictates that A4 and A5 are also used
+for I2C operations, so when I2C is enabled analogue inputs A4
+and A5 are NOT available.
+
+On Arduino Uno R3 this is an alternate pin function, depending
+on which XMC-for-Arduino boards this could be an alternate pin
+function, or other case as described below.
+
+
+.. list-table::
+ :header-rows: 1
+
+ * - Board
+ - Functionality
+ - Note
+ * - XMC1100 Boot Kit
+ - NOT supported
+ - | A4 + A5 are separate
+ | A6 + A7 are alternate pin
+ | configurations to I2C
+ * - XMC1300 Boot Kit
+ - | NOT same pin format
+ | as Arduino Uno R3
+ - | A10 + A11 are alternate pin
+ | configurations to I2C
+ * - XMC1400 Arduino Kit
+ - Alternate pin function
+ - Matches Arduino Uno
+ * - XMC4400 Platform 2Go
+ - External hard wired pins
+ - | For 3V3 boards set I2C pins to tristate or open drain to use
+ | For 5V boards refer to [this section](https://xmc-arduino.readthedocs.io/en/latest/hw-platforms.html#connected-i2s-and-analog-pins) on track cuts to enable A4 and A5 to work
+ | Level shifter on the 5V board could interfere with tristate/open drain setting
+ * - XMC4700 Relax Kit (and variants)
+ - External hard wired pins
+ - | For 3V3 boards set I2C pins to tristate or open drain to use
+ | For 5V boards see [this section](https://xmc-arduino.readthedocs.io/en/latest/hw-platforms.html#connected-i2s-and-analog-pins) board page on track cuts to enable A4 and A5 to work
+ | Level shifter on the 5V board could interfere with tristate/open drain setting
+
+
+Serial selection
+^^^^^^^^^^^^^^^^
+
+Serial Output Selection
+-----------------------
+On the XMC boards, two kinds of serial outputs are possible, namely:
+
+* SERIAL DEBUG (via PC)
+* SERIAL ONBOARD
+
+If these two outputs share the same instance of the internal USIC channel,
+only one of the two could be used at a given time. The selection can be made
+via the Tools menu as shown in the picture below.
+
+.. image:: img/arduino_ide_serial_selection.png
+ :width: 600
+
+This is generally the case for most of the XMC boards. However, for boards
+such as the :ref:`xmc4200-platform2go` and the :ref:`xmc4700-relax`, both the serial
+output modes are simultaneously active and neednot be selected or enabled from the menu.
+
+Note: Please note that the sketch must be recompiled when a different serial
+output is selected.
+
+:command:`For advanced users`
+The build flag -DSERIAL_HOSTPC must be used for the serial output interface
+via PC and the build flag -DSERIAL_ONBOARD must be used for serial output
+through the onboard TX and RX pins
\ No newline at end of file
diff --git a/docs/builtin-libraries.rst b/docs/builtin-libraries.rst
new file mode 100644
index 00000000..c8700739
--- /dev/null
+++ b/docs/builtin-libraries.rst
@@ -0,0 +1,272 @@
+Built-in Libraries
+==================
+
+The XMC for Arduino platform provides a comprehensive set of built-in libraries that enable developers to easily access
+and utilize the XMC microcontrollers' features and peripherals. This section lists these libraries, including their
+functionality and supported boards.
+
+DeviceControl XMC
+^^^^^^^^^^^^^^^^^
+
+Examples Supported
+------------------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Examples
+ - Boards
+ - Description
+ * - DieTemperatureMeasurement
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | Simple die temperature measurement
+ | for XMC devices which demonstrates
+ | themeasure temperature of die using
+ | sensor.
+ * - HeapMemoryMeasurement
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4700 Relax Kit
+ - | Simple example to check heap memory
+ | during run time for XMC devices which
+ | demonstrates the ability to check on
+ | free heap memory.
+ * - SleepModeXMC1100
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ - | Demonstrates the use of an alarm to
+ | wake up an xmc1100 from sleep mode.
+ * - SleepModeXMC4700
+ - | XMC4700 Relax Kit
+ - | Simple Sleep Mode for XMC4700
+ | Relax Kit V1 demonstrates the use of
+ | an alarm to wake up an XMC4700 from
+ | sleep mode. LED2 will blink fast on
+ | active mode. If CCU4 is ON in sleep
+ | mode, LED2 will blink slower
+ | (because of slower clock) while
+ | in sleep mode. If CCU is OFF in sleep
+ | mode, LED2 will stop blinking, until
+ | device wakes up.
+ * - StackMemoryMeasurement
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | Simple example to check stack memory
+ | during run time for XMC devices which
+ | demonstrates the ability to check on
+ | free stack memory
+
+DMA
+^^^^^
+
+Examples Supported
+-------------------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Examples
+ - Boards
+ - Description
+ * - DMA_Memory
+ - | XMC4700 Relax Kit
+ - | Demonstrates how to setup an DMA, to transfer
+ | data between two places in memory.
+ * - DMA_UART
+ - | XMC4700 Relax Kit
+ - | Demonstrates how to setup an DMA, to transfer
+ | data between two places in memory.
+
+
+
+RTC Library
+^^^^^^^^^^^
+
+.. list-table::
+ :header-rows: 1
+
+ * - Examples
+ - Boards
+ - Description
+ * - AlarmRTC
+ - XMC4700 Relax Kit
+ - | Demonstrates how to set an RTC alarm for the
+ | XMC4700 Relax Kit V1.
+ * - SimpleRTC
+ - XMC4700 Relax Kit
+ - Demonstrates the use of the RTC library for the XMC4700.
+
+
+SPI Library
+^^^^^^^^^^^
+
+.. list-table::
+ :header-rows: 1
+
+ * - Examples
+ - Boards
+ - Description
+ * - | SPI_MOSI_to_MISO
+ | _SameDevice
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | SPI example which communicates between the
+ | MOSI and MISO pin of the same board. Connect
+ | the MOSI pin to the MOSI pin as hardware
+ | setup.
+
+
+Wire Library
+^^^^^^^^^^^^
+
+.. list-table::
+ :header-rows: 1
+
+ * - Examples
+ - Boards
+ - Description
+ * - master_reader
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | Demonstrates use of the Wire library. Reads data
+ | from an I2C/TWI slave device. Refer to the "Wire Slave
+ | Sender" example for use with this. Then it
+ | communicates using I2C protocol between two
+ | supported XMC boards. Connect the SDA and SCL
+ | pins of one board to the SDA and SCL pin of the
+ | other board.
+ * - master_writer
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | Demonstrates use of the Wire library. Writes data to
+ | an I2C/TWI slave device. Refer to the "Wire Slave
+ | Receiver" example for use with this. Then it
+ | communicates using I2C protocol between two
+ | supported XMC boards. Connect the SDA and SCL
+ | pins of one board to the SDA and SCL pin of the
+ | other board.
+ * - slave_receiver
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | Demonstrates use of the Wire library. Receives data as
+ | an I2C/TWI slave device. Refer to the "Wire Slave
+ | Writer" example for use with this. Then it
+ | communicates using I2C protocol between two
+ | supported XMC boards. Connect the SDA and SCL
+ | pins of one board to the SDA and SCL pin of the
+ | other board.
+ * - slave_sender
+ - | XMC1100 XMC 2GO
+ | XMC1100 Boot Kit
+ | XMC1100 H-Bridge 2GO
+ | XMC1300 Boot Kit
+ | XMC1400 2GO Kit
+ | XMC1400 Arduino Kit
+ | XMC4400 Platform 2Go
+ | XMC4700 Relax Kit
+ - | Demonstrates use of the Wire library. Receives data as
+ | an I2C/TWI slave device. Refer to the "Wire Master
+ | Reader" example for use with this. Then it
+ | communicates using I2C protocol between two
+ | supported XMC boards. Connect the SDA and SCL
+ | pins of one board to the SDA and SCL pin of the
+ | other board.
+
+
+I2S Library
+^^^^^^^^^^^
+
+This library has been tested with the IM69D130 Microphone Shield2Go with both XMC4700 Relax Kit and XMC1100 XMC2Go.
+Please refer to the `README.md `_ of
+the I2S library for pin connections.
+
+Limitations
+-----------
+With XMC 2Go (possibly also with other XMC1000 family devices), you might easily overflow the I2S buffer and you should
+try to reduce the I2S sampling rate if so.
+
+OneWire Library
+^^^^^^^^^^^^^^^
+
+Library for One wire protocol. It could be used to access 1-wire temperature sensors, memory and other chips.
+
+CAN Library
+^^^^^^^^^^^
+
+This library provides support for the CAN protocol. For further details, please refer to the `README.md `_ file in the CAN library.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Examples
+ - Boards
+ - Description
+ * - CANSender
+ - XMC1400 2GO
+ - | This example demonstrates how to send a CAN message.
+ | It supports two different message/frame formats:
+ | standard and extended. The CAN standard frame uses
+ | an 11-bit identifier, while the CAN extended frame
+ | uses a 29-bit identifier.
+ * - | CANReceiver/
+ | CANReceiverCallback
+ - XMC1400 2GO
+ - | This example demonstrates how to receive a CAN
+ | message. There are two methods for receiving messages:
+ | the default method runs a loop that continuously
+ | polls for new messages, while the callback method
+ | registers a callback function that triggers an interrupt
+ | when data is received on the CAN bus. In both examples,
+ | messages with any ID transmitted on the CAN bus can
+ | be received. Additionally, messages can be filtered for
+ | specific IDs using the ``filter()`` function.
+ * - CANLoopBack
+ - XMC1400 2GO
+ - | This example demonstrates the loopback mode of CAN.
+ | In this mode, the CAN transmitter is internally connected
+ | to its receiver, allowing the message to be sent and
+ | received internally without transmission onto the actual
+ | CAN bus.
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 00000000..0008b484
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,116 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# http://www.sphinx-doc.org/en/master/config
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+
+from recommonmark.parser import CommonMarkParser
+from sphinx.builders.html import StandaloneHTMLBuilder
+import subprocess, os, sys
+import textwrap
+
+# Check if we're running on Read the Docs' servers
+read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
+
+# -- Project information -----------------------------------------------------
+
+project = 'XMC for Arduino'
+copyright = '2024 Infineon Technologies AG'
+author = 'Infineon Technologies AG'
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+#...
+
+# At top on conf.py (with other import statements)
+# import recommonmark
+# from recommonmark.transform import AutoStructify
+
+# # At the bottom of conf.py
+# def setup(app):
+# app.add_config_value('recommonmark_config', {
+# 'url_resolver': lambda url: github_doc_root + url,
+# 'auto_toc_tree_section': 'Contents',
+# }, True)
+# app.add_transform(AutoStructify)
+
+extensions = [
+ # 'sphinx.ext.autodoc',
+ # 'sphinxemoji.sphinxemoji',
+ # 'sphinx_tabs.tabs',
+ # 'sphinx.ext.intersphinx',
+ # 'sphinx.ext.autosectionlabel',
+ # 'sphinx.ext.todo',
+ # 'sphinx.ext.coverage',
+ # 'sphinx.ext.mathjax',
+ # 'sphinx.ext.ifconfig',
+ # 'sphinx.ext.viewcode',
+ # 'sphinx_sitemap',
+ # 'sphinx.ext.graphviz',
+ # 'sphinx.ext.inheritance_diagram',
+ # 'breathe',
+ # 'exhale'
+
+]
+
+autosectionlabel_prefix_document = True
+# source_parsers = {
+# '.md': 'recommonmark.parser.CommonMarkParser',
+# }
+
+source_suffix = [
+ '.rst',
+ # '.md'
+]
+
+suppress_warnings = ['autosectionlabel.*', 'epub.duplicated_toc_entry']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# Tell sphinx what the primary language being documented is.
+primary_domain = 'cpp'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = ['_build', 'build', 'Thumbs.db', '.DS_Store']
+
+highlight_language = 'c++'
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+
+html_theme = 'sphinx_rtd_theme'
+# html_theme_options = {
+# "head_font_family" : "Source Sans Pro",
+# "font_family" : "Source Sans Pro",
+# "body_text_align" : "justify",
+# }
+
+html_logo = 'img/ifx_logo_white_green_s.png'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_templates']
+
+# -- Breathe configuration -------------------------------------------------
+
+breathe_projects = {
+ "XMC for Arduino": "build/xml/"
+}
+breathe_default_project = "XMC for Arduino"
+breathe_default_members = ('members', 'undoc-members')
\ No newline at end of file
diff --git a/docs/hw-platforms.rst b/docs/hw-platforms.rst
new file mode 100644
index 00000000..24b394e7
--- /dev/null
+++ b/docs/hw-platforms.rst
@@ -0,0 +1,348 @@
+Supported Boards
+================
+
+The following XMC microcontroller boards are supported by XMC for Arduino:
+
+.. list-table:: Supported Microcontroller Boards
+ :header-rows: 1
+
+ * - Picture
+ - Board Name
+ - MCU
+ - Form Factor
+ * - .. image:: img/KIT_XMC11_BOOT_001.jpg
+ - :ref:`KIT_XMC11_BOOT_001`
+ - XMC1100
+ - Arduino Uno
+ * - .. image:: img/KIT_XMC13_BOOT_001.jpg
+ - :ref:`KIT_XMC13_BOOT_001`
+ - XMC1302
+ - Proprietary
+ * - .. image:: img/KIT_XMC14_2GO.png
+ - :ref:`KIT_XMC14_2GO`
+ - XMC1404
+ - Shield2Go
+ * - .. image:: img/KIT_XMC1400_ARDUINO.jpg
+ - :ref:`KIT_XMC1400_ARDUINO`
+ - XMC1402
+ - Arduino Uno
+ * - .. image:: img/KIT_XMC_PLT2GO_XMC4200.jpg
+ - :ref:`KIT_XMC_PLT2GO_XMC4200`
+ - XMC4200
+ - Arduino Uno, Shield2Go, mikroBUS
+ * - .. image:: img/KIT_XMC_PLT2GO_XMC4400.jpg
+ - :ref:`KIT_XMC_PLT2GO_XMC4400`
+ - XMC4400
+ - Arduino Uno, Shield2Go, mikroBUS
+ * - .. image:: img/KIT_XMC47_RELAX_5V_AD_V1.jpg
+ - :ref:`KIT_XMC47_RELAX_5V_AD_V1`
+ - XMC4700
+ - Arduino Uno
+
+.. note::
+ For all Kit 2Go or MS 2Go sensor boards please select ``XMC1100 XMC2Go`` in the Arduino IDE.
+
+.. _KIT_XMC11_BOOT_001:
+
+KIT_XMC11_BOOT_001
+------------------
+
+* Name in Arduino IDE: ``XMC1100 Boot Kit``
+* `Product Page `__
+
+.. image:: img/KIT_XMC11_BOOT_001.jpg
+ :width: 400
+
+The XMC1100 Boot Kit board consists of a XMC1100 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+The board shares the same power supply and board shape as other shields for Arduino.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+Please note that Arduino pin number 16 & 22 (SCL & A5) and Arduino pin number 15 & 21 (SDA & A4) are not connected with each other
+nor share the same pins/resources. This is different from the original Arduino UNO Rev3 implementation.
+
+.. image:: img/KIT_XMC11_BOOT_001_pinout.png
+ :width: 700
+
+-----------------------------------------------------------------------
+
+.. _KIT_XMC13_BOOT_001:
+
+KIT_XMC13_BOOT_001
+------------------
+
+* Name in Arduino IDE: ``XMC1300 Boot Kit``
+* `Product Page `__
+
+.. image:: img/KIT_XMC13_BOOT_001.jpg
+ :width: 400
+
+XMC1302 Microcontroller in TSSOP-38 with 200KB Flash and full peripheral set of XMC1300 series.
+
+-----------------------------------------------------------------------
+
+.. _KIT_XMC14_2GO:
+
+KIT_XMC14_2GO
+-------------
+
+* Name in Arduino IDE: ``XMC1400 XMC2GO``
+* `Product Page `__
+
+.. image:: img/KIT_XMC14_2GO.png
+ :width: 400
+
+The XMC1400 Kit 2Go provides an easy way to evaluate almost all capabilities of the XMC1400 microcontroller.
+The kit is powered via USB, interfaces to other Infineon sensor boards and provides multiple interfaces including a
+CAN bus. The software development is supported via ModusToolbox™ and the Arduino IDE.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+
+.. image:: img/KIT_XMC14_2GO_pinout.svg
+ :width: 700
+
+-----------------------------------------------------------------------
+
+.. _KIT_XMC1400_ARDUINO:
+
+KIT_XMC1400_ARDUINO
+-------------------
+
+* Name in Arduino IDE: ``XMC1400 Kit for Arduino``
+* `Product Page `__
+
+.. image:: img/KIT_XMC1400_ARDUINO.jpg
+ :width: 400
+
+The XMC1400 Kit for Arduino consists of a XMC1400 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+The board shares the same power supply and board shape as other shields for Arduino.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+Please note that pins ``P1.4`` and ``P0.5`` are swapped on the board and are not consistent with the silkscreen. As a result, interrupt 0 ``INT0``
+occurs as Arduino pin ``3`` and interrupt 1 ``INT1`` is located at Arduino pin ``25``. This is different from the original
+Arduino UNO Rev3 implementation. Please look at the pinout diagram for more information.
+
+.. image:: img/KIT_XMC1400_ARDUINO_pinout.png
+ :width: 700
+
+-----------------------------------------------------------------------
+
+.. _KIT_XMC_PLT2GO_XMC4200:
+
+KIT_XMC_PLT2GO_XMC4200
+----------------------
+
+* Name in Arduino IDE: ``XMC4200 Platform 2GO``
+* `Product Page `__
+
+.. image:: img/KIT_XMC_PLT2GO_XMC4200.jpg
+ :width: 400
+
+The XMC4200 Platform 2Go evaluation board consists of a XMC4200 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+Please note that there exist versions with 5V and 3.3V. Please be careful which version you have and use with your respective shields.
+The one described here is the 5V version as this one is compatible with Arduino shields designed for 5V systems.
+This kit is equipped with an ARM® Cortex®-M4 based XMC4200 microcontroller with on-board debugger, Ethernet, CAN and footprints for Arduino,
+MikroBUS and Shield2Go form factors.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+.. image:: img/KIT_XMC_PLT2GO_XMC4200_pinout.png
+ :width: 700
+
+Please note that Arduino pin number ``15`` & ``21`` (``SCL`` & ``A5``) and Arduino pin number ``14`` & ``20`` (``SDA`` & ``A4``) are connected with each other
+on the board itself. If you want to use them check out the subsection :ref:`connected_pins`.
+
+-----------------------------------------------------------------------
+
+.. _KIT_XMC_PLT2GO_XMC4400:
+
+KIT_XMC_PLT2GO_XMC4400
+----------------------
+
+* Name in Arduino IDE: ``XMC4400 Platform 2GO``
+* `Product Page `__
+
+.. image:: img/KIT_XMC_PLT2GO_XMC4400.jpg
+ :width: 400
+
+The XMC4400 Platform 2Go evaluation board consists of a XMC4400 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+Please note that there exist versions with 5V and 3.3V. Please be careful which version you have and use with your respective shields.
+The one described here is the 5V version as this one is compatible with Arduino shields designed for 5V systems.
+This kit is equipped with an ARM® Cortex®-M4 based XMC4400 microcontroller with on-board debugger, Ethernet, CAN and footprints for Arduino,
+MikroBUS and Shield2Go form factors.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+.. image:: img/KIT_XMC_PLT2GO_XMC4400_pinout.png
+ :width: 700
+
+Please note that Arduino pin number ``15`` & ``21`` (``SCL`` & ``A5``) and Arduino pin number ``14`` & ``20`` (``SDA`` & ``A4``) are connected with each other
+on the board itself. If you want to use them check out the subsection :ref:`connected_pins`.
+
+-----------------------------------------------------------------------
+
+.. _KIT_XMC47_RELAX_5V_AD_V1:
+
+KIT_XMC47_RELAX_5V_AD_V1
+------------------------
+
+* Name in Arduino IDE: ``XMC4700 Relax Kit``
+* `Product Page `__
+
+.. image:: img/KIT_XMC47_RELAX_5V_AD_V1.jpg
+ :width: 400
+
+The XMC4700 Relax Kit board consists of a XMC4700 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+Please note that there exist versions with 5V and 3.3V.
+Please be careful which version you have and use with your respective shields.
+The one described here is the 5V version as this one is compatible with Arduino shields designed for 5V systems.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+.. image:: img/KIT_XMC47_RELAX_5V_AD_V1_pinout.png
+ :width: 700
+
+Please note that Arduino pin number ``15`` & ``21`` (``SCL`` & ``A5``) and Arduino pin number ``14`` & ``20`` (``SDA`` & ``A4``) are connected with each other
+on the board itself. If you want to use them check out the subsection :ref:`connected_pins`.
+
+-----------------------------------------------------------------------
+
+.. _connected_pins:
+
+Connected I2S and Analog pins
+-----------------------------
+
+For the ``KIT_XMC_PLT2GO_XMC4200``, ``KIT_XMC_PLT2GO_XMC4400`` and ``KIT_XMC47_RELAX_5V_AD_V1`` the Arduino pin number ``15`` & ``21`` (``SCL`` & ``A5``) and Arduino
+pin number ``14`` & ``20`` (``SDA`` & ``A4``) are connected with each other on the board itself. Although they are different physical pins of the microcontroller,
+they are connected with each other on the board to comply with the original Arduino UNO Rev3 pin connections. This influences analog measurements on
+``A4`` and ``A5`` if you are using I2C simultaneously. Details of the connection can also be found in the schematics in the user manual of the board here:
+`KIT_XMC_PLT2GO_XMC4200 user manual`_, `KIT_XMC_PLT2GO_XMC4400 user manual`_ and `KIT_XMC47_RELAX_5V_AD_V1 user manual`_.
+
+The user manual shows on:
+
+* Page 11 details the 3.3V signals on connectors ``X1`` and ``X2`` (figure 7) including ADC channels
+* Page 12 below figure 8 details analog input specifications
+
+A workaround is to set the I2C pins to output open drain via ``pinMode(, OUTPUT_OPENDRAIN);`` and writing a ``HIGH`` afterwards via ``digitalWrite(, HIGH);``
+to turn it off if you want to use the analog pins (but then I2C cannot be used anymore). Tri-state via ``pinMode(, XMC_GPIO_MODE_INPUT_TRISTATE);`` is also possible,
+but the open drain method is preferable. These functions are using the pin mode definitions from the XMC Peripheral Library defined
+`here `_.
+
+You can also cut the physical connection on the board itself.
+
+For ``KIT_XMC_PLT2GO_XMC4200`` remove the resistor ``R104`` and ``R105``:
+
+.. image:: img/kit_xmc_plt2go_xmc4200_remove_resistors.png
+ :width: 300
+
+For the ``KIT_XMC_PLT2GO_XMC4400`` by cutting the marked blue routes on the back side of the PCB:
+
+.. image:: img/kit_xmc_plt2go_xmc4400_cut_routes.png
+ :width: 300
+
+For the ``KIT_XMC47_RELAX_5V_AD_V1`` cut the blue routes on the back side of the PCB as indicated here:
+
+.. image:: img/kit_xmc47_relax_cut_routes.jpg
+ :width: 300
+
+.. _KIT_XMC_PLT2GO_XMC4200 user manual: https://www.infineon.com/dgdl/Infineon-XMC4200_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fca76c12c96
+.. _KIT_XMC_PLT2GO_XMC4400 user manual: https://www.infineon.com/dgdl/Infineon-XMC4400_Platform2Go-UserManual-v01_00-EN.pdf?fileId=5546d4626f229553016f8fc159482c94
+.. _KIT_XMC47_RELAX_5V_AD_V1 user manual: https://www.infineon.com/dgdl/Infineon-Board_User_Manual_XMC4700_XMC4800_Relax_Kit_Series-UM-v01_02-EN.pdf?fileId=5546d46250cc1fdf01513f8e052d07fc
+
+-----------------------------------------------------------------------
+
+Legacy Microcontroller Boards
+=============================
+
+.. list-table:: Legacy Microcontroller Boards
+ :header-rows: 1
+
+ * - Supported until
+ - Board Name
+ - MCU
+ - Form Factor
+ * - still
+ - :ref:`KIT_XMC_2GO_XMC1100_V1`
+ - XMC1100
+ - Shield2Go
+ * - v1.7.0
+ - :ref:`H-BRIDGE KIT 2GO`
+ - XMC1100 & IFX9201
+ - Shield2Go
+ * - v1.7.0
+ - :ref:`XMC1300 Sense2GoL`
+ - XMC1300
+ - Proprietary
+ * - v1.7.0
+ - :ref:`XMC4700 Radar Baseboard`
+ - XMC4700
+ - Proprietary
+
+.. _KIT_XMC_2GO_XMC1100_V1:
+
+KIT_XMC_2GO_XMC1100_V1
+----------------------
+
+* Replaced by :ref:`KIT_XMC14_2GO`
+* Name in Arduino IDE: ``XMC1100 XMC2Go``
+
+The XMC1100 2Go board consists of a XMC1100 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+
+.. image:: img/KIT_XMC_2GO_XMC1100_V1_pinout.png
+ :width: 700
+
+-----------------------------------------------------------------------
+
+.. _H-BRIDGE KIT 2GO:
+
+H-BRIDGE KIT 2GO
+----------------
+
+* Name in Arduino IDE: ``XMC1100 H-Bridge 2Go``
+* `Product Page `__
+
+The XMC1100 2Go board consists of a XMC1100 microcontroller with a debugger implemented by a XMC4200 microcontroller.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+
+.. image:: img/H-BRIDGE_KIT_2GO_pinout.jpg
+ :width: 700
+
+-----------------------------------------------------------------------
+
+.. _XMC1300 Sense2GoL:
+
+XMC1300 Sense2GoL
+-----------------
+
+* Name in Arduino IDE: ``XMC1300 Sense2GoL``
+
+24 GHz sensor development kit utilizing Infineon BGT24LTR11 RF transceiver
+and XMC1300 32-bit ARM® Cortex®-M0 MCU series.
+
+-----------------------------------------------------------------------
+
+.. _XMC4700 Radar Baseboard:
+
+XMC4700 Radar Baseboard
+-----------------------
+
+* Name in Arduino IDE: ``XMC4700 Radar Baseboard``
+* `Product Page `__
+
+The Sense2GoL Pulse radar system is a demo platform for Infineon's 24GHz BGT24LTR11 radar transceiver.
+The Sense2GoL Pulse consists of two boards – the microcontroller board with the XMC4700 (RADAR BB XMC4700)
+and a radar frontend board (BGT24LTR11 Shield), which features a 4x1 array antenna for the transmitter and
+receiver sections. It is shielded with a metal cover and absorber material to get the best RF performance.
+
+Pinout Diagram
+^^^^^^^^^^^^^^
+
+.. image:: img/XMC4700_Radar_Baseboard_pinout.png
+ :width: 700
diff --git a/docs/image/XMC1400_Kit2Go_Pinout.png b/docs/image/XMC1400_Kit2Go_Pinout.png
deleted file mode 100644
index 78d7044f..00000000
Binary files a/docs/image/XMC1400_Kit2Go_Pinout.png and /dev/null differ
diff --git a/docs/img/H-BRIDGE_KIT_2GO_pinout.jpg b/docs/img/H-BRIDGE_KIT_2GO_pinout.jpg
new file mode 100644
index 00000000..90ab4413
Binary files /dev/null and b/docs/img/H-BRIDGE_KIT_2GO_pinout.jpg differ
diff --git a/docs/img/KIT_XMC11_BOOT_001.jpg b/docs/img/KIT_XMC11_BOOT_001.jpg
new file mode 100644
index 00000000..4ae3b79c
Binary files /dev/null and b/docs/img/KIT_XMC11_BOOT_001.jpg differ
diff --git a/docs/img/KIT_XMC11_BOOT_001_pinout.png b/docs/img/KIT_XMC11_BOOT_001_pinout.png
new file mode 100644
index 00000000..02e8d215
Binary files /dev/null and b/docs/img/KIT_XMC11_BOOT_001_pinout.png differ
diff --git a/docs/img/KIT_XMC13_BOOT_001.jpg b/docs/img/KIT_XMC13_BOOT_001.jpg
new file mode 100644
index 00000000..2fe5663f
Binary files /dev/null and b/docs/img/KIT_XMC13_BOOT_001.jpg differ
diff --git a/docs/img/KIT_XMC1400_ARDUINO.jpg b/docs/img/KIT_XMC1400_ARDUINO.jpg
new file mode 100644
index 00000000..21e79cfe
Binary files /dev/null and b/docs/img/KIT_XMC1400_ARDUINO.jpg differ
diff --git a/docs/img/KIT_XMC1400_ARDUINO_pinout.png b/docs/img/KIT_XMC1400_ARDUINO_pinout.png
new file mode 100644
index 00000000..8041c38f
Binary files /dev/null and b/docs/img/KIT_XMC1400_ARDUINO_pinout.png differ
diff --git a/docs/img/KIT_XMC14_2GO.png b/docs/img/KIT_XMC14_2GO.png
new file mode 100644
index 00000000..f89c4f47
Binary files /dev/null and b/docs/img/KIT_XMC14_2GO.png differ
diff --git a/docs/img/KIT_XMC14_2GO_pinout.svg b/docs/img/KIT_XMC14_2GO_pinout.svg
new file mode 100644
index 00000000..315e8d02
--- /dev/null
+++ b/docs/img/KIT_XMC14_2GO_pinout.svg
@@ -0,0 +1,64576 @@
+
+
+
+
diff --git a/docs/img/KIT_XMC47_RELAX_5V_AD_V1.jpg b/docs/img/KIT_XMC47_RELAX_5V_AD_V1.jpg
new file mode 100644
index 00000000..6c486eb7
Binary files /dev/null and b/docs/img/KIT_XMC47_RELAX_5V_AD_V1.jpg differ
diff --git a/docs/img/KIT_XMC47_RELAX_5V_AD_V1_pinout.png b/docs/img/KIT_XMC47_RELAX_5V_AD_V1_pinout.png
new file mode 100644
index 00000000..52737d47
Binary files /dev/null and b/docs/img/KIT_XMC47_RELAX_5V_AD_V1_pinout.png differ
diff --git a/docs/img/KIT_XMC_2GO_XMC1100_V1_pinout.png b/docs/img/KIT_XMC_2GO_XMC1100_V1_pinout.png
new file mode 100644
index 00000000..337dddde
Binary files /dev/null and b/docs/img/KIT_XMC_2GO_XMC1100_V1_pinout.png differ
diff --git a/docs/img/KIT_XMC_PLT2GO_XMC4200.jpg b/docs/img/KIT_XMC_PLT2GO_XMC4200.jpg
new file mode 100644
index 00000000..ee5899b0
Binary files /dev/null and b/docs/img/KIT_XMC_PLT2GO_XMC4200.jpg differ
diff --git a/docs/img/KIT_XMC_PLT2GO_XMC4200_pinout.png b/docs/img/KIT_XMC_PLT2GO_XMC4200_pinout.png
new file mode 100644
index 00000000..b53b1766
Binary files /dev/null and b/docs/img/KIT_XMC_PLT2GO_XMC4200_pinout.png differ
diff --git a/docs/img/KIT_XMC_PLT2GO_XMC4400.jpg b/docs/img/KIT_XMC_PLT2GO_XMC4400.jpg
new file mode 100644
index 00000000..28b63044
Binary files /dev/null and b/docs/img/KIT_XMC_PLT2GO_XMC4400.jpg differ
diff --git a/docs/img/KIT_XMC_PLT2GO_XMC4400_pinout.png b/docs/img/KIT_XMC_PLT2GO_XMC4400_pinout.png
new file mode 100644
index 00000000..7b83cd2a
Binary files /dev/null and b/docs/img/KIT_XMC_PLT2GO_XMC4400_pinout.png differ
diff --git a/docs/img/XMC4700_Radar_Baseboard_pinout.png b/docs/img/XMC4700_Radar_Baseboard_pinout.png
new file mode 100644
index 00000000..1aace45b
Binary files /dev/null and b/docs/img/XMC4700_Radar_Baseboard_pinout.png differ
diff --git a/docs/image/Board_List.png b/docs/img/arduino_ide_board_list.png
similarity index 100%
rename from docs/image/Board_List.png
rename to docs/img/arduino_ide_board_list.png
diff --git a/docs/image/Boards_Manager_Entry.png b/docs/img/arduino_ide_board_manager_entry.png
similarity index 100%
rename from docs/image/Boards_Manager_Entry.png
rename to docs/img/arduino_ide_board_manager_entry.png
diff --git a/docs/image/preference_JSON.png b/docs/img/arduino_ide_preferences_link.png
similarity index 100%
rename from docs/image/preference_JSON.png
rename to docs/img/arduino_ide_preferences_link.png
diff --git a/docs/image/preference.png b/docs/img/arduino_ide_preferences_menu.png
similarity index 100%
rename from docs/image/preference.png
rename to docs/img/arduino_ide_preferences_menu.png
diff --git a/docs/image/Support_v2.png b/docs/img/arduino_ide_release_index.png
similarity index 100%
rename from docs/image/Support_v2.png
rename to docs/img/arduino_ide_release_index.png
diff --git a/docs/img/arduino_ide_serial_selection.png b/docs/img/arduino_ide_serial_selection.png
new file mode 100644
index 00000000..f29958ba
Binary files /dev/null and b/docs/img/arduino_ide_serial_selection.png differ
diff --git a/docs/img/ifx_logo_white_green_s.png b/docs/img/ifx_logo_white_green_s.png
new file mode 100644
index 00000000..baa55b9f
Binary files /dev/null and b/docs/img/ifx_logo_white_green_s.png differ
diff --git a/resources/wiki/image/jlink_install.png b/docs/img/jlink_downloads.png
similarity index 100%
rename from resources/wiki/image/jlink_install.png
rename to docs/img/jlink_downloads.png
diff --git a/resources/wiki/image/J-Link_Installer_options_page.png b/docs/img/jlink_installer_options.png
similarity index 100%
rename from resources/wiki/image/J-Link_Installer_options_page.png
rename to docs/img/jlink_installer_options.png
diff --git a/docs/img/kit_xmc47_relax_cut_routes.jpg b/docs/img/kit_xmc47_relax_cut_routes.jpg
new file mode 100644
index 00000000..15ee6644
Binary files /dev/null and b/docs/img/kit_xmc47_relax_cut_routes.jpg differ
diff --git a/docs/img/kit_xmc_plt2go_xmc4200_remove_resistors.png b/docs/img/kit_xmc_plt2go_xmc4200_remove_resistors.png
new file mode 100644
index 00000000..64857b75
Binary files /dev/null and b/docs/img/kit_xmc_plt2go_xmc4200_remove_resistors.png differ
diff --git a/docs/img/kit_xmc_plt2go_xmc4400_cut_routes.png b/docs/img/kit_xmc_plt2go_xmc4400_cut_routes.png
new file mode 100644
index 00000000..b3b20bf8
Binary files /dev/null and b/docs/img/kit_xmc_plt2go_xmc4400_cut_routes.png differ
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 00000000..060ffae7
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,47 @@
+***************
+XMC for Arduino
+***************
+Welcome to Infineon's XMC Microcontroller Boards for Arduino!
+
+.. image:: img/KIT_XMC14_2GO.png
+ :width: 200
+
+.. image:: img/KIT_XMC11_BOOT_001.jpg
+ :width: 200
+
+.. image:: img/KIT_XMC47_RELAX_5V_AD_V1.jpg
+ :width: 200
+
+The XMC microcontroller family from Infineon offers a powerful and versatile platform for embedded system development.
+Featuring a high-performance architecture, advanced peripherals, and low power consumption, XMC microcontrollers are
+well-suited for a broad range of applications.
+
+The XMC for Arduino core provides a flexible software framework enabling developers to fully utilize the capabilities
+of XMC microcontrollers within the popular Arduino ecosystem. This library includes an extensive set of APIs, examples,
+and tools, facilitating the rapid development and deployment of various applications, from simple prototypes to intricate systems.
+Key features include:
+
+* A rich set of APIs for accessing and controlling peripherals such as GPIO, UART, SPI, I2C, and more.
+* Support for numerous sensors and actuators, including both analog and digital sensors, displays, and communication modules.
+* Advanced features like interrupt handling, DMA, and power management.
+* Compatibility with a wide range of Arduino boards and shields.
+* Numerous examples and tutorials to help developers get started quickly and efficiently.
+
+By using the XMC for Arduino core, developers can enjoy the ease of use and flexibility of the Arduino platform while taking
+advantage of the advanced features and performance offered by XMC microcontrollers.
+
+
+.. toctree::
+ :maxdepth: 2
+ :caption: CONTENT:
+
+ Introduction
+ installation-instructions
+ hw-platforms
+ builtin-libraries
+ arduino-deviations
+
+License
+=======
+
+Please find the license file for this core `here `_.
\ No newline at end of file
diff --git a/docs/installation-instructions.rst b/docs/installation-instructions.rst
new file mode 100644
index 00000000..75bcfec7
--- /dev/null
+++ b/docs/installation-instructions.rst
@@ -0,0 +1,79 @@
+Installation Instructions
+===========================
+
+The following step-by-step guide will get you started with XMC for Arduino:
+
+Prework for SEGGER J-Link
+------------------------------
+
+In order to use Infineon's XMC microcontroller boards in Arduino you need
+`SEGGER J-Link `_ installed on your machine first. Please follow
+`this link `_
+and install the *J-Link Software and Documentation Pack* for your respective operating system.
+
+.. image:: img/jlink_downloads.png
+ :width: 700
+
+If you are downloading J-Link for the first time, make sure to check the box **Install USB Driver for J-Link**.
+
+.. image:: img/jlink_installer_options.png
+ :width: 650
+
+Required Tools
+^^^^^^^^^^^^^^
+XMC for Arduino requires *Python 3.x* and *pyserial*. Make sure `Python `_ is installed on your machine and available in the system path.
+
+.. note::
+ When installing Python on Windows, ensure you check "*Add Python to PATH*" before clicking install.
+ This allows XMC for Arduino to find the Python executable.
+
+ If you forget this step, you can add Python to PATH manually later.
+
+You can check if it was successfully installed by opening your command line or terminal and typing:
+
+.. code-block:: shell
+
+ python --version
+
+With `pip `_ available, install the mentioned packages from a terminal:
+
+.. code-block:: shell
+
+ pip install pyserial
+
+Integration in Arduino IDE
+--------------------------
+.. note::
+ We recommend to use Arduino IDE 2.0 or newer.
+
+.. image:: img/arduino_ide_preferences_menu.png
+ :width: 600
+
+Paste the following URL into the *Additional boards manager URLs* input field under *File > Preferences* to add Infineon's XMC microcontroller boards to the Arduino IDE:
+
+::
+
+ https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
+
+.. image:: img/arduino_ide_preferences_menu.png
+ :width: 600
+
+To install the boards, navigate to *Tools > Board > Boards Manager...* and search for *XMC*. You will see options to install the board files for the microcontrollers.
+Click *Install* to add the boards to your Arduino IDE.
+
+.. image:: img/arduino_ide_board_manager_entry.png
+ :width: 600
+
+In the board list in *Tools > Board*, you will now find the supported XMC microcontroller boards.
+
+.. image:: img/arduino_ide_board_list.png
+ :width: 600
+
+Release Packages from Version 3.0.0 onwards
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Certain obsolete boards and non-functional libraries were removed from the board support package for the
+release version 2.0.0, alongwith some other major changes (see `release notes `_). Since the release of version 3.0, the release index does not contain versions before 2.0 anymore.
+
+.. image:: img/arduino_ide_release_index.png
+ :width: 600
+
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 00000000..3d64bb3a
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+ set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=.
+set BUILDDIR=build
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+ echo.
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+ echo.installed, then set the SPHINXBUILD environment variable to point
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
+ echo.may add the Sphinx directory to PATH.
+ echo.
+ echo.If you don't have Sphinx installed, grab it from
+ echo.http://sphinx-doc.org/
+ exit /b 1
+)
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 00000000..2a185d91
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,5 @@
+sphinx>=7.2.6
+sphinx-tabs
+sphinxemoji
+sphinx-rtd-theme
+recommonmark>=0.6.0
\ No newline at end of file
diff --git a/libraries/DMA/Readme.MD b/libraries/DMA/Readme.MD
index e6ff55f7..732993d9 100644
--- a/libraries/DMA/Readme.MD
+++ b/libraries/DMA/Readme.MD
@@ -1,6 +1,6 @@
-# DMA library for XMC
+# DMA Library for XMC
-This library helps to manage DMA for XMC microcontrollers
+This library helps to manage DMA for XMC microcontrollers.
## Additional Information
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries)
\ No newline at end of file
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
\ No newline at end of file
diff --git a/libraries/DeviceControlXMC/Readme.MD b/libraries/DeviceControlXMC/Readme.MD
index 23dd9298..39ec7eae 100644
--- a/libraries/DeviceControlXMC/Readme.MD
+++ b/libraries/DeviceControlXMC/Readme.MD
@@ -1,6 +1,6 @@
# DeviceControlXMC library for XMC
-This library includes the basic device control examples of the XMC which mesaures temperature, memory and sleep mode measurement
+This library includes the basic device control examples of the XMC which mesaures temperature, memory and sleep mode measurement.
## Additional Information
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries)
\ No newline at end of file
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
\ No newline at end of file
diff --git a/libraries/I2S/README.md b/libraries/I2S/README.md
index 3352c5f9..404c75c6 100644
--- a/libraries/I2S/README.md
+++ b/libraries/I2S/README.md
@@ -72,7 +72,7 @@ However, if you are using an XMC4000 board such as a XMC4700 Relax Kit, you shou
Sometimes, it also makes sense to adjust the data delay, which is the delay between a changing WA/LRCL edge and the start of a sample depending on the microphone of your choice. Please be aware that there are different `I2S.begin()` functions which allow to set the parameters very precisely. Have a look in the I2S.h file for more information.
## Additional Information
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries) and doxygen-generated [documentation page](https://github.com/Infineon/InfineonDoxyGenerator).
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
## Authors
Manuel Hollfelder
diff --git a/libraries/OneWire/Readme.MD b/libraries/OneWire/Readme.MD
index be97e133..e5436c4a 100644
--- a/libraries/OneWire/Readme.MD
+++ b/libraries/OneWire/Readme.MD
@@ -1,7 +1,6 @@
-# OneWire library for XMC
+# OneWire Library for XMC
OneWire library lets you access 1-wire devices.
## Additional Information
-
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries)
\ No newline at end of file
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
\ No newline at end of file
diff --git a/libraries/RTC/Readme.MD b/libraries/RTC/Readme.MD
index 988c2126..1578736a 100644
--- a/libraries/RTC/Readme.MD
+++ b/libraries/RTC/Readme.MD
@@ -1,6 +1,6 @@
# RTC Library for XMC
-This is the real time clock library that is supported by XMC4700
+This is the real time clock library that is supported by XMC4700.
## Additional Information
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries)
\ No newline at end of file
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
\ No newline at end of file
diff --git a/libraries/SPI/Readme.MD b/libraries/SPI/Readme.MD
index 47250c99..50e2eb96 100644
--- a/libraries/SPI/Readme.MD
+++ b/libraries/SPI/Readme.MD
@@ -3,4 +3,4 @@
This library supports the Serial peripheral interaface communication protocol for the XMC.
## Additional Information
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries)
\ No newline at end of file
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
\ No newline at end of file
diff --git a/libraries/Wire/Readme.MD b/libraries/Wire/Readme.MD
index 3db0f6c4..4388c654 100644
--- a/libraries/Wire/Readme.MD
+++ b/libraries/Wire/Readme.MD
@@ -2,4 +2,4 @@
This library allows you to communicate with I2C/TWI devices.
## Additional Information
-See also our [Wiki](https://github.com/Infineon/XMC-for-Arduino/wiki/Core-Libraries)
\ No newline at end of file
+See also our [documentation](https://xmc-arduino.readthedocs.io/en/latest/builtin-libraries.html).
\ No newline at end of file
diff --git a/package/package_infineon_index.template.json b/package/package_infineon_index.template.json
index fb2937d4..e39fc7f5 100644
--- a/package/package_infineon_index.template.json
+++ b/package/package_infineon_index.template.json
@@ -3,10 +3,10 @@
{
"name": "Infineon",
"maintainer": "Infineon Technologies AG",
- "websiteURL": "https://www.infineon.com",
+ "websiteURL": "https://github.com/Infineon/xmc-for-arduino",
"email": "",
"help": {
- "online": "https://github.com/Infineon/XMC-for-Arduino/wiki"
+ "online": "https://xmc-arduino.readthedocs.io/en/latest/index.html"
},
"platforms": [
{
@@ -19,7 +19,7 @@
"checksum": "",
"size": "",
"help": {
- "online": "https://github.com/Infineon/XMC-for-Arduino/wiki"
+ "online": "https://xmc-arduino.readthedocs.io/en/latest/index.html"
},
"boards": [
{
diff --git a/resources/readme.md b/resources/readme.md
deleted file mode 100644
index 3ee0be25..00000000
--- a/resources/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Resources Folder
-## Linked resources for Wiki and other documentation
-This folder contains sub-folders for documentation resources, primarily to link to files
-and images for wiki.
-
-### folder wiki contains
-
-- xmc4200-X1-X2.csv XMC4200 Platform 2 Go CSV of X1 and X2 connector pinout
-- xmc4400-X1-X2.csv XMC4400 Platform 2 Go CSV of X1 and X2 connector pinout
-- xmc4700-X1-X2.csv XMC4700 Relax Kit (and Lite) CSV of X1 and X2 connector pinout
-
-### Folder wiki/Pictures
-
-File/Folder | Description
-| :--: | ----- |
-| board_PO.jpg | JPEG updates of Pinout image for wiki |
-| SVG | folder of source version(s) in SVG format |
-| PNG | folder of intermediate version(s) in PNG format |
-
-### Folder wiki/Eagle
-
-File/Folder | Description
-| :--: | ----- |
-| INF-XMC.lbr | - Eagle library for symbol and footprints of Infineon XMC processors |
diff --git a/resources/wiki/Eagle/INF-XMC.lbr b/resources/wiki/Eagle/INF-XMC.lbr
deleted file mode 100644
index cca901c9..00000000
--- a/resources/wiki/Eagle/INF-XMC.lbr
+++ /dev/null
@@ -1,3561 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Infineon XMC1000 and XMC4000 series micros
-
-
-TSSOP-16 pitch 0.65 mm pads 0.35 x 1.25 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-TSSOP-16 pitch 0.65 mm, pads 0.35 x 1.55 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-TSSOP-38 pitch 0.5 mm, pads 0.25 x 1.35 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-TSSOP-38 pitch 0.5 mm, pads 0.3 x 1.6 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-TSSOP-28 pitch 0.65mm, pads 0.35 x 1.25 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-TSSOP-28 pitch 0.65mm, pads .35 x 1.55 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-<b>QFN48P-7X7</b>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-<b>P/PG-LQFP-100</b> 0.5mm pitch Tie exposed pad with approx. 0.2mm thermal vias to GND<br>
-PG-LQFP-100-11, leadframe no: C66065-A6837-C024-01-004 EPad: 7.0 x 7.0 mm <br>
-LQFP-100 package with 7.0 x 7.0mm Exposed Pad
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<b>QFN-48</b> (7x7)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-
-
-
-
-
-<b>QFP-144</b><p>0.5mm pitch Tie exposed pad with approx. 0.2mm thermal vias to GND
-<p>PG-LQFP-144-18, leadframe no: C66065-A7014-C009-01-004 EPad: 6.5 x 6.5 mm
-<p>LQFP-144 package with 6.5 x 6.5mm Exposed Pad<br>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-<b>QFN 4x4 mm</b>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-
-TSSOP38 Package pin pitch 0.5 mm pad 0.3 x 1.4 mm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-TQFP64 12x12mm 0.5mm pitch 0.25mm pad width
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-QFN-40 pin 5x5 mm body 0.4 picth exposed pad 0.8 x 0.2 pad
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-QFN 64 pin 8 x 8 body - 0.4 pitch 0.8 x 0.2 pad
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC140X 48 PIN POWER
-
-
-
-
-
-
-
-Power Supply
->NAME
->VALUE
-
-
-
-
-
-
-
-
-
-XMC140X 48PIN PORTS
-
-
-
-
-
->NAME
->VALUE
-PORT 0,1,2,3 & 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC4400 100 pins
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-USB
-Supply
-Analog
-Digital
-Hibernate/RTC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC4200 48 pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-USB
-Supply
-Analog
-Digital
-Hibernate/RTC
-
-
-XMC4700 144 pins
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-USB
-Supply
-Analog
-Digital
-Hibernate/RTC
-
-
-XMC1100 series 24 pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->Name
->Value
-Supply
-
-
-XMC1100 series Digital Port 0 and supply
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Port 0 - standard port
->NAME
->VALUE
-
-
-XMC1100 series 38 pin Port 1
-
-
-
-
-
-
-
-
-
-
-
-
-Port 1 - high current port
->NAME
->VALUE
-
-
-XMC1100 series 38 pin Port 2 (Analog)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-G1.CH7
-G1.CH6
-G1.CH5
-G0.CH7
-G0.CH6
-G0.CH5
-G0.CH0
-G1.CH1
-G1.CH0
-G0.CH2
-G0.CH3
-G0.CH4
-G0.CH1
-G1.CH4
-G1.CH2
-G1.CH3
-CMP0
-CMP1
-CMP2
-S&H0
-S&H0
-S&H1
-S&H1
-ACMP
-ORC
-ORC
-Port 2 - analogue features
->NAME
->VALUE
-
-
-XMC1000 series 38 pin single symbol
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Digital
->NAME
->VALUE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Analog
-Power
-
-
-XMC1400 48 pin Single Symbol
-
-
-
-
->NAME
-PORT 0,1,2,3 & 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Power Supply
->VALUE
-
-
-
-
-
-
-
-
-
-XMC1000 series 28 pin single symbol
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Digital
->NAME
->VALUE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Analog
-Power
-
-
-XMC1000 series 16 pin single symbol
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Digital
->NAME
->VALUE
-
-
-
-
-
-
-
-
-
-
-Analog
-Power
-
-
-
-
-XMC 1000 Series 40 pin Single symbol
-
-
-
-
->NAME
-PORT 0,1,2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Power Supply
->VALUE
-
-
-
-
-
-
-
-
-XMC1000 Series 64 pin Single Symbol<br>
-39 digital (+4 crystals)<br>
-14 analog
-
-
-
-
-
->NAME
-PORT 0,1,3 & 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Power Supply
->VALUE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Analog
-
-
-
-
-
-
-
-<b>XMC1401-QFN48 7x7 mm</b> Split Symbol
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<b>XMC4400</b> QFP100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<b>XMC4200-QFN48</b>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Infineon XMC4500 144Pin LQFP ARM Cortex M4 <p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1100 series 24 pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1100 series 38 pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1000 38 pin Single symbol
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1401 48 pin QFN Single Symbol
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1000 Series 16 Pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1000 series 28 pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1000 series 64 pin QFP/QFN<br>
-39 digital (+4 crystals)<br>
-14 analog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XMC1000 series 40 pin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/resources/wiki/Pictures/PNG/XMC 1100_BootKit_V1_2_0.png b/resources/wiki/Pictures/PNG/XMC 1100_BootKit_V1_2_0.png
deleted file mode 100644
index d084e7b0..00000000
Binary files a/resources/wiki/Pictures/PNG/XMC 1100_BootKit_V1_2_0.png and /dev/null differ
diff --git a/resources/wiki/Pictures/SVG/XMC1100_BootKit_V1_2_0.svg b/resources/wiki/Pictures/SVG/XMC1100_BootKit_V1_2_0.svg
deleted file mode 100644
index cabf8943..00000000
--- a/resources/wiki/Pictures/SVG/XMC1100_BootKit_V1_2_0.svg
+++ /dev/null
@@ -1,6496 +0,0 @@
-
-
-
-
diff --git a/resources/wiki/Pictures/XMC 1100_BootKit_PO.jpg b/resources/wiki/Pictures/XMC 1100_BootKit_PO.jpg
deleted file mode 100644
index cd24a56f..00000000
Binary files a/resources/wiki/Pictures/XMC 1100_BootKit_PO.jpg and /dev/null differ
diff --git a/resources/wiki/image/Board_List.png b/resources/wiki/image/Board_List.png
deleted file mode 100644
index 8cf25c55..00000000
Binary files a/resources/wiki/image/Board_List.png and /dev/null differ
diff --git a/resources/wiki/image/Boards_Manager_Entry.png b/resources/wiki/image/Boards_Manager_Entry.png
deleted file mode 100644
index 742ffc0d..00000000
Binary files a/resources/wiki/image/Boards_Manager_Entry.png and /dev/null differ
diff --git a/resources/wiki/image/Support_v2.png b/resources/wiki/image/Support_v2.png
deleted file mode 100644
index 019e7987..00000000
Binary files a/resources/wiki/image/Support_v2.png and /dev/null differ
diff --git a/resources/wiki/image/preference.png b/resources/wiki/image/preference.png
deleted file mode 100644
index 613a6680..00000000
Binary files a/resources/wiki/image/preference.png and /dev/null differ
diff --git a/resources/wiki/image/preference_JSON.png b/resources/wiki/image/preference_JSON.png
deleted file mode 100644
index 955775ca..00000000
Binary files a/resources/wiki/image/preference_JSON.png and /dev/null differ
diff --git a/resources/wiki/xmc4200-X1-X2.csv b/resources/wiki/xmc4200-X1-X2.csv
deleted file mode 100644
index ffb054d2..00000000
--- a/resources/wiki/xmc4200-X1-X2.csv
+++ /dev/null
@@ -1,75 +0,0 @@
-Additional pins for port X1,,,,,
-Description,Pin,Port,,X1 pin,Other
-NC,,,,X1-37,
-IO_1,7,P2.8,,X1-35,IOL-8
-PWM41-1 output / PWM2,6,P2.4,,X1-33,IOL-7
-PWM41-3 / PWM0 / External INT 1,3,P2.2,,X1-31,IOL-4
-CAN_TX,29,P2.0,,X1-29,
-IO_2,8,P2-6,,X1-27,IOH-1
-NC,,,,X1-25,
-NC,,,,X1-23,
-NC,,,,X1-21,
-NC,,,,X1-19,
-NC,,,,X1-17,
-USB Debug TX,35,P1.4,,X1-15,
-PWM / PWM40-1 / GPIO4_S2GO_1,23,P1.2,,X1-13,
-GPIO / External INT 0,2,P1.0,,X1-11,IOL-3
-SPI-SCK,13,P1.8,,X1-9,IOH-6
-NC,,,,X1-7,
-NC,,,,X1-5,
-TX,1,P2.14,,X1-3,IOL-2
-RX,0,P2.15,,X1-4,IOL-1
-NC,,,,X1-6,
-SPI-CS,10,P1.7,,X1-8,IOH-3
-SPI-MOSI,11,P1.9,,X1-10,IOH-4
-PWM_MikroBus / PWM40-2,22,P1.1,,X1-12,
-PWM / PWM40-0 / GPIO4_2GO_2,24,P1.3,,X1-14,
-USB Debug RX,41,P1.5,,X1-16,
-NC,,,,X1-18,
-NC,,,,X1-20,
-BUTTON1,27,P1.15,Button,X1-22,Switch
-NC,,,,X1-24,
-NC,,,,X1-26,
-RST_MikroBus,28,P2.7,,X1-28,
-GPIO1_2GO_2,30,P2.1,,X1-30,
-PWM41-2 output / PWM1,5,P2.3,,X1-32,IOL-6
-I2C Data / Address SDA / A4,14,P2.5,(Hardwired to A4),X1-34,IOH-9
-IO_0,4,P2.9,,X1-36,IOL-5
-NC,,,,X1-38,
-Additional pins for port X2,,,,,
-Description,Pin,Port,,X2 pin,Other
-A3 / ADC Input / AN_MikroBus / DAC0,19,P14.8,,X2-33,Analog-4
-NC,,,,X2-31,
-NC,,,,X2-29,
-NC,,,,X2-27,
-A1 / ADC Input,17,P14.6,(INPUT ONLY),X2-25,Analog-2
-NC,,,,X2-23,
-AN2_2GO_1 / A6 / ADC Input,41,P14.14,(INPUT ONLY),X2-21,
-I2C Clock SCL / A5 - ADC Input,15,P3.0,(Hardwired to A5),X2-19,IOH-10
-NC,,,,X2-17,
-INT_MikroBus,38,P0.10,,X2-15,
-LED1,36,P0.1,,X2-13,LED
-INT / GPIO3_2GO_2,34,P0.3,,X2-11,
-INT / GPIO3_2GO_1,33,P0.5,,X2-9,
-PWM80-31 output / PWM3,9,P0.11,,X2-7,IOH-2
-NC,,,,X2-5,
-NC,,,,X2-3,
-SPI-CS_MikroBus,31,P0.7,,X2-1,
-RST / GPIO2_2GO_1,32,P0.8,,X2-4,
-NC,,,,X2-6,
-NC,,,,X2-8,
-NC,,,,X2-10,
-RST / GPIO2_2GO_2,35,P0.6,,X2-12,
-GPIO1_S2GO_1,37,P0.4,,X2-14,
-SPI-CS_2GO_1,39,P0.2,,X2-16,
-SPI-MISO,12,P0.0,,X2-18,IOH-5
-SPI-CS_2GO_2,40,P0.9,,X2-20,
-NC,,,,X2-22,
-A4 / ADC Input / SDA / AN1_2GO_1,20,P14.4,(Hardwired to SDA),X2-24,Analog-5
-NC,,,,X2-26,
-A2 / ADC Input,18,P14.7,(INPUT ONLY),X2-28,Amalog-3
-A5 / ADC Input / SCL / AN2_2GO_2,21,P14.5,(Hardwired to SCL),X2-30,Analog-6
-CAN_RX,42,P14.3,(INPUT ONLY),X2-32,
-A0 / ADC Input,16,P14.0,Potentiometer,X2-34,Analog-1
-AN1_2GO_2 / A7 / ADC Input / DAC1,43,P14.9,,X2-36,
-AREF,,,,X2-38,IOH-8
diff --git a/resources/wiki/xmc4400-X1-X2.csv b/resources/wiki/xmc4400-X1-X2.csv
deleted file mode 100644
index 1111bec8..00000000
--- a/resources/wiki/xmc4400-X1-X2.csv
+++ /dev/null
@@ -1,74 +0,0 @@
-Additional pins for port X1,,,,,
-Description,Pin,Port,,X1 pin,Other
-GPIO / ETH_LED,25,P2.10,,X1-37,
-GPIO / ETH_TXDO / PWM80-32,26,P2.8,,X1-35,
-GPIO / ETH_RXER,27,P2.4,,X1-33,
-GPIO / ETH_RXDO,28,P2.2,,X1-31,
-GPIO / ETH_MDIO / PWM81-21,29,P2.0,,X1-29,
-PWM80-13 / GPIO4_2GO_2,30,P2.6,,X1-27,
-GPIO / RST,31,P5.2,,X1-25,
-GPIO1_2GO_1,32,P5.0,,X1-23,
-GPIO / IO_1,7,P1.14,,X1-21,IOL-8
-GPIO / CAN_TX,33,P1.12,,X1-19,
-GPIO / GPIO2_2GO_1,34,P1.10,,X1-17,
-GPIO / QSPI_IO1,35,P1.4,,X1-15,
-GPIO / QSPI_IO3,36,P1.2,,X1-13,
-GPIO / External INT 0,2,P1.0,,X1-11,IOL-3
-SPI-SCK / GPIO,13,P1.8,,X1-9,IOH-6
-GPIO / IO_0,4,P1.6,,X1-7,IOL-5
-GPIO / GPIO2_2GO_2,37,P4.0,,X1-5,
-TX,1,P2.14,,X1-3,IOL-2
-RX,0,P2.15,,X1-4,IOL-1
-GPIO / IO_2,8,P4.1,,X1-6,IOH-1
-GPIO / SPI_CS_2GO_2,38,P1.7,(Chip Select - Slot 2),X1-8,
-SPI-MOSI,11,P1.9,,X1-10,IOH-4
-GPIO1_2GO_2,39,P1.1,,X1-12,
-GPIO / QSPI_IO3,40,P1.3,,X1-14,
-GPIO / QSPI_IO0,41,P1.5,,X1-16,
-GPIO / QSPI_CS,42,P1.11,,X1-18,
-GPIO / CAN_RX,43,P1.13,,X1-20,
-USB Debug RX,23,P1.15,,X1-22,
-GPIO / ETH_INT,44,P5.1,,X1-24,
-PWM81-02,45,P5.7,,X1-26,
-PWM80-03 / ETH_MDC,46,P2.7,,X1-28,
-"SWV **DEBUG Do NOT Use**",47,P2.1,,X1-30,
-ETH_RXD1 / PWM41-2,14,P2.3,,X1-32,IOH-8
-I2C Data / Address SDA / A4 / PWM41-0,15,P2.5,(Hardwired to A4),X1-34,IOH-9
-PWM80-22 / ETH_TXD1,48,P2.9,,X1-36,
-A16 / ETH_CLK,49,P15.8,,X1-38,
-Additional pins for port X2,,,,,
-Description,Pin,Port,,X2 pin,Other
-A14 / DAC 0 Output,50,P14.8,,X2-33,
-A3 / ADC Input,20,P14.3,(INPUT ONLY),X2-31,Analog-4
-A11 - ADC Input,52,P14.15,(INPUT ONLY),X2-29,
-A17 - ADC Input / ETH_CRS,53,P15.9,,X2-27,
-A6 / AN1_2GO_1 - ADC Input,54,P14.6,(INPUT ONLY),X2-25,
-A8 / AN1_2GO_2 - ADC Input,55,P14.12,(INPUT ONLY),X2-23,
-A10 / ADC Input,56,P14.14,(INPUT ONLY),X2-21,
-I2C Clock SCL / A5 - ADC Input,16,P3.0,(Hardwired to A5),X2-19,IOH-10
-BUTTON2,57,P3.2,,X2-17,
-INT / GPIO3_2GO_1,58,P0.10,,X2-15,
-INT,59,P0.1,,X2-13,
-INT / GPIO3_2GO_2,60,P0.3,,X2-11,
-USB Debug TX,24,P0.5,,X2-9,
-PWM80-31 output / PWM3,9,P0.11,,X2-7,IOH-2
-PWM42-3 output / PWM1,5,P3.3,,X2-5,IOL-6
-CS_2GO_1,61,P3.5,(Chip Select - Slot 1),X2-3,
-LED2,62,P0.7,,X2-1,
-QSPI_CLK,63,P0.8,,X2-4,
-PWM42-0 / PWM0 / External INT 1,3,P3.6,,X2-6,IOL-4
-PWM42-2 output / PWM2,6,P3.4,,X2-8,IOL-7
-CS_MB,64,P0.12,(Chip Select - MikroBUS),X2-10,
-LED1,65,P0.6,,X2-12,
-ETH_TXEN,66,P0.4,,X2-14,
-SPI-SS / PWM80-01 / PWM4,10,P0.2,,X2-16,IOH-3
-SPI-MISO,12,P0.0,,X2-18,IOH-5
-GPIO4_2GO_1 / PWM80-12 / PWM,67,P0.9,,X2-20,
-BUTTON1,68,P3.1,,X2-22,
-A4 / ADC Input / SDA / GPIO,21,P14.4,(Hardwired to SDA),X2-24,Analog-5
-A9 / AN2_2GO_2 - ADC Input,69,P14.13,(INPUT ONLY),X2-26,
-A7 / AN2_2GO_1 - ADC Input,70,P14.7,(INPUT ONLY),X2-28,
-A5 / ADC Input / SCL,22,P14.5,(Hardwired to SCL),X2-30,Analog-6
-A12 - ADC Input,51,P15.2,(INPUT ONLY),X2-32,
-A13 - ADC Input,71,P15.3,(INPUT ONLY),X2-34,
-A15 / DAC 1 Output,72,P14.9,,X2-36,
diff --git a/resources/wiki/xmc4700-X1-X2.csv b/resources/wiki/xmc4700-X1-X2.csv
deleted file mode 100644
index d8b7e7b2..00000000
--- a/resources/wiki/xmc4700-X1-X2.csv
+++ /dev/null
@@ -1,66 +0,0 @@
-Additional pins for port X1 starting here,,,,
-Description,Pin,Port,X1 pin,Duplicate
-PWM42-2 / PWM12,36,P3.4,1,
-I2C_1 SDA // SPI_4 MOSI,37,P0.5,3,
-PWM80-2 / PWM10,38,P0.3,5,
-PWM80-1 / PWM9,39,P0.1,7,
-,40,P0.10,9,
-,41,P3.2,11,
-,42,P3.1,13,
-A6 / ADC Input,43,P15.6 (INPUT ONLY),15,
-A7 / ADC Input,44,P15.5 (INPUT ONLY),17,
-A8 / ADC Input,45,P15.3 (INPUT ONLY),19,
-A9 / ADC Input,46,P14.15 (INPUT ONLY),21,
-A10 / ADC Input,47,P14.13 (INPUT ONLY),23,
-A11 / ADC Input,48,P14.7 (INPUT ONLY),25,
-A12 / ADC Input,49,P15.15 (INPUT ONLY),27,
-DAC0 // A13 / ADC Input,50,P14.9,29
-,51,P2.13,31
-,52,P5.10,33
-PWM80-0 / PWM6,53,P5.11,34
-,54,P1.14,32
-DAC1 // A14 / ADC Input,55,P14.8,30
-A15 / ADC Input,56,P15.14 (INPUT ONLY),28
-A16 / ADC Input,57,P14.6 (INPUT ONLY),26
-A17 / ADC Input,58,P14.12 (INPUT ONLY),24
-A18 / ADC Input,59,P14.14 (INPUT ONLY),22
-A19 / ADC Input,60,P15.2 (INPUT ONLY),20
-A20 / ADC Input,61,P15.4 (INPUT ONLY),18
-A21 / ADC Input,62,P15.7 (INPUT ONLY),16
-PWM42-0 / PWM7,63,P3.0,14
-PWM80-1 / PWM8,64,P0.9,12
-,65,P0.0,10
-,66,P0.2,8
-SPI_4 MISO ,67,P0.4,6
-PWM80-3 / PWM11,68,P0.6,4
-I2C_1 SCL // SPI_4 SCLK ,69,P0.11,2
-Additional pins for port X2 starting here,,,
-Description,Pin,Port,X2 pin
-SPI_2 SCLK,70,P3.13,1
-SPI_2 MOSI,71,P3.11,3
-PWM40-1 / PWM21,72,P0.14,5
-,73,P3.14,7
-,74,P0.7,9
-,75,P1.2,11
-,76,P6.1,13
-,77,P5.3,15
-PWM43-0 / PWM17,78,P6.5,17
-PWM81-0 / PWM16,79,P1.15,19
-SPI_3 MOSI,80,P5.1,21
-PWM81-2 / PWM15,81,P5.3,23
-PWM81-1 / PWM14,82,P5.5,25
-PWM81-0 / PWM13,83,P5.7,27
-,84,P2.6,28
-,85,P5.6,26
-,86,P5.4,24
-,87,P5.2,22
-SPI_3 MISO,88,P5.0,20
-,89,P6.6,18
-PWM43-1 / PWM18,90,P6.4,16
-PWM43-3 / PWM19,91,P6.2,14
-,92,P6.0,12
-SPI_3 SCLK,93,P0.8,10
-,94,P3.3,8
-PWM40-0 / PWM20,95,P0.15,6
-PWM40-3 / PWM22,96,P0.12,4
-ECAT0.P1_LINK_ACT,97,P3.12,2
diff --git a/tools/xmc-flasher.py b/tools/xmc-flasher.py
index 1cc9a97f..f1f8f974 100755
--- a/tools/xmc-flasher.py
+++ b/tools/xmc-flasher.py
@@ -172,7 +172,7 @@ def check_device(device, port):
device_value_masked = (int('0x'+device_value,16)) & (int('0x'+master_data[device]['IDCHIP']['mask'],16)) # take only those bits which are needed
device_value_masked = f'{device_value_masked:x}'
device_value_masked = device_value_masked.zfill(int(master_data[device]['IDCHIP']['size'])*2)
-
+
print(f"Selected Device is: {device}.")
real_device = find_device_by_value(device_value_masked)
@@ -268,7 +268,8 @@ def parser_upload_func(args):
else:
print("Upload failed.")
remove_console_output_file(console_out)
- # Log if the port value has changed
+
+ # Log if the port value has changed
if args.port != original_port:
print(f"Please select port {args.port} for using the Serial Monitor or Plotter.")
@@ -316,13 +317,13 @@ def __call__(self, parser, namespace, values, option_string, **kwargs):
sys.tracebacklimit = None # Enable full traceback
else:
sys.tracebacklimit = 0 # Disable traceback
-
+
# Store the original port value
original_port = args.port
# Select default port if not provided/ or device not found on the selected port
args.port = get_default_port(args.port)
-
+
# Parser call
args.func(args)
@@ -330,4 +331,3 @@ def __call__(self, parser, namespace, values, option_string, **kwargs):
set_environment()
check_python_version()
parser()
-