System configuration

All configuration definitions available for Sirius RTOS are listed in this section. Each constant has assigned a default value. To optimize the system for specific use, this value can be redefined in the global configuration file Config.h. It can be done through the #define C directive. Most of the definitions allow reducing the output code by disabling unused system features. For more information on the specific definition, please click it on the list below.

General system configuration

OS_MAX_WAIT_FOR_OBJECTS - Maximum number of objects that task can wait
OS_USE_WAITING_WITH_TIME_OUT - Enables timeouts in wait functions
OS_RESUME_IMMEDIATELY - Defines task resume order for ready tasks queue
OS_ALLOW_OBJECT_DELETION - Allows system objects deleting
OS_SYS_OBJECT_MAX_NAME_LEN - Maximal length of the object name
OS_STOP_FUNC - Enables the osStop function
OS_DEINIT_FUNC - Enables the osDeinit function
OS_OPEN_BY_HANDLE_FUNC - Enables the osOpenByHandle function
OS_READ_WRITE_FUNC - Enables osRead and osWrite functions
OS_GET_SYSTEM_STAT_FUNC - Enables the osGetSystemStat function
OS_STAT_SAMPLE_RATE - Defines sampling rate for calculating a CPU usage

System memory configuration

OS_STACK_SIZE - Size of the scheduler stack
OS_IDLE_STACK_SIZE - Size of the idle task stack
OS_INTERNAL_MEMORY_SIZE - Size of the internal system memory
OS_USE_FIXMEM_POOLS - Enables using a fixed-size memory pools
OS_FIX_POOL0_SIZE - Defines size of the fixed memory pool #0
OS_FIX_POOL0_ITEM_SIZE - Defines block size of the fixed memory pool #0
OS_FIX_POOL1_SIZE - Defines size of the fixed memory pool #1
OS_FIX_POOL1_ITEM_SIZE - Defines block size of the fixed memory pool #1
OS_FIX_POOL2_SIZE - Defines size of the fixed memory pool #2
OS_FIX_POOL2_ITEM_SIZE - Defines block size of the fixed memory pool #2
OS_FIX_POOL3_SIZE - Defines size of the fixed memory pool #3
OS_FIX_POOL3_ITEM_SIZE - Defines block size of the fixed memory pool #3

Tasks configuration

OS_LOWEST_USED_PRIORITY - The lowest used task priority (define to reduce RAM usage)
OS_DEFAULT_TASK_STACK_SIZE - Default size of the task stack in bytes
OS_GET_TASK_HANDLE_FUNC - Enables the osGetTaskHandle function
OS_GET_TASK_STAT_FUNC - Enables the osGetTaskStat function
OS_SUSP_RES_TASK_FUNC - Enables osSuspendTask and osResumeTask functions
OS_TASK_EXIT_CODE_FUNC - Enables the osGetTaskExitCode function
OS_TASK_PRIORITY_FUNC - Enables osGetTaskPriority and osSetTaskPriority functions
OS_TASK_QUANTUM_FUNC - Enables osGetTaskQuantum and osSetTaskQuantum functions
OS_TERMINATE_TASK_FUNC - Enables the osTerminateTask function

Mutexes configuration

OS_OPEN_MUTEX_FUNC - Enables the osOpenMutex function
OS_USE_MUTEX - Includes code for mutexes

Semaphores configuration

OS_OPEN_SEMAPHORE_FUNC - Enables the osOpenSemaphore function
OS_USE_SEMAPHORE - Includes code for semaphores

Counting semaphores configuration

OS_OPEN_CNT_SEM_FUNC - Enables the osOpenCountSem function
OS_USE_CNT_SEM - Includes code for counting semaphores

Events configuration

OS_OPEN_EVENT_FUNC - Enables the osOpenEvent function
OS_USE_EVENT - Includes code for events

Timers configuration

OS_OPEN_TIMER_FUNC - Enables the osOpenTimer function
OS_USE_TIMER - Includes code for timers

Shared memories configuration

OS_GET_SH_MEM_ADDRESS_FUNC - Enables the osGetSharedMemoryAddress function
OS_OPEN_SH_MEM_FUNC - Enables the osOpenSharedMemory function
OS_SH_MEM_PROTECT_MUTEX - Allows to synchronize shared memory by mutex object
OS_USE_SHARED_MEM - Includes code for shared memories

Pointers queues configuration

OS_OPEN_PTR_QUEUE_FUNC - Enables the osOpenPtrQueue function
OS_PTR_QUEUE_CLEAR_FUNC - Enables the osClearPtrQueue function
OS_PTR_QUEUE_PEEK_FUNC - Enables the osPtrQueuePeek function
OS_USE_PTR_QUEUE - Includes code for pointers queues

Streams configuration

OS_OPEN_STREAM_FUNC - Enables the osOpenStream function
OS_STREAM_ALLOW_DIRECT_RW - Enables direct read-write for streams
OS_STREAM_ALLOW_WAIT_IF_EMPTY - Enables waiting on empty stream
OS_STREAM_ALLOW_WAIT_IF_FULL - Enables waiting on full stream
OS_STREAM_PROTECT_EVENT - Allows to synchronize stream by auto-reset event object
OS_STREAM_PROTECT_MUTEX - Allows to synchronize stream by mutex object
OS_USE_STREAM - Includes code for streams

Queues configuration

OS_OPEN_QUEUE_FUNC - Enables the osOpenQueue function
OS_QUEUE_ALLOW_DIRECT_RW - Enables direct read-write for queues
OS_QUEUE_ALLOW_WAIT_IF_EMPTY - Enables waiting on empty queue
OS_QUEUE_ALLOW_WAIT_IF_FULL - Enables waiting on full queue
OS_QUEUE_CLEAR_FUNC - Enables the osClearQueue function
OS_QUEUE_PEEK_FUNC - Enables the osQueuePeek function
OS_QUEUE_POST_PEND_FUNC - Enables osQueuePost and osQueuePend functions
OS_QUEUE_PROTECT_EVENT - Allows to synchronize queue by auto-reset event object
OS_QUEUE_PROTECT_MUTEX - Allows to synchronize queue by mutex object
OS_USE_QUEUE - Includes code for queues

Mailboxes configuration

OS_MBOX_ALLOW_DIRECT_RW - Enables direct read-write for mailboxes
OS_MBOX_ALLOW_WAIT_IF_EMPTY - Enables waiting on empty mailbox
OS_MBOX_CLEAR_FUNC - Enables the osClearMailbox function
OS_MBOX_GET_INFO_FUNC - Enables the osGetMailboxInfo function
OS_MBOX_PEEK_FUNC - Enables the osMailboxPeek function
OS_MBOX_POST_PEND_FUNC - Enables osMailboxPost and osMailboxPend functions
OS_MBOX_PROTECT_EVENT - Allows to synchronize mailbox by auto-reset event object
OS_MBOX_PROTECT_MUTEX - Allows to synchronize mailbox by mutex object
OS_OPEN_MBOX_FUNC - Enables the osOpenMailbox function
OS_USE_MAILBOX - Includes code for mailboxes

Flags configuration

OS_OPEN_FLAGS_FUNC - Enables the osOpenFlags function
OS_USE_FLAGS - Includes code for flags

SpaceShadow documentation