text: /*
   * FreeRTOS Kernel V10.2.0
   * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy of
   * this software and associated documentation files (the "Software"), to deal in
   * the Software without restriction, including without limitation the rights to
   * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
   * the Software, and to permit persons to whom the Software is furnished to do so,
   * subject to the following conditions:
   *
   * The above copyright notice and this permission notice shall be included in all
   * copies or substantial portions of the Software.
   *
   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
   * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
   * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
   * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
   * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   *
   * http://www.FreeRTOS.org
   * http://aws.amazon.com/freertos
   *
   * 1 tab == 4 spaces!
   */
  
  #ifndef FREERTOS_H
  #define FREERTOS_H
  
  
  
  /*-----------------------------------------------------------
   * Application specific definitions.
   *
   * These definitions should be adjusted for your particular hardware and
   * application requirements.
   *
   * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
   * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
   *
   * See http://www.freertos.org/a00110.html.
   *----------------------------------------------------------*/
  #define configUSE_PREEMPTION                    1
  #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
  #define configUSE_TICKLESS_IDLE                 0
  #define configCPU_CLOCK_HZ                      ( 200000000UL )
  #define configTICK_RATE_HZ                      ( ( TickType_t ) 1000 )
  #define configMAX_PRIORITIES                    ( 5UL )
  #define configMINIMAL_STACK_SIZE                ( 128 )
  #define configSUPPORT_DYNAMIC_ALLOCATION        1
  #define configSUPPORT_STATIC_ALLOCATION         0
  #define configTOTAL_HEAP_SIZE                   ( ( size_t ) 28000 )
  #define configMAX_TASK_NAME_LEN                 ( 16 )
  #define configUSE_16_BIT_TICKS                  0
  #define configIDLE_SHOULD_YIELD                 1
  #define configUSE_MUTEXES                       1
  #define configUSE_RECURSIVE_MUTEXES             0
  #define configUSE_COUNTING_SEMAPHORES           1
  #define configUSE_TASK_NOTIFICATIONS            1
  #define configQUEUE_REGISTRY_SIZE               0
  #define configUSE_QUEUE_SETS                    0
  #define configUSE_TIME_SLICING                  1
  #define configUSE_NEWLIB_REENTRANT              0
  #define configUSE_TASK_FPU_SUPPORT              0
  
  
  /* Hook function related definitions. */
  #define configUSE_IDLE_HOOK                     0
  #define configUSE_TICK_HOOK                     0
  #define configCHECK_FOR_STACK_OVERFLOW          2
  #define configUSE_MALLOC_FAILED_HOOK            1
  
  /* Run time and task stats gathering related definitions. */
  #define configGENERATE_RUN_TIME_STATS           0
  #define configUSE_TRACE_FACILITY                0
  #define configUSE_STATS_FORMATTING_FUNCTIONS    0
  
  /* Co-routine related definitions. */
  #define configUSE_CO_ROUTINES                   0
  #define configMAX_CO_ROUTINE_PRIORITIES         2
  
  /* Software timer related definitions. */
  #define configUSE_TIMERS                        0
  #define configTIMER_TASK_PRIORITY               0
  #define configTIMER_QUEUE_LENGTH                0
  #define configTIMER_TASK_STACK_DEPTH            0
  #define configUSE_DAEMON_TASK_STARTUP_HOOK      0
  
  /* Misc */
  #define configUSE_APPLICATION_TASK_TAG          0
  
  
  /* Interrupt nesting behaviour configuration. */
  #define configPERIPHERAL_CLOCK_HZ               ( 100000000UL )
  #define configISR_STACK_SIZE                    ( 512 )
  /* The priority at which the tick interrupt runs.  This should probably be kept at lowest priority. */
  #define configKERNEL_INTERRUPT_PRIORITY         (1)
  /* The maximum interrupt priority from which FreeRTOS.org API functions can be called.
   *Only API functions that end in ...FromISR() can be used within interrupts. */
  #define configMAX_SYSCALL_INTERRUPT_PRIORITY    (3)
  
  /* Optional functions - most linkers will remove unused functions anyway. */
  #define INCLUDE_vTaskPrioritySet                1
  #define INCLUDE_uxTaskPriorityGet               1
  #define INCLUDE_vTaskDelete                     1
  #define INCLUDE_vTaskSuspend                    1
  #define INCLUDE_vTaskDelayUntil                 1
  #define INCLUDE_vTaskDelay                      1
  #define INCLUDE_xTaskGetSchedulerState          0
  #define INCLUDE_xTaskGetCurrentTaskHandle       0
  #define INCLUDE_uxTaskGetStackHighWaterMark     0
  #define INCLUDE_xTaskGetIdleTaskHandle          0
  #define INCLUDE_eTaskGetState                   0
  #define INCLUDE_xTimerPendFunctionCall          0
  #define INCLUDE_xTaskAbortDelay                 0
  #define INCLUDE_xTaskGetHandle                  0
  #define INCLUDE_xQueueGetMutexHolder            0
  #define INCLUDE_xSemaphoreGetMutexHolder        0
  #define INCLUDE_uxTaskGetStackHighWaterMark2    0
  #define INCLUDE_xTaskResumeFromISR              0
  
  
  #endif /* FREERTOS_H */
  