diff --git a/doc/api/microkernel_api.rst b/doc/api/microkernel_api.rst index e985c3ec026..8d9aeb1114f 100644 --- a/doc/api/microkernel_api.rst +++ b/doc/api/microkernel_api.rst @@ -50,6 +50,13 @@ Memory Maps :project: Zephyr :content-only: +Memory Pools +************ + +.. doxygengroup:: microkernel_memorypool + :project: Zephyr + :content-only: + Mutexes ******* diff --git a/doc/api/nanokernel_api.rst b/doc/api/nanokernel_api.rst index fab4e81e2ea..0e0c6f45d14 100644 --- a/doc/api/nanokernel_api.rst +++ b/doc/api/nanokernel_api.rst @@ -15,6 +15,13 @@ Fibers :project: Zephyr :content-only: +Tasks +****** + +.. doxygengroup:: nanokernel_task + :project: Zephyr + :content-only: + Semaphores ********** @@ -36,6 +43,13 @@ FIFOs :project: Zephyr :content-only: +Ring Buffers +************ + +.. doxygengroup:: nanokernel_ringbuffer + :project: Zephyr + :content-only: + Stacks ****** diff --git a/doc/kernel/microkernel/microkernel_events.rst b/doc/kernel/microkernel/microkernel_events.rst index ca4b7cb07e7..db0de3a04d5 100644 --- a/doc/kernel/microkernel/microkernel_events.rst +++ b/doc/kernel/microkernel/microkernel_events.rst @@ -219,7 +219,7 @@ The following Event APIs are provided by :file:`microkernel.h`: :cpp:func:`task_event_send()` Signal an event from a task. -:c:func:`task_event_recv()` +:cpp:func:`task_event_recv()` Waits for an event signal for a specified time period. :cpp:func:`task_event_handler_set()` diff --git a/doc/kernel/microkernel/microkernel_memory_maps.rst b/doc/kernel/microkernel/microkernel_memory_maps.rst index 66c60504b98..96895f4eddb 100644 --- a/doc/kernel/microkernel/microkernel_memory_maps.rst +++ b/doc/kernel/microkernel/microkernel_memory_maps.rst @@ -167,7 +167,7 @@ APIs The following Memory Map APIs are provided by :file:`microkernel.h`: -:c:func:`task_mem_map_alloc()` +:cpp:func:`task_mem_map_alloc()` Waits on a block of memory for the period of time defined by the time-out parameter. diff --git a/doc/kernel/microkernel/microkernel_memory_pools.rst b/doc/kernel/microkernel/microkernel_memory_pools.rst index b9cfaab78f4..af4e03e585a 100644 --- a/doc/kernel/microkernel/microkernel_memory_pools.rst +++ b/doc/kernel/microkernel/microkernel_memory_pools.rst @@ -193,12 +193,12 @@ APIs The following Memory Pools APIs are provided by :file:`microkernel.h`: -:c:func:`task_mem_pool_alloc()` +:cpp:func:`task_mem_pool_alloc()` Waits for a block of memory for the time period defined by the time-out parameter. -:c:func:`task_mem_pool_free()` +:cpp:func:`task_mem_pool_free()` Returns a block of memory to a memory pool. -:c:func:`task_mem_pool_defragment()` +:cpp:func:`task_mem_pool_defragment()` Defragments a memory pool. diff --git a/doc/kernel/microkernel/microkernel_mutexes.rst b/doc/kernel/microkernel/microkernel_mutexes.rst index 1ca867a69f4..66d24af7b8a 100644 --- a/doc/kernel/microkernel/microkernel_mutexes.rst +++ b/doc/kernel/microkernel/microkernel_mutexes.rst @@ -181,7 +181,7 @@ APIs The following Mutex APIs are provided by :file:`microkernel.h`: -:c:func:`task_mutex_lock()` +:cpp:func:`task_mutex_lock()` Waits on a locked mutex for the period of time defined by the timeout parameter. If the mutex becomes available during that period, the function locks the mutex, and increments the lock count. diff --git a/doc/kernel/microkernel/microkernel_semaphores.rst b/doc/kernel/microkernel/microkernel_semaphores.rst index 6388541f1fb..ee60fc3445d 100644 --- a/doc/kernel/microkernel/microkernel_semaphores.rst +++ b/doc/kernel/microkernel/microkernel_semaphores.rst @@ -206,7 +206,7 @@ The following APIs for an individual semaphore are provided by :cpp:func:`task_sem_give()` Gives a semaphore. -:c:func:`task_sem_take()` +:cpp:func:`task_sem_take()` Takes a semaphore, with time limited waiting. :cpp:func:`task_sem_reset()` diff --git a/doc/kernel/nanokernel/nanokernel_fibers.rst b/doc/kernel/nanokernel/nanokernel_fibers.rst index f0b4fa3702f..6260882e399 100644 --- a/doc/kernel/nanokernel/nanokernel_fibers.rst +++ b/doc/kernel/nanokernel/nanokernel_fibers.rst @@ -290,16 +290,16 @@ by :file:`microkernel.h` and by :file:`nanokernel.h`: The following APIs affecting a specified fiber are provided by :file:`microkernel.h` and by :file:`nanokernel.h`: -:c:func:`task_fiber_start()`, :cpp:func:`fiber_fiber_start()`, +:cpp:func:`task_fiber_start()`, :cpp:func:`fiber_fiber_start()`, :cpp:func:`fiber_start()` Spawn a new fiber. -:c:func:`task_fiber_delayed_start()`, +:cpp:func:`task_fiber_delayed_start()`, :cpp:func:`fiber_fiber_delayed_start()`, :cpp:func:`fiber_delayed_start()` Spawn a new fiber after a specified time period. -:c:func:`task_fiber_delayed_start_cancel()`, +:cpp:func:`task_fiber_delayed_start_cancel()`, :cpp:func:`fiber_fiber_delayed_start_cancel()`, :cpp:func:`fiber_delayed_start_cancel()` - Cancel spawning of a new fiber, if not already started. \ No newline at end of file + Cancel spawning of a new fiber, if not already started. diff --git a/doc/kernel/nanokernel/nanokernel_kernel_event_logger.rst b/doc/kernel/nanokernel/nanokernel_kernel_event_logger.rst index d34c16876ed..34403b5b7c6 100644 --- a/doc/kernel/nanokernel/nanokernel_kernel_event_logger.rst +++ b/doc/kernel/nanokernel/nanokernel_kernel_event_logger.rst @@ -54,7 +54,7 @@ Adding a Kernel Event Logging Point Custom trace points can be added with the following API: -* :cpp:func:`sys_k_event_logger_put()` +* :c:func:`sys_k_event_logger_put()` Adds the profile of a new event with custom data. @@ -76,9 +76,9 @@ event logger. The API functions provided are: -* :cpp:func:`sys_k_event_logger_get()` -* :cpp:func:`sys_k_event_logger_get_wait()` -* :cpp:func:`sys_k_event_logger_get_wait_timeout()` +* :c:func:`sys_k_event_logger_get()` +* :c:func:`sys_k_event_logger_get_wait()` +* :c:func:`sys_k_event_logger_get_wait_timeout()` The above functions specify various ways to retrieve a event message and to copy it to the provided buffer. When the buffer size is smaller than the message, the function will @@ -295,17 +295,17 @@ The following APIs are provided by the :file:`k_event_logger.h` file: :cpp:func:`sys_k_event_logger_register_as_collector()` Register the current fiber as the collector fiber. -:cpp:func:`sys_k_event_logger_put()` +:c:func:`sys_k_event_logger_put()` Enqueue a kernel event logger message with custom data. :cpp:func:`sys_k_event_logger_put_timed()` Enqueue a kernel event logger message with the current time. -:cpp:func:`sys_k_event_logger_get()` +:c:func:`sys_k_event_logger_get()` De-queue a kernel event logger message. -:cpp:func:`sys_k_event_logger_get_wait()` +:c:func:`sys_k_event_logger_get_wait()` De-queue a kernel event logger message. Wait if the buffer is empty. -:cpp:func:`sys_k_event_logger_get_wait_timeout()` +:c:func:`sys_k_event_logger_get_wait_timeout()` De-queue a kernel event logger message. Wait if the buffer is empty until the timeout expires. diff --git a/doc/kernel/nanokernel/nanokernel_ring_buffers.rst b/doc/kernel/nanokernel/nanokernel_ring_buffers.rst index 58f66ed6de8..7cef8c84608 100644 --- a/doc/kernel/nanokernel/nanokernel_ring_buffers.rst +++ b/doc/kernel/nanokernel/nanokernel_ring_buffers.rst @@ -124,20 +124,20 @@ APIs The following APIs for ring buffers are provided by :file:`ring_buffer.h`: -:c:func:`sys_ring_buf_init()` +:cpp:func:`sys_ring_buf_init()` Initializes a ring buffer. :c:func:`SYS_RING_BUF_DECLARE_POW2()`, :c:func:`SYS_RING_BUF_DECLARE_SIZE()` Declare and init a file-scope ring buffer. -:c:func:`sys_ring_buf_get_space()` +:cpp:func:`sys_ring_buf_space_get()` Returns the amount of free buffer storage space in 32-bit dwords. -:c:func:`sys_ring_buf_is_empty()` +:cpp:func:`sys_ring_buf_is_empty()` Indicates whether a buffer is empty. -:c:func:`sys_ring_buf_put()` +:cpp:func:`sys_ring_buf_put()` Enqueues an item. -:c:func:`sys_ring_buf_get()` +:cpp:func:`sys_ring_buf_get()` De-queues an item. diff --git a/include/misc/ring_buffer.h b/include/misc/ring_buffer.h index 5039a711eae..9c3b8d3c6de 100644 --- a/include/misc/ring_buffer.h +++ b/include/misc/ring_buffer.h @@ -28,6 +28,13 @@ extern "C" { #endif +/** + * @brief Ring Buffer APIs + * @defgroup nanokernel_ringbuffer Ring Bufer + * @ingroup nanokernel_services + * @{ + */ + #define SIZE32_OF(x) (sizeof((x))/sizeof(uint32_t)) /** @@ -169,6 +176,10 @@ int sys_ring_buf_put(struct ring_buf *buf, uint16_t type, uint8_t value, int sys_ring_buf_get(struct ring_buf *buf, uint16_t *type, uint8_t *value, uint32_t *data, uint8_t *size32); +/** + * @} + */ + #ifdef __cplusplus } #endif