/* RT-Thread config file */
#ifndef __RTTHREAD_CFG_H__
#define __RTTHREAD_CFG_H__
#if defined(__CC_ARM) || defined(__CLANG_ARM)
#include "RTE_Components.h"
#if defined(RTE_USING_FINSH)
#define RT_USING_FINSH
#endif //RTE_USING_FINSH
#endif //(__CC_ARM) || (__CLANG_ARM)
// <<< Use Configuration Wizard in Context Menu >>>
// Basic Configuration
// Maximal level of thread priority <8-256>
// Default: 32
#define RT_THREAD_PRIORITY_MAX 16
// OS tick per second
// Default: 1000 (1ms)
#define RT_TICK_PER_SECOND 1000
// Alignment size for CPU architecture data access
// Default: 4
#define RT_ALIGN_SIZE 4
// the max length of object name<2-16>
// Default: 8
#define RT_NAME_MAX 8
// Using RT-Thread components initialization
// Using RT-Thread components initialization
#define RT_USING_COMPONENTS_INIT
//
#define RT_USING_USER_MAIN
// the stack size of main thread<1-4086>
// Default: 512
#define RT_MAIN_THREAD_STACK_SIZE 512
//
// Debug Configuration
// enable kernel debug configuration
// Default: enable kernel debug configuration
//#define RT_DEBUG
//
// enable components initialization debug configuration<0-1>
// Default: 0
#define RT_DEBUG_INIT 0
// thread stack over flow detect
// Diable Thread stack over flow detect
//#define RT_USING_OVERFLOW_CHECK
//
//
// Hook Configuration
// using hook
// using hook
#define RT_USING_HOOK
//
// using idle hook
// using idle hook
#define RT_USING_IDLE_HOOK
//
//
// Software timers Configuration
// Enables user timers
#define RT_USING_TIMER_SOFT 0
#if RT_USING_TIMER_SOFT == 0
#undef RT_USING_TIMER_SOFT
#endif
// The priority level of timer thread <0-31>
// Default: 4
#define RT_TIMER_THREAD_PRIO 4
// The stack size of timer thread <0-8192>
// Default: 512
#define RT_TIMER_THREAD_STACK_SIZE 512
//
// IPC(Inter-process communication) Configuration
// Using Semaphore
// Using Semaphore
#define RT_USING_SEMAPHORE
//
// Using Mutex
// Using Mutex
#define RT_USING_MUTEX
//
// Using Event
// Using Event
#define RT_USING_EVENT
//
// Using MailBox
// Using MailBox
#define RT_USING_MAILBOX
//
// Using Message Queue
// Using Message Queue
#define RT_USING_MESSAGEQUEUE
//
//
// Memory Management Configuration
// Dynamic Heap Management
// Dynamic Heap Management
//#define RT_USING_MEMPOOL
//#define RT_USING_MEMHEAP
#define RT_USING_SMALL_MEM
#define RT_USING_HEAP
//
// using tiny size of memory
// using tiny size of memory
//#define RT_USING_TINY_SIZE
//
//
/* Kernel Device Object */
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart1"
#define RT_USING_FINSH
#if defined(RT_USING_FINSH)
#define FINSH_USING_MSH
#define FINSH_USING_MSH_DEFAULT
#define FINSH_USING_MSH_ONLY
#define FINSH_THREAD_NAME "tshell"
#define __FINSH_THREAD_PRIORITY 5
#define FINSH_THREAD_PRIORITY (RT_THREAD_PRIORITY_MAX / 8 * __FINSH_THREAD_PRIORITY + 1)
// the stack of finsh thread <1-4096>
// the stack of finsh thread
// Default: 4096 (4096Byte)
#define FINSH_THREAD_STACK_SIZE 1024
#define FINSH_USING_HISTORY
#define FINSH_HISTORY_LINES 5
#define FINSH_USING_SYMTAB
#define FINSH_USING_DESCRIPTION
#define FINSH_CMD_SIZE 80
//
#endif
// <<< end of configuration section >>>
#define RT_USING_SERIAL
#define RT_USING_PIN
#define RT_USING_UART1
#define RT_USING_DEVICE_IPC
#endif