#include "mn_defines.hpp"
Go to the source code of this file.
Detailed Description
This file is part of the Mini Thread Library (https://github.com/RoseLeBlood/MiniThread ).
- License
- The Mini Thread Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3, or (at your option) any later version.
The Mini Thread Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Mini Thread Library; if not, see https://www.gnu.org/licenses/.
Macro Definition Documentation
◆ MN_THREAD_BETA_MAJOR_VERSION
#define MN_THREAD_BETA_MAJOR_VERSION 0 |
◆ MN_THREAD_BETA_MINOR_VERSION
#define MN_THREAD_BETA_MINOR_VERSION 0 |
◆ MN_THREAD_BETA_VERSION_STRING
#define MN_THREAD_BETA_VERSION_STRING |
◆ MN_THREAD_CONFIG_ADD_TASK_TO_TASK_LIST
#define MN_THREAD_CONFIG_ADD_TASK_TO_TASK_LIST MN_THREAD_CONFIG_NO |
Add a Task automatic to basic_task_list?
◆ MN_THREAD_CONFIG_ALLOCATOR_DEFAULT
#define MN_THREAD_CONFIG_ALLOCATOR_DEFAULT MN_THREAD_CONFIG_ALLOCATOR_SYSTEM |
Which allocator use for default_allocator_t default: MN_THREAD_CONFIG_ALLOCATOR_SYSTEM
◆ MN_THREAD_CONFIG_ALLOCATOR_SPIRAM
#define MN_THREAD_CONFIG_ALLOCATOR_SPIRAM 2 |
For variable MN_THREAD_CONFIG_ALLOCATOR_DEFAULT, with this use the spiram system as defualt allocator.
◆ MN_THREAD_CONFIG_ALLOCATOR_SYSTEM
#define MN_THREAD_CONFIG_ALLOCATOR_SYSTEM 1 |
For variable MN_THREAD_CONFIG_ALLOCATOR_DEFAULT, with this use the normel system as defualt allocator.
◆ MN_THREAD_CONFIG_BASIC_ALIGNMENT
#define MN_THREAD_CONFIG_BASIC_ALIGNMENT sizeof(unsigned char*) |
◆ MN_THREAD_CONFIG_BASIC_HASHMUL_VAL
#define MN_THREAD_CONFIG_BASIC_HASHMUL_VAL 2149645487U |
Basic value for struct::hash as basic hash calculate.
- See also
- mn::hash
◆ MN_THREAD_CONFIG_BINARY_SEMAPHORE
#define MN_THREAD_CONFIG_BINARY_SEMAPHORE 3 |
Pre defined values for config items - Use a binary semaphore.
◆ MN_THREAD_CONFIG_BOARD
#define MN_THREAD_CONFIG_BOARD MN_THREAD_CONFIG_ESP32 |
◆ MN_THREAD_CONFIG_BOARD_NODEFS
#define MN_THREAD_CONFIG_BOARD_NODEFS 99 |
Pre defined values for config items -.
- Note
- corrently use for MN_THREAD_CONFIG_BOARD Set board type to no spezial use, currently no esp32 spezial apis to use
◆ MN_THREAD_CONFIG_CONDITION_VARIABLE_SUPPORT
#define MN_THREAD_CONFIG_CONDITION_VARIABLE_SUPPORT MN_THREAD_CONFIG_YES |
Condition variable support for this libary 'MN_THREAD_CONFIG_YES' or 'MN_THREAD_CONFIG_NO'
- Note
- default: MN_THREAD_CONFIG_YES
◆ MN_THREAD_CONFIG_CORE_IFNO
#define MN_THREAD_CONFIG_CORE_IFNO tskNO_AFFINITY |
Pre defined values for config items - Use for indicating the task has no affinity core.
◆ MN_THREAD_CONFIG_CORE_MAX
#define MN_THREAD_CONFIG_CORE_MAX (portNUM_PROCESSORS - 1) |
The max number of usable cores.
◆ MN_THREAD_CONFIG_CORE_ONE
#define MN_THREAD_CONFIG_CORE_ONE 0 |
Pre defined values for config items - Use for run the config task on core 0.
◆ MN_THREAD_CONFIG_CORE_PRIORITY_CRITICAL
#define MN_THREAD_CONFIG_CORE_PRIORITY_CRITICAL (configMAX_PRIORITIES-1) |
Task priority for basic_task::PriorityCritical.
◆ MN_THREAD_CONFIG_CORE_PRIORITY_HALFCRT
#define MN_THREAD_CONFIG_CORE_PRIORITY_HALFCRT (configMAX_PRIORITIES-1)/2 |
Task priority for basic_task::PriorityHalfCritical.
◆ MN_THREAD_CONFIG_CORE_PRIORITY_IDLE
#define MN_THREAD_CONFIG_CORE_PRIORITY_IDLE tskIDLE_PRIORITY |
Task priority for basic_task::PriorityIdle.
◆ MN_THREAD_CONFIG_CORE_PRIORITY_LOW
#define MN_THREAD_CONFIG_CORE_PRIORITY_LOW 1 |
Task priority for basic_task::PriorityLow.
◆ MN_THREAD_CONFIG_CORE_PRIORITY_NORM
#define MN_THREAD_CONFIG_CORE_PRIORITY_NORM 2 |
Task priority for basic_task::PriorityNormal.
◆ MN_THREAD_CONFIG_CORE_PRIORITY_URGENT
#define MN_THREAD_CONFIG_CORE_PRIORITY_URGENT (configMAX_PRIORITIES-2) |
Task priority for basic_task::PriorityUrgent.
◆ MN_THREAD_CONFIG_CORE_TWO
#define MN_THREAD_CONFIG_CORE_TWO 1 |
Pre defined values for config items - Use for run the config task on core 1.
◆ MN_THREAD_CONFIG_COUNTING_SEMAPHORE
#define MN_THREAD_CONFIG_COUNTING_SEMAPHORE 2 |
Pre defined helper value for config items - Use a counting semaphore.
◆ MN_THREAD_CONFIG_CSEMAPHORE_MAX_COUNT
#define MN_THREAD_CONFIG_CSEMAPHORE_MAX_COUNT 0x7fffffff |
- Note
- default: max initial count for counting semaphore, can override in constuctor
- default: 0x7fffffff
◆ MN_THREAD_CONFIG_CSEMAPHORE_MIN_COUNT
#define MN_THREAD_CONFIG_CSEMAPHORE_MIN_COUNT 1 |
- Note
- default: min initial count for counting semaphore, can override in constuctor default 1
◆ MN_THREAD_CONFIG_DEBUG
#define MN_THREAD_CONFIG_DEBUG MN_THREAD_CONFIG_YES |
◆ MN_THREAD_CONFIG_DEFAULT_CORE
#define MN_THREAD_CONFIG_DEFAULT_CORE MN_THREAD_CONFIG_CORE_IFNO |
Pre defined on which core must run the task, can override in the create function.
◆ MN_THREAD_CONFIG_DEFAULT_WORKQUEUE_CORE
#define MN_THREAD_CONFIG_DEFAULT_WORKQUEUE_CORE MN_THREAD_CONFIG_CORE_TWO |
Pre defined on which core must run the work queue task, can override in the create function.
◆ MN_THREAD_CONFIG_ESP32
#define MN_THREAD_CONFIG_ESP32 0 |
Pre defined values for config items -.
- Note
- corrently use for MN_THREAD_CONFIG_BOARD Set board type to esp32
◆ MN_THREAD_CONFIG_FOREIGIN_TASK_SUPPORT
#define MN_THREAD_CONFIG_FOREIGIN_TASK_SUPPORT MN_THREAD_CONFIG_YES |
Foreign support for this libary. When MN_THREAD_CONFIG_YES then can with the class foreign_thread_t foreign tasks handled
'MN_THREAD_CONFIG_YES' or 'MN_THREAD_CONFIG_NO'
- Note
- default: MN_THREAD_CONFIG_YES
◆ MN_THREAD_CONFIG_FREELIST_MEMPOOL_FREE
#define MN_THREAD_CONFIG_FREELIST_MEMPOOL_FREE 1 |
The mempool object is not used.
Supported the FeeRTOS RECURSIVE_MUTEXES ?
- Note
- Don't edit
◆ MN_THREAD_CONFIG_FREELIST_MEMPOOL_USED
#define MN_THREAD_CONFIG_FREELIST_MEMPOOL_USED 0 |
The mempool object is used, not free.
◆ MN_THREAD_CONFIG_HAS_BUILTIN
#define MN_THREAD_CONFIG_HAS_BUILTIN MN_THREAD_CONFIG_NO |
◆ MN_THREAD_CONFIG_LOCK_TYPE
#define MN_THREAD_CONFIG_LOCK_TYPE MN_THREAD_CONFIG_BINARY_SEMAPHORE |
- Note
- default: lock type using in the thread class MN_THREAD_CONFIG_MUTEX: using the mutex as default lock type MN_THREAD_CONFIG_BINARY_SEMAPHORE using the binary semaphore as default lock type MN_THREAD_CONFIG_COUNTING_SEMAPHORE: using the counting semaphore as default lock type
- default: MN_THREAD_CONFIG_BINARY_SEMAPHORE
◆ MN_THREAD_CONFIG_MEMPOOL_MAGIC_END
#define MN_THREAD_CONFIG_MEMPOOL_MAGIC_END 0xa8 |
The end magic guard byte for detect heap memory corruption, not use in simple version.
◆ MN_THREAD_CONFIG_MEMPOOL_MAGIC_START
#define MN_THREAD_CONFIG_MEMPOOL_MAGIC_START 0x6d |
The start magic guard byte for detect heap memory corruption, not use in simple version.
◆ MN_THREAD_CONFIG_MEMPOOL_USE_MAGIC
#define MN_THREAD_CONFIG_MEMPOOL_USE_MAGIC MN_THREAD_CONFIG_NO |
Use the magic guard for detect heap memory corruption - default: MN_THREAD_CONFIG_NO.
◆ MN_THREAD_CONFIG_MEMPOOL_USETIMED
#define MN_THREAD_CONFIG_MEMPOOL_USETIMED MN_THREAD_CONFIG_YES |
Use for mempool the timed version and xTicksToWait When true than is the class name basic_mempool_name_timed and If false then basic_mempool_name%
◆ MN_THREAD_CONFIG_MINIMAL_STACK_SIZE
#define MN_THREAD_CONFIG_MINIMAL_STACK_SIZE 2048 |
The minimal stack size for a mn task
- Note
- default: 2048
◆ MN_THREAD_CONFIG_MSGTASK_MAX_MESSAGES
#define MN_THREAD_CONFIG_MSGTASK_MAX_MESSAGES 5 |
How many message can stored in the basic_message_task queue - default: 5
- Note
- for message task support must be Condition variable support enabled
◆ MN_THREAD_CONFIG_MUTEX
#define MN_THREAD_CONFIG_MUTEX 1 |
Pre defined helper values for config items - Use a mutex.
All cunfig properties can override in your sdkconfig.h
◆ MN_THREAD_CONFIG_NET_IPADDRESS6_ENABLE
#define MN_THREAD_CONFIG_NET_IPADDRESS6_ENABLE MN_THREAD_CONFIG_YES |
◆ MN_THREAD_CONFIG_NET_IPADDRESS6_SCOPEID_VAL
#define MN_THREAD_CONFIG_NET_IPADDRESS6_SCOPEID_VAL 0 |
◆ MN_THREAD_CONFIG_NET_IPADDRESS6_USE_SCOPEID
#define MN_THREAD_CONFIG_NET_IPADDRESS6_USE_SCOPEID MN_THREAD_CONFIG_NO |
◆ MN_THREAD_CONFIG_NO
#define MN_THREAD_CONFIG_NO 2 |
Pre defined helper values for config items - Use for deaktivating.
◆ MN_THREAD_CONFIG_OTHER
#define MN_THREAD_CONFIG_OTHER 1 |
Pre defined values for config items -.
- Note
- corrently use for MN_THREAD_CONFIG_BOARD Set board type to other - not work
◆ MN_THREAD_CONFIG_PREVIEW_FUTURE
#define MN_THREAD_CONFIG_PREVIEW_FUTURE MN_THREAD_CONFIG_NO |
Whenn MN_THREAD_CONFIG_YES then activate develop unsafe future for next major version not for production use
- Note
- default: MN_THREAD_CONFIG_NO
◆ MN_THREAD_CONFIG_RECURSIVE_MUTEX_CHEAKING
#define MN_THREAD_CONFIG_RECURSIVE_MUTEX_CHEAKING MN_THREAD_CONFIG_YES |
When MN_THREAD_CONFIG_YES then cheaking for recursive mutex and when FreeRTOS recursive mutex supported then can you use thes
◆ MN_THREAD_CONFIG_SHAREDOBJECT_PREUSING
#define MN_THREAD_CONFIG_SHAREDOBJECT_PREUSING MN_THREAD_CONFIG_YES |
Using pre defines (usings) for basic types for the shared objects.
◆ MN_THREAD_CONFIG_SIZE_TYPE
#define MN_THREAD_CONFIG_SIZE_TYPE long unsigned int |
The type for mn::size_t
◆ MN_THREAD_CONFIG_STACK_TYPE
#define MN_THREAD_CONFIG_STACK_TYPE unsigned long |
The stack using type.
◆ MN_THREAD_CONFIG_TICKHOOK_MAXENTRYS
#define MN_THREAD_CONFIG_TICKHOOK_MAXENTRYS 10 |
The max entrys are hold the tickhook queue.
◆ MN_THREAD_CONFIG_TIMEOUT_COROUTINE_DEFAULT
#define MN_THREAD_CONFIG_TIMEOUT_COROUTINE_DEFAULT (unsigned int) 0xffffffffUL |
The default initial timeout for coroutine (recursive and normal) Can override
- Note
- default: (unsigned int) 0xffffffffUL)
◆ MN_THREAD_CONFIG_TIMEOUT_MUTEX_DEFAULT
#define MN_THREAD_CONFIG_TIMEOUT_MUTEX_DEFAULT (unsigned int) 0xffffffffUL |
The default initial timeout for mutex lock (recursive and normal) Can override
- Note
- default: (unsigned int) 0xffffffffUL)
◆ MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT
#define MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT (unsigned int) 0xffffffffUL |
The default initial timeout for all queues Can override
- Note
- default: (unsigned int) 0xffffffffUL)
◆ MN_THREAD_CONFIG_TIMEOUT_SEMAPHORE_DEFAULT
#define MN_THREAD_CONFIG_TIMEOUT_SEMAPHORE_DEFAULT (unsigned int) 0xffffffffUL |
The default initial timeout for semaphore lock (counting semaphore and binary semaphore) Can override
- Note
- default: (unsigned int) 0xffffffffUL
◆ MN_THREAD_CONFIG_USE_EXCEPTIONS
#define MN_THREAD_CONFIG_USE_EXCEPTIONS MN_THREAD_CONFIG_NO |
Use for lock objects exceptions? default: MN_THREAD_CONFIG_NO
◆ MN_THREAD_CONFIG_USE_TRACE
#define MN_THREAD_CONFIG_USE_TRACE configUSE_TRACE_FACILITY |
◆ MN_THREAD_CONFIG_WORKQUEUE_GETNEXTITEM_TIMEOUT
#define MN_THREAD_CONFIG_WORKQUEUE_GETNEXTITEM_TIMEOUT 512 |
Very Importend !!! Handled the timeout for get_next_job timeout in the work queue Only in this config medificated
◆ MN_THREAD_CONFIG_WORKQUEUE_MULTI_MAXITEMS
#define MN_THREAD_CONFIG_WORKQUEUE_MULTI_MAXITEMS 8 |
How many work items to queue in the workqueue multi-threaded
- Note
- default: 16
◆ MN_THREAD_CONFIG_WORKQUEUE_MULTI_PRIORITY
#define MN_THREAD_CONFIG_WORKQUEUE_MULTI_PRIORITY mn::basic_task::priority::Low |
- Note
- default: Priority for the workqueue multi-threaded for all worked thread
- default: basic_thread::PriorityLow
◆ MN_THREAD_CONFIG_WORKQUEUE_MULTI_STACKSIZE
#define MN_THREAD_CONFIG_WORKQUEUE_MULTI_STACKSIZE MN_THREAD_CONFIG_MINIMAL_STACK_SIZE |
Stak size for the workqueue multi-threaded for all worked thread
- Note
- default: MN_THREAD_CONFIG_MINIMAL_STACK_SIZE
◆ MN_THREAD_CONFIG_WORKQUEUE_MULTI_WORKER
#define MN_THREAD_CONFIG_WORKQUEUE_MULTI_WORKER 4 |
How many worker threads run in the workqueue multi-threaded
- Note
- default: 4
◆ MN_THREAD_CONFIG_WORKQUEUE_SINGLE_MAXITEMS
#define MN_THREAD_CONFIG_WORKQUEUE_SINGLE_MAXITEMS 8 |
How many work items to queue in the workqueue single-threaded default: 8
◆ MN_THREAD_CONFIG_WORKQUEUE_SINGLE_PRIORITY
#define MN_THREAD_CONFIG_WORKQUEUE_SINGLE_PRIORITY mn::basic_task::priority::Low |
- Note
- default: Priority for the workqueue single-threaded thread
- default: basic_thread::PriorityLow
◆ MN_THREAD_CONFIG_WORKQUEUE_SINGLE_STACKSIZE
#define MN_THREAD_CONFIG_WORKQUEUE_SINGLE_STACKSIZE MN_THREAD_CONFIG_MINIMAL_STACK_SIZE |
Stak size for the workqueue single-threaded thread
- Note
- default: MN_THREAD_CONFIG_MINIMAL_STACK_SIZE
◆ MN_THREAD_CONFIG_YES
#define MN_THREAD_CONFIG_YES 1 |
Pre defined helper values for config items - Use for aktivating.