CMSIS-DAP: Alpha specification for UART commands added
diff --git a/CMSIS/DoxyGen/DAP/dap.dxy b/CMSIS/DoxyGen/DAP/dap.dxy
index fe8df93..62cb16b 100644
--- a/CMSIS/DoxyGen/DAP/dap.dxy
+++ b/CMSIS/DoxyGen/DAP/dap.dxy
@@ -38,7 +38,7 @@
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "Version 2.0.0"
+PROJECT_NUMBER = "Version 2.1.0-alpha-spec"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/CMSIS/DoxyGen/DAP/src/dap_USB_cmds.txt b/CMSIS/DoxyGen/DAP/src/dap_USB_cmds.txt
index 77729ed..7b5616c 100644
--- a/CMSIS/DoxyGen/DAP/src/dap_USB_cmds.txt
+++ b/CMSIS/DoxyGen/DAP/src/dap_USB_cmds.txt
@@ -180,6 +180,23 @@
/**************************************************************************************************/
/**
+\defgroup DAP_uart_gr UART Commands
+\ingroup DAP_Commands_gr
+\brief Target communication via extra UART.
+
+CMSIS-DAP debug unit can be extended to support a separate UART port that connects to the target. Such a UART communication
+is typically used for printf-style debugging, but the usage is not limited to that. CMSIS-DAP supports UART communication via:
+ - dedicated CMSIS-DAP commands: connects seamless to (Cloud) IDEs that integrate a printf viewer.
+ - via standard USB COM port: for any data communication, i.e. to transmit training data sets for machine learning.
+
+The following CMSIS-DAP commands are added to support UART communication:
+ - \ref DAP_UART_Control : \copybrief DAP_UART_Control
+ - \ref DAP_UART_Transfer : \copybrief DAP_UART_Transfer
+
+*/
+
+/**************************************************************************************************/
+/**
\defgroup DAP_Response_Status Response Status
\ingroup DAP_Commands_gr
\brief Status Information in Response Data
@@ -1368,3 +1385,94 @@
DAP_SWJ_Pins |
\endcode
*/
+
+
+
+/**************************************************************************************************/
+/**
+\defgroup DAP_UART_Control DAP_UART_Control
+\ingroup DAP_uart_gr
+\brief Control and configure UART interface.
+
+Query the current UART settings or configure the UART parameters.
+
+<b>DAP_UART_Control Request:</b>
+
+\code
+ | BYTE | BYTE | WORD | WORD |
+ > 0x1D | UART setup | UART control | UART baudrate |
+ |******|***************|**************|***************|
+\endcode
+
+- <b>UART setup</b>: Query or configure UART parameters.
+ - Bit 0: setup: 0 = query parameters (UART control and UART baudrate not used), 1 = setup parameters (UART control and UART baudrate contain setup data)
+ - Bit 1: data via CMSIS-DAP: 0 = no change, 1 = data communication via CMSIS-DAP interface
+ - Bit 2: data via USB COM: 0 = no change, 1 = data communication via USB COM interface
+\note UART setup value 0 does not change any setting, but queries the current settings
+
+- <b>UART control</b>: Parameter values identical with CMSIS-Driver - USART Interface, function ARM_USART_Control. But only the following is supported:
+ - ARM_USART_MODE_ASYNCHRONOUS
+ - ARM_USART_DATA_BITS_5 .. ARM_USART_DATA_BITS_8
+ - ARM_USART_STOP_BITS_1, ARM_USART_STOP_BITS_2
+ - ARM_USART_FLOW_CONTROL_NONE
+
+- <b>UART baudrate</b>: baudrate value to configure
+
+
+<b>DAP_UART_Control Response:</b>
+\code
+ | BYTE | BYTE | WORD | WORD |
+ < 0x1D | UART status | UART control | UART baudrate |
+ |******|***************|**************|***************|
+\endcode
+
+- <b>UART status</b>: Status information.
+ - Bit 0: 0 = reserved
+ - Bit 1: 1 = data communication via CMSIS-DAP interface
+ - Bit 2: 1 = data communication via USB COM interface
+\note when Bit 1 and Bit 2 are both 0, UART support is disabled in the CMSIS-DAP firmware
+
+- <b>UART control</b>: current parameter values identical with CMSIS-Driver (see above).
+
+- <b>UART baudrate</b>: current baudrate value
+*/
+
+/**************************************************************************************************/
+/**
+\defgroup DAP_UART_Transfer DAP_UART_Transfer
+\ingroup DAP_uart_gr
+\brief Write (output) and Read (input) data via target UART interface.
+
+Exchange data via the UART interface.
+
+<b>DAP_UART_Transfer Request:</b>
+
+\code
+ | BYTE | SHORT | BYTE |
+ > 0x1E | Output length | Transfer data |
+ |******|***************|+++++++++++++++|
+\endcode
+
+- <b>Output length</b>: Number of bytes to send to the target device via UART or special commands.
+ - Bit 0..9: length: number of bytes in <b>Transfer data</b>.
+ - Bit 15: 1 = issue ARM_USART_ABORT_TRANSFER as an attempt to terminate transfer via UART.
+
+- <b>Transfer data</b>: bytes to send to the target device via UART.
+
+<b>DAP_UART_Transfer Response:</b>
+
+\code
+ | BYTE | SHORT | BYTE |
+ < 0x1E | Input length | Transfer data |
+ |******|**************|+++++++++++++++|
+\endcode
+
+- <b>Input length</b>: Number of bytes received from to the target device via UART.
+ - Bit 0..9: length: number of bytes in <b>Transfer data</b>.
+ - Bit 13: 1 = set when data is lost during receive/transfer operation.
+ - Bit 14: 1 = set when parity error is detected during receive.
+ - Bit 15: 1 = set when break is detected during receive. This should stop further data transfer.
+
+- <b>Transfer data</b>: bytes received from the target device via UART.
+
+*/