zephyr — functionality specific to the Zephyr port

The zephyr module contains functions and classes specific to the Zephyr port.

Functions

zephyr.is_preempt_thread()

Returns true if the current thread is a preemptible thread.

Zephyr preemptible threads are those with non-negative priority values (low priority levels), which therefore, can be supplanted as soon as a higher or equal priority thread becomes ready.

zephyr.current_tid()

Returns the thread id of the current thread, which is used to reference the thread.

zephyr.thread_analyze()

Runs the Zephyr debug thread analyzer on the current thread and prints stack size statistics in the format:

thread_name-20s: STACK: unused available_stack_space usage stack_space_used / stack_size (percent_stack_space_used %); CPU: cpu_utilization %”

  • CPU utilization is only printed if runtime statistics are configured via the ``CONFIG_THREAD_RUNTIME_STATS`` kconfig

This function can only be accessed if CONFIG_THREAD_ANALYZER is configured for the port in zephyr/prj.conf. For more infomation, see documentation for Zephyr thread analyzer.

zephyr.shell_exec(cmd_in)

Executes the given command on an UART backend. This function can only be accessed if CONFIG_SHELL_BACKEND_SERIAL is configured for the port in zephyr/prj.conf.

A list of possible commands can be found in the documentation for Zephyr shell commands.