diff --git a/src/templates/chconf.h b/src/templates/chconf.h
index c54820f58..8863b0061 100644
--- a/src/templates/chconf.h
+++ b/src/templates/chconf.h
@@ -32,177 +32,239 @@
* is the one into the project directories.
*/
-/** Configuration option: if specified then time efficient rather than space
- * efficient code is used when two possible implementations exist, note
- * that this is not related to the compiler optimization options.*/
+/**
+ * If specified then time efficient rather than space efficient code is used
+ * when two possible implementations exist.
+ * @note This is not related to the compiler optimization options.
+ */
#define CH_OPTIMIZE_SPEED
-/** Configuration option: If enabled then the use of nested @p chSysLock() /
- * @p chSysUnlock() operations is allowed.
- * For performance and code size reasons the recommended setting is to leave
- * this option disabled.
- * You can use this option if you need to merge ChibiOS/RT with external
- * libraries that require nested lock/unlock operations.
+/**
+ * If enabled then the use of nested @p chSysLock() / @p chSysUnlock()
+ * operations is allowed.
+ * For performance and code size reasons the recommended setting is to leave
+ * this option disabled.
+ * You can use this option if you need to merge ChibiOS/RT with external
+ * libraries that require nested lock/unlock operations.
*/
#define CH_USE_NESTED_LOCKS
-/** Configuration option: if specified then the kernel performs the round
- * robin scheduling algorithm on threads of equal priority.*/
+/**
+ * If specified then the kernel performs the round robin scheduling algorithm
+ * on threads of equal priority.
+ * @note The default is ON.
+ */
#define CH_USE_ROUNDROBIN
-/** Configuration option: if specified then the @p chThdWait() function
- * is included in the kernel.*/
+/**
+ * If specified then the @p chThdWait() function is included in the kernel.
+ */
#define CH_USE_WAITEXIT
-/** Configuration option: if specified then the Semaphores APIs are included
- * in the kernel.*/
+/**
+ * If specified then the Semaphores APIs are included in the kernel.
+ */
#define CH_USE_SEMAPHORES
-/** Configuration option: If enabled then the threads are enqueued on semaphores
- * by priority rather than FIFO order.
- * @note requires @p CH_USE_SEMAPHORES.*/
+/**
+ * If enabled then the threads are enqueued on semaphores by priority rather
+ * than FIFO order.
+ * @note The recommended default is OFF unless you have some specific
+ * requirements.
+ * @note Requires @p CH_USE_SEMAPHORES.
+ */
#define CH_USE_SEMAPHORES_PRIORITY
-/** Configuration option: if specified then the Semaphores atomic Signal+Wait
- * APIs are included in the kernel.*/
+/**
+ * If specified then the Semaphores the @p chSemWaitSignal() API is included
+ * in the kernel.
+ * @note Requires @p CH_USE_SEMAPHORES.
+ */
#define CH_USE_SEMSW
-/** Configuration option: if specified then the Semaphores with timeout APIs
- * are included in the kernel.
- * @note requires @p CH_USE_SEMAPHORES.*/
+/**
+ * If specified then the Semaphores with timeout APIs are included in the
+ * kernel.
+ * @note Requires @p CH_USE_SEMAPHORES.
+ */
#define CH_USE_SEMAPHORES_TIMEOUT
-/** Configuration option: if specified then the Mutexes APIs are included in
- * the kernel.*/
+/**
+ * If specified then the Mutexes APIs are included in the kernel.
+ */
#define CH_USE_MUTEXES
-/** Configuration option: if specified then the Conditional Variables APIs are
- * included in the kernel.
- * @note requires @p CH_USE_MUTEXES.*/
+/**
+ * If specified then the Conditional Variables APIs are included in the kernel.
+ * @note Requires @p CH_USE_MUTEXES.
+ */
#define CH_USE_CONDVARS
-/** Configuration option: if specified then the Conditional Variables APIs are
- * included in the kernel.
- * @note requires @p CH_USE_CONDVARS and @p CH_USE_MUTEXES.*/
+/**
+ * If specified then the Conditional Variables APIs are included in the kernel.
+ * @note Requires @p CH_USE_CONDVARS.
+ */
#define CH_USE_CONDVARS_TIMEOUT
-/** Configuration option: if specified then the Events APIs are included in
- * the kernel.*/
+/**
+ * If specified then the Event flags APIs are included in the kernel.
+ */
#define CH_USE_EVENTS
-/** Configuration option: if specified then the @p chEvtWaitXXXTimeout()
- * functions are included in the kernel.
- * @note requires @p CH_USE_EVENTS.
+/**
+ * If specified then the @p chEvtWaitXXXTimeout() functions are included in
+ * the kernel.
+ * @note Requires @p CH_USE_EVENTS.
*/
#define CH_USE_EVENTS_TIMEOUT
-/** Configuration option: if specified then the Synchronous Messages APIs are
- * included in the kernel.*/
+/**
+ * If specified then the Synchronous Messages APIs are included in the kernel.
+ */
#define CH_USE_MESSAGES
-/** Configuration option: if specified then the @p chMsgSendWithEvent()
- * function is included in the kernel.
- * @note requires @p CH_USE_MESSAGES.*/
+/**
+ * If specified then the @p chMsgSendWithEvent() function is included in the
+ * kernel.
+ * @note Requires @p CH_USE_MESSAGES and @p CH_USE_EVENTS.
+ */
#define CH_USE_MESSAGES_EVENT
-/** Configuration option: If enabled then the threads serve messages by
- * priority instead of FIFO order.
- * @note requires @p CH_USE_MESSAGES.*/
+/**
+ * If enabled then messages are served by priority rather than in FIFO order.
+ * @note Requires @p CH_USE_MESSAGES.
+ */
#define CH_USE_MESSAGES_PRIORITY
-/** Configuration option: if specified then the I/O queues APIs are included
- * in the kernel.*/
+/**
+ * If specified then the I/O queues APIs are included in the kernel.
+ * @note Requires @p CH_USE_SEMAPHORES.
+ */
#define CH_USE_QUEUES
-/** Configuration option: if specified then the halfduplex queue APIs are
- * included in the kernel.*/
+/**
+ * If specified then the half duplex queues APIs are included in the kernel.
+ * @note Requires @p CH_USE_SEMAPHORES.
+ */
#define CH_USE_QUEUES_HALFDUPLEX
-/** Configuration option: if specified then the I/O queues with timeout
- * APIs are included in the kernel.
- * @note requires @p CH_USE_SEMAPHORES_TIMEOUT.*/
+/**
+ * If specified then the I/O queues with timeout APIs are included in the
+ * kernel.
+ * @note Requires @p CH_USE_QUEUES and @p CH_USE_SEMAPHORES_TIMEOUT.
+ */
#define CH_USE_QUEUES_TIMEOUT
-/** Configuration option: if specified then the full duplex serial driver APIs
- * are included in the kernel.*/
+/**
+ * If specified then the full duplex serial driver APIs are included in the
+ * kernel.
+ * @note Requires @p CH_USE_QUEUES.
+ */
#define CH_USE_SERIAL_FULLDUPLEX
-/** Configuration option: if specified then the half duplex serial driver APIs
- * are included in the kernel.*/
+/**
+ * If specified then the half duplex serial driver APIs are included in the
+ * kernel.
+ * @note Requires @p CH_USE_QUEUES_HALFDUPLEX.
+ */
#define CH_USE_SERIAL_HALFDUPLEX
-/** Configuration option: if specified then the memory heap allocator APIs
- * are included in the kernel.*/
+/**
+ * If specified then the memory heap allocator APIs are included in the kernel.
+ * @note Requires @p CH_USE_MUTEXES or @p CH_USE_SEMAPHORES.
+ * @note Mutexes are recommended.
+ */
#define CH_USE_HEAP
-/** Configuration option: Number of RAM bytes to use as system heap. If set to
- * zero then the whole available RAM is used as system heap.
- * @note In order to use the whole RAM as system heap the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note requires @p CH_USE_HEAP.
+/**
+ * Number of RAM bytes to use as system heap. If set to zero then the whole
+ * available RAM is used as system heap.
+ * @note In order to use the whole RAM as system heap the linker script must
+ * provide the @p __heap_base__ and @p __heap_end__ symbols.
+ * @note Requires @p CH_USE_HEAP.
*/
#define CH_HEAP_SIZE 0
-/** Configuration option: enforces the use of the C-runtime @p malloc() and
- * @p free() functions as backend for the system heap allocator.*/
+/**
+ * If enabled enforces the use of the C-runtime @p malloc() and @p free()
+ * functions as backend for the system heap allocator.
+ * @note Requires @p CH_USE_HEAP.
+ * @note The recommended setting is OFF.
+ */
#define CH_USE_MALLOC_HEAP
-/** Configuration option: if specified then the memory pools allocator APIs
- * are included in the kernel.*/
+/**
+ * If specified then the memory pools allocator APIs are included in the
+ * kernel.
+ */
#define CH_USE_MEMPOOLS
-/** Configuration option: if specified then the dynamic objects creation APIs
- * are included in the kernel.
- * @note requires @p CH_USE_WAITEXIT.
+/**
+ * If specified then the dynamic threads creation APIs are included in the
+ * kernel.
+ * @note Requires @p CH_USE_WAITEXIT.
*/
#define CH_USE_DYNAMIC
-/** Configuration option: Frequency of the system timer that drives the system
- * ticks. This also defines the system time unit.*/
+/**
+ * Frequency of the system timer that drives the system ticks. This also
+ * defines the system tick time unit.
+ */
#define CH_FREQUENCY 1000
-/** Configuration option: This constant is the number of ticks allowed for the
- * threads before preemption occurs. This option is only meaningful if the
- * option @p CH_USE_ROUNDROBIN is also active.*/
+/**
+ * This constant is the number of system ticks allowed for the threads before
+ * preemption occurs. This option is only meaningful if the option
+ * @p CH_USE_ROUNDROBIN is also active.
+ */
#define CH_TIME_QUANTUM 20
-/** Configuration option: Defines a CPU register to be used as storage for the
- * global @p currp variable. Caching this variable in a register can greatly
- * improve both space and time efficiency of the generated code. Another side
- * effect is that one less register has to be saved during the context switch
- * resulting in lower RAM usage and faster code.
- * @note This option is only useable with the GCC compiler and is only useful
- * on processors with many registers like ARM cores.
- * @note If this option is enabled then ALL the libraries linked to the
- * ChibiOS/RT code must be recompiled with the GCC option @p
- * -ffixed-\.
+/**
+ * If enabled defines a CPU register to be used as storage for the global
+ * @p currp variable. Caching this variable in a register can greatly
+ * improve both space and time efficiency of the generated code. Another side
+ * effect is that one less register has to be saved during the context switch
+ * resulting in lower RAM usage and faster code.
+ * @note This option is only usable with the GCC compiler and is only useful
+ * on processors with many registers like ARM cores.
+ * @note If this option is enabled then ALL the libraries linked to the
+ * ChibiOS/RT code must be recompiled with the GCC option @p
+ * -ffixed-@.
*/
-//#define CH_CURRP_REGISTER_CACHE "reg"
+#define CH_CURRP_REGISTER_CACHE "reg"
-/** Debug option: Includes basic debug support to the kernel.
- * @note The debug support is port-dependent, it may be not present on some
- * targets. In that case stub functions will be included.
+/**
+ * Debug option, if enableed includes basic debug support to the kernel.
+ * @note The debug support is port-dependent, it may be not present on some
+ * targets. In that case stub functions will be included.
*/
#define CH_USE_DEBUG
-/** Debug option: Includes the threads context switch tracing feature.
+/**
+ * Debug option, includes the threads context switch tracing feature.
*/
#define CH_USE_TRACE
-/** User fields added to the end of the @p Thread structure. */
+/**
+ * User fields added to the end of the @p Thread structure.
+ */
#define THREAD_EXT_FIELDS \
struct { \
/* Add thread custom fields here.*/ \
};
-/** User initialization code added to the @p chThdInit() API.
- * @note It is invoked from within @p chThdInit(). */
+/**
+ * User initialization code added to the @p chThdInit() API.
+ * @note It is invoked from within @p chThdInit().
+ */
#define THREAD_EXT_INIT(tp) { \
/* Add thread initialization code here.*/ \
}
-/** User finalization code added to the @p chThdExit() API.
- * @note It is inserted into lock zone. */
+/**
+ * User finalization code added to the @p chThdExit() API.
+ * @note It is inserted into lock zone.
+ */
#define THREAD_EXT_EXIT(tp) { \
/* Add thread finalization code here.*/ \
}