aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ports/ARMCM3-STM32F103/port.dox24
-rw-r--r--src/include/ioports.h2
-rw-r--r--src/templates/ioports_lld.h4
3 files changed, 22 insertions, 8 deletions
diff --git a/ports/ARMCM3-STM32F103/port.dox b/ports/ARMCM3-STM32F103/port.dox
index 5c60dd188..33afd445f 100644
--- a/ports/ARMCM3-STM32F103/port.dox
+++ b/ports/ARMCM3-STM32F103/port.dox
@@ -19,23 +19,37 @@
/**
* @defgroup STM32F103 STM32F103 Support
- * @{
* @brief STM32F103 specific support.
* @details The STM32F103 support includes:
* - Buffered, interrupt driven, serial driver.
* - A demo supporting the kernel test suite.
- *
+ * .
* @ingroup ARMCM3
*/
-/** @} */
+
+/**
+ * @defgroup STM32F103_IOPORTS I/O Ports Support
+ * @brief I/O Ports peripherals support.
+ * @details This module supports the STM32F103 GPIO controller. The STM32
+ * controller is very flexible and allows to implement all the recommended
+ * behaviors for the I/O port driver. It supports the following features (see
+ * @ref IOPorts):
+ * - 16 bits wide ports.
+ * - Atomic set/reset functions.
+ * - Atomic set+reset function (atomic bus operations).
+ * - Output latched regardless of the pad setting.
+ * - Direct read of input pads regardless of the pad setting.
+ * .
+ * The only non atomic operation is bit toggling.
+ * @ingroup STM32F103
+ */
/**
* @defgroup STM32F103_SERIAL USART Support
- * @{
* @brief USART peripherals support.
* @details The serial driver supports the STM32F103 USARTs in asynchronous
* mode.
*
* @ingroup STM32F103
*/
-/** @} */
+ \ No newline at end of file
diff --git a/src/include/ioports.h b/src/include/ioports.h
index 6ccf435af..94488640a 100644
--- a/src/include/ioports.h
+++ b/src/include/ioports.h
@@ -116,7 +116,7 @@ typedef struct {
* for atomicity and/or portability reasons you may need to enclose port
* I/O operations between @p chSysLock() and @p chSysUnlock().
*/
-#define chPortToggle(port, bits) ioport_clear_lld(port, bits)
+#define chPortToggle(port, bits) ioport_toggle_lld(port, bits)
/**
* @brief Writes a value on an I/O bus.
diff --git a/src/templates/ioports_lld.h b/src/templates/ioports_lld.h
index 422abe350..8420ca1c7 100644
--- a/src/templates/ioports_lld.h
+++ b/src/templates/ioports_lld.h
@@ -18,7 +18,7 @@
*/
/**
- * @file ioports_lld.h
+ * @file src/templates/ioports_lld.h
* @brief I/O ports low level driver
* @addtogroup IOPortsLLD
* @{
@@ -118,7 +118,7 @@ typedef uint32_t ioportid_t;
* @note This function is not meant to be invoked directly by the application
* code.
*/
-#define ioport_clear_lld(port, bits)
+#define ioport_toggle_lld(port, bits)
/**
* @brief Writes a value on an I/O bus.