From bd0ceae2a115a1b06a48c2672a5001dd559b9e64 Mon Sep 17 00:00:00 2001 From: "Griesser Carolin (DES DOS SW ESW EPE)" Date: Fri, 13 Sep 2024 10:27:00 +0200 Subject: [PATCH 1/9] Added Built in Libraries --- docs/arduino-variations.rst | 3 + docs/buildin-libraries.rst | 29 --- docs/builtin-libraries.rst | 272 +++++++++++++++++++++++++++++ docs/hw-platforms.rst | 17 +- docs/index.rst | 32 ++-- docs/installation-instructions.rst | 2 +- docs/library-details.rst | 17 -- 7 files changed, 299 insertions(+), 73 deletions(-) create mode 100644 docs/arduino-variations.rst delete mode 100644 docs/buildin-libraries.rst create mode 100644 docs/builtin-libraries.rst delete mode 100644 docs/library-details.rst diff --git a/docs/arduino-variations.rst b/docs/arduino-variations.rst new file mode 100644 index 00000000..2719aa99 --- /dev/null +++ b/docs/arduino-variations.rst @@ -0,0 +1,3 @@ +Arduino Variations +==================== + diff --git a/docs/buildin-libraries.rst b/docs/buildin-libraries.rst deleted file mode 100644 index 88b79f3f..00000000 --- a/docs/buildin-libraries.rst +++ /dev/null @@ -1,29 +0,0 @@ -Build-in Libraries -=================== - -DeviceControl XMC -^^^^^^^^^^^^^^^^^^^^ - -DMA -^^^^^ - - - -RTC Library -^^^^^^^^^^^^^^ - -SPI Library -^^^^^^^^^^^^^^ - -Wire Library -^^^^^^^^^^^^^^ - -I2S Library -^^^^^^^^^^^^^^ - -OneWire Library -^^^^^^^^^^^^^^^^ - -CAN Library -^^^^^^^^^^^^^^ - diff --git a/docs/builtin-libraries.rst b/docs/builtin-libraries.rst new file mode 100644 index 00000000..9e3f2a6d --- /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/hw-platforms.rst b/docs/hw-platforms.rst index 9e94849f..06739dbe 100644 --- a/docs/hw-platforms.rst +++ b/docs/hw-platforms.rst @@ -17,13 +17,10 @@ To find out more visit the Infineon homepage of the `KIT_XMC14_2GO`_. Pinout Diagram ^^^^^^^^^^^^^^ -.. image:: img/XMC_4700_RelaxKit_5VShields.png +.. image:: img/XMC1400_Kit2Go_Pinout.svg :width: 600 - - - - +----------------------------------------------------------------------- KIT_XMC11_BOOT_001 ------------------- @@ -43,7 +40,7 @@ nor share the same pins/resources. This is different from the original Arduino U :width: 700 - +----------------------------------------------------------------------- KIT_XMC1400_ARDUINO -------------------- @@ -64,7 +61,7 @@ Arduino UNO Rev3 implementation. Please look at the pinout diagram above for mor :width: 700 - +----------------------------------------------------------------------- KIT_XMC_PLT2GO_XMC4200 ----------------------- @@ -86,7 +83,7 @@ Pinout Diagram 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 ----------------------- @@ -109,7 +106,7 @@ Please note that Arduino pin number 15 & 21 (SCL & A5) and Arduino pin number 14 on the board itself. If you want to use them check out the subsection :ref:`connected_pins`. - +----------------------------------------------------------------------- KIT_XMC47_RELAX_5V_AD_V1 -------------------------- @@ -130,7 +127,7 @@ Please note that Arduino pin number 15 & 21 (SCL & A5) and Arduino pin number 14 on the board itself. If you want to use them check out the subsection :ref:`connected_pins`. - +----------------------------------------------------------------------- .. _connected_pins: diff --git a/docs/index.rst b/docs/index.rst index aeeeb5ec..417c3383 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -12,23 +12,23 @@ Welcome to the Infineon's XMC Microcontroller Boards for Arduino! .. image:: img/XMC4700_Relax_Kit_5VShields.jpg :width: 200 -The XMC microcontroller family from Infineon is a powerful and versatile platform for embedded system development. -With its high-performance architecture, advanced peripherals, and low power consumption, XMC microcontrollers are an ideal -choice for a wide range of applications. +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 library is a powerful and flexible software framework that enables developers to harness the full -potential of the XMC microcontrollers using the popular Arduino ecosystem. This library provides a comprehensive set of APIs, -examples, and tools that allow developers to quickly and easily develop and deploy a wide range of applications, from simple -prototypes to complex systems. Key features include: +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 comprehensive set of APIs for accessing and controlling the XMC microcontroller's peripherals, such as GPIO, UART, SPI, I2C, and more -* Support for a wide range of sensors and actuators, including 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 -* Examples and tutorials to help developers get started quickly and easily +* 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. -With the XMC for Arduino library, developers can leverage the ease of use and flexibility of the Arduino platform while harnessing -the advanced features and performance of the XMC microcontrollers. +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:: @@ -38,8 +38,8 @@ the advanced features and performance of the XMC microcontrollers. Introduction installation-instructions hw-platforms - buildin-libraries - library-details + builtin-libraries + arduino-variations License diff --git a/docs/installation-instructions.rst b/docs/installation-instructions.rst index 89d43957..7efe9140 100644 --- a/docs/installation-instructions.rst +++ b/docs/installation-instructions.rst @@ -29,7 +29,7 @@ You can check if it was successfully installed by opening your command line or t python --version -With `pip `_` available, install the mentioned packages from a terminal: +With `pip `_ available, install the mentioned packages from a terminal: .. code-block:: shell diff --git a/docs/library-details.rst b/docs/library-details.rst deleted file mode 100644 index e96860d9..00000000 --- a/docs/library-details.rst +++ /dev/null @@ -1,17 +0,0 @@ -Library Details -================ - -Pins and GPIO --------------------- - -Analog Pins --------------------- - -RTC --------------------- - -Tone --------------------- - -Communication --------------------- From 09862fec4709ff1a5c78da08836741aadb1ed05e Mon Sep 17 00:00:00 2001 From: "Griesser Carolin (DES DOS SW ESW EPE)" Date: Fri, 13 Sep 2024 23:37:20 +0200 Subject: [PATCH 2/9] Added Arduino Variations without changes --- docs/arduino-variations.rst | 310 ++++++++++++++++++++++++++++++++++ docs/hw-platforms.rst | 4 + docs/img/serial_selection.png | Bin 0 -> 36010 bytes 3 files changed, 314 insertions(+) create mode 100644 docs/img/serial_selection.png diff --git a/docs/arduino-variations.rst b/docs/arduino-variations.rst index 2719aa99..f53a4994 100644 --- a/docs/arduino-variations.rst +++ b/docs/arduino-variations.rst @@ -1,3 +1,313 @@ Arduino Variations ==================== +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 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 + + +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/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/hw-platforms.rst b/docs/hw-platforms.rst index 06739dbe..03318450 100644 --- a/docs/hw-platforms.rst +++ b/docs/hw-platforms.rst @@ -63,6 +63,8 @@ Arduino UNO Rev3 implementation. Please look at the pinout diagram above for mor ----------------------------------------------------------------------- +.. _xmc4200-platform2go: + KIT_XMC_PLT2GO_XMC4200 ----------------------- .. image:: img/XMC4200-Platform2go.jpg @@ -108,6 +110,8 @@ on the board itself. If you want to use them check out the subsection :ref:`conn ----------------------------------------------------------------------- +.. _xmc4700-relax: + KIT_XMC47_RELAX_5V_AD_V1 -------------------------- .. image:: img/XMC4700_Relax_Kit_5VShields.jpg diff --git a/docs/img/serial_selection.png b/docs/img/serial_selection.png new file mode 100644 index 0000000000000000000000000000000000000000..f29958ba3779acd0c003828249b93ab6fcdf0825 GIT binary patch literal 36010 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 CSs?cS literal 0 HcmV?d00001 From bb158f6c1e29c36ad36253f63aab5d0314d0dca7 Mon Sep 17 00:00:00 2001 From: "Griesser Carolin (DES DOS SW ESW EPE)" Date: Fri, 13 Sep 2024 23:42:40 +0200 Subject: [PATCH 3/9] correction link --- docs/arduino-variations.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arduino-variations.rst b/docs/arduino-variations.rst index f53a4994..f142df41 100644 --- a/docs/arduino-variations.rst +++ b/docs/arduino-variations.rst @@ -238,7 +238,7 @@ gain factor as per the following table: - 12 For more information, please refer to the application note -`here`. +`here `_. I2C Analog pins ^^^^^^^^^^^^^^^^^ From 6d22057f456919354832bde1bf175315e5ba0f29 Mon Sep 17 00:00:00 2001 From: Eder Julian Date: Mon, 16 Sep 2024 13:11:25 +0200 Subject: [PATCH 4/9] docs: add overview table for XMC boards. --- docs/hw-platforms.rst | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/hw-platforms.rst b/docs/hw-platforms.rst index 595616b2..cfc2a2e3 100644 --- a/docs/hw-platforms.rst +++ b/docs/hw-platforms.rst @@ -3,6 +3,43 @@ Supported Boards The following XMC microcontroller boards are supported by XMC for Arduino: +.. list-table:: Supported Microcontroller Boards + :header-rows: 1 + + * - Picture + - Board Name + - Description + - Form Factor + * - .. image:: img/KIT_XMC14_2GO.png + - Various Kit 2Go boards + - Various Kit 2Go sensorboards. + - Shield2Go + * - .. image:: img/KIT_XMC14_2GO.png + - `KIT_XMC14_2GO`_ + - Kit 2Go with XMC1404 and CAN transceiver. + - Shield2Go + * - .. image:: img/XMC1100_Boot-Kit.jpg + - `KIT_XMC11_BOOT_001`_ + - XMC1100 in Arduino Uno shape. + - Arduino Uno + * - .. image:: img/XMC1400_Arduino_Kit.jpg + - `KIT_XMC1400_ARDUINO`_ + - XMC1400 in Arduino Uno shape. + - Arduino Uno + * - .. image:: img/XMC4700_Relax_Kit_5VShields.jpg + - `KIT_XMC47_RELAX_5V_AD_V1`_ + - XMC4700 in Arduino Uno shape with lots of GPIOs. + - Arduino Uno + * - .. image:: img/XMC4200-Platform2go.jpg + - `KIT_XMC_PLT2GO_XMC4200`_ + - XMC4200 compatible with multiple form-factors. + - Arduino Uno, Shield2Go, mikroBUS + * - .. image:: img/XMC4400-Platform2GO-Kit.jpg + - `KIT_XMC_PLT2GO_XMC4400`_ + - XMC4400 compatible with multiple form-factors. + - Arduino Uno, Shield2Go, mikroBUS + + KIT_XMC14_2GO ------------- From 6606a540de800597cc97818c16c0986d7ebf1227 Mon Sep 17 00:00:00 2001 From: Eder Julian Date: Mon, 16 Sep 2024 13:22:28 +0200 Subject: [PATCH 5/9] docs: remove not required packages. --- docs/conf.py | 29 ----------------------------- docs/requirements.txt | 9 +++------ 2 files changed, 3 insertions(+), 35 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 7afc42d7..0008b484 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -75,35 +75,6 @@ suppress_warnings = ['autosectionlabel.*', 'epub.duplicated_toc_entry'] -# Setup the exhale extension -# exhale_args = { -# # These arguments are required -# "containmentFolder": "./exhale-auto-docs", -# "rootFileName": "api_list.rst", -# "rootFileTitle": "API List", -# "doxygenStripFromPath": "..", -# # Suggested optional arguments -# "createTreeView": True, -# # TIP: if using the sphinx-bootstrap-theme, you need -# # "treeViewIsBootstrap": True, -# "exhaleExecutesDoxygen": True, -# # "exhaleUseDoxyfile" : True, -# "exhaleDoxygenStdin": textwrap.dedent(''' -# INPUT = ../src -# GENERATE_LATEX = NO -# GENERATE_HTML = YES -# GENERATE_XML = YES -# RECURSIVE = YES -# VERBATIM_HEADERS = NO -# EXCLUDE = ./../src/framework/raspberrypi/examples ./../src/framework/raspberrypi/examples_py ./../src/framework/arduino/examples ./../src/framework/arduino/README.md -# '''), - -# # Configure what not to show in the API index page -# "unabridgedOrphanKinds": {"function", "define", "dir","file", "variable", "namespace"}, -# "fullToctreeMaxDepth" : 4 - -# } - # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/requirements.txt b/docs/requirements.txt index 790202b0..2a185d91 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,8 +1,5 @@ sphinx>=7.2.6 -sphinx-rtd-theme>=0.5.0 -sphinx-sitemap>=2.2.0 -recommonmark>=0.6.0 -sphinxemoji>=0.1.8 sphinx-tabs -breathe>=4.13.0 -exhale +sphinxemoji +sphinx-rtd-theme +recommonmark>=0.6.0 \ No newline at end of file From 412df44d4d42958c70666e4f90c3145c60d0b39f Mon Sep 17 00:00:00 2001 From: Eder Julian Date: Mon, 16 Sep 2024 13:23:11 +0200 Subject: [PATCH 6/9] docs: add makefiles --- docs/Makefile | 28 ++++++++++++++++++++++++++++ docs/make.bat | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/make.bat 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/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 From b515662f5a86b5ad1fcda9ee09177d4c1c6878dc Mon Sep 17 00:00:00 2001 From: Eder Julian Date: Mon, 16 Sep 2024 13:25:03 +0200 Subject: [PATCH 7/9] workflows: add docs workflow. --- .github/workflows/docs.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/docs.yml 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 From f2a4dcc79142033acaabe15a58fe564b5faf3028 Mon Sep 17 00:00:00 2001 From: Eder Julian Date: Mon, 16 Sep 2024 15:39:04 +0200 Subject: [PATCH 8/9] docs: fix typos and links --- docs/arduino-variations.rst | 4 ++-- docs/builtin-libraries.rst | 26 +++++++++++++------------- docs/hw-platforms.rst | 31 +++++++++++++------------------ docs/index.rst | 1 - 4 files changed, 28 insertions(+), 34 deletions(-) diff --git a/docs/arduino-variations.rst b/docs/arduino-variations.rst index f142df41..31802d1f 100644 --- a/docs/arduino-variations.rst +++ b/docs/arduino-variations.rst @@ -1,5 +1,5 @@ -Arduino Variations -==================== +Variations from Arduino Standard +================================ Functions and Options Differences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/builtin-libraries.rst b/docs/builtin-libraries.rst index 9e3f2a6d..c8700739 100644 --- a/docs/builtin-libraries.rst +++ b/docs/builtin-libraries.rst @@ -1,15 +1,15 @@ -Built in Libraries -===================== +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 +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 @@ -99,7 +99,7 @@ Examples Supported RTC Library -^^^^^^^^^^^^^^ +^^^^^^^^^^^ .. list-table:: :header-rows: 1 @@ -117,7 +117,7 @@ RTC Library SPI Library -^^^^^^^^^^^^^^ +^^^^^^^^^^^ .. list-table:: :header-rows: 1 @@ -142,7 +142,7 @@ SPI Library Wire Library -^^^^^^^^^^^^^^ +^^^^^^^^^^^^ .. list-table:: :header-rows: 1 @@ -217,24 +217,24 @@ Wire Library 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. @@ -262,7 +262,7 @@ This library provides support for the CAN protocol. For further details, please | 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. + | specific IDs using the ``filter()`` function. * - CANLoopBack - XMC1400 2GO - | This example demonstrates the loopback mode of CAN. diff --git a/docs/hw-platforms.rst b/docs/hw-platforms.rst index 121ca92e..289cccda 100644 --- a/docs/hw-platforms.rst +++ b/docs/hw-platforms.rst @@ -10,10 +10,6 @@ The following XMC microcontroller boards are supported by XMC for Arduino: - Board Name - Description - Form Factor - * - .. image:: img/KIT_XMC14_2GO.png - - Various Kit 2Go boards - - Various Kit 2Go sensorboards. - - Shield2Go * - .. image:: img/KIT_XMC14_2GO.png - `KIT_XMC14_2GO`_ - Kit 2Go with XMC1404 and CAN transceiver. @@ -39,7 +35,6 @@ The following XMC microcontroller boards are supported by XMC for Arduino: - XMC4400 compatible with multiple form-factors. - Arduino Uno, Shield2Go, mikroBUS - KIT_XMC14_2GO ------------- @@ -166,12 +161,12 @@ Pinout Diagram :width: 600 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`. +on the board itself. If you want to use them check out the subsection :ref:`connected_pins`. ----------------------------------------------------------------------- -.. _connected-pins: +.. _connected_pins: Connected I2S and Analog pins ----------------------------- @@ -180,9 +175,9 @@ For the KIT_XMC_PLT2GO_XMC4200, KIT_XMC_PLT2GO_XMC4400 and KIT_XMC47_RELAX_5V_AD 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`_. +`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: +The user manual shows 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 @@ -210,12 +205,12 @@ For the KIT_XMC47_RELAX_5V_AD_V1 cut the blue routes on the back side of the PCB :width: 600 -.. _`KIT_XMC14_2GO`: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc14_2go/?redirId=282145 -.. _`KIT_XMC11_BOOT_001`: https://www.infineon.com/cms/de/product/evaluation-boards/kit_xmc11_boot_001/ -.. _`KIT_XMC1400_ARDUINO`: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1400_arduino/ -.. _`KIT_XMC_PLT2GO_XMC4200`: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4200/ -.. _`KIT_XMC_PLT2GO_XMC4400`: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4400/ -.. _`KIT_XMC47_RELAX_5V_AD_V1`: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc47_relax_5v_ad_v1/?redirId=114289 -.. _`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 +.. _KIT_XMC14_2GO: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc14_2go/?redirId=282145 +.. _KIT_XMC11_BOOT_001: https://www.infineon.com/cms/de/product/evaluation-boards/kit_xmc11_boot_001/ +.. _KIT_XMC1400_ARDUINO: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1400_arduino/ +.. _KIT_XMC_PLT2GO_XMC4200: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4200/ +.. _KIT_XMC_PLT2GO_XMC4400: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc_plt2go_xmc4400/ +.. _KIT_XMC47_RELAX_5V_AD_V1: https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc47_relax_5v_ad_v1/?redirId=114289 +.. _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 diff --git a/docs/index.rst b/docs/index.rst index a55e04ca..3288a9d6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -41,7 +41,6 @@ advantage of the advanced features and performance offered by XMC microcontrolle builtin-libraries arduino-variations - License ======= From ae2f95c8cb447928b018e2e1f169d959346e08bf Mon Sep 17 00:00:00 2001 From: Eder Julian Date: Tue, 17 Sep 2024 07:26:02 +0200 Subject: [PATCH 9/9] docs: replace code block by literal block for link. --- docs/installation-instructions.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/installation-instructions.rst b/docs/installation-instructions.rst index 5ae24530..9f4ffb0c 100644 --- a/docs/installation-instructions.rst +++ b/docs/installation-instructions.rst @@ -43,9 +43,10 @@ Integration in Arduino IDE .. image:: img/preference.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. +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: + +:: -.. code-block:: shell https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json .. image:: img/preference_JSON.png