text: #ifndef FREERTOS_CONFIG_H
  #define FREERTOS_CONFIG_H
  
  #include "my_debug.h"
  
  #ifndef portINLINE
  #  define portINLINE __inline
  #endif
  
  #define configUSE_PREEMPTION                    1
  #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
  #define configUSE_TICKLESS_IDLE                 0
  #define configCPU_CLOCK_HZ                      125000000/* Looking at runtime.c in the RPI 2040 SDK, the sys clock frequency is 125MHz */
  #define configSYSTICK_CLOCK_HZ                  1000000  /* This is always 1MHz on ARM I think.... */
  #define configTICK_RATE_HZ                      1000      /* I personally like 1kHz so you can do 1 ms sleeps */
  #define configMAX_PRIORITIES                    5
  #define configMINIMAL_STACK_SIZE                128      /* you might want to increase this, especially if you do any floating point printf  *YIKES* */
  #define configMAX_TASK_NAME_LEN                 16
  #define configUSE_16_BIT_TICKS                  0
  #define configIDLE_SHOULD_YIELD                 1
  #define configUSE_TASK_NOTIFICATIONS            1
  #define configTASK_NOTIFICATION_ARRAY_ENTRIES   3
  #define configUSE_MUTEXES                       1
  #define configUSE_RECURSIVE_MUTEXES             1
  #define configUSE_APPLICATION_TASK_TAG          0
  #define configUSE_COUNTING_SEMAPHORES           0
  #define configUSE_ALTERNATIVE_API               0 /* Deprecated! */
  #define configQUEUE_REGISTRY_SIZE               10
  #define configUSE_QUEUE_SETS                    1
  #define configUSE_TIME_SLICING                  1 
  #define configUSE_NEWLIB_REENTRANT              1   // Necessary if any floating point printfs are used!
  #define configENABLE_BACKWARD_COMPATIBILITY     0
  #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 5
  #define configSTACK_DEPTH_TYPE                  uint16_t
  #define configMESSAGE_BUFFER_LENGTH_TYPE        size_t
  
  /* Memory allocation related definitions. */
  #define configSUPPORT_STATIC_ALLOCATION         1
  #define configSUPPORT_DYNAMIC_ALLOCATION        1
  #define configTOTAL_HEAP_SIZE                   (3 * 64 * 1024)
  #define configAPPLICATION_ALLOCATED_HEAP        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
  #define configUSE_DAEMON_TASK_STARTUP_HOOK      0
  
  /* Run time and task stats gathering related definitions. */
  #define configGENERATE_RUN_TIME_STATS           1
  #define configUSE_TRACE_FACILITY                1
  #define configUSE_STATS_FORMATTING_FUNCTIONS    1
  
  /* Co-routine related definitions. */
  #define configUSE_CO_ROUTINES                   0
  #define configMAX_CO_ROUTINE_PRIORITIES         1
  
  /* Software timer related definitions. */
  #define configUSE_TIMERS                        1
  #define configTIMER_TASK_PRIORITY               ( configMAX_PRIORITIES - 1 )
  #define configTIMER_QUEUE_LENGTH                10
  #define configTIMER_TASK_STACK_DEPTH            configMINIMAL_STACK_SIZE
  
  /* Interrupt nesting behaviour configuration. */
  #define configKERNEL_INTERRUPT_PRIORITY         [dependent of processor]
  #define configMAX_SYSCALL_INTERRUPT_PRIORITY    [dependent on processor and application]
  #define configMAX_API_CALL_INTERRUPT_PRIORITY   [dependent on processor and application]
  
  /* SMP port only */
  #define configNUM_CORES                         2
  #define configTICK_CORE                         0
  #define configRUN_MULTIPLE_PRIORITIES           0
  
  /* RP2040 specific */
  #define configSUPPORT_PICO_SYNC_INTEROP         1
  #define configSUPPORT_PICO_TIME_INTEROP         1
  
  /* Define to trap errors during development. */
  //#define configASSERT( x )  assert( x )
  #define configASSERT(__e) ((__e) ? (void)0 : my_assert_func(__FILE__, __LINE__, __func__, #__e))
  
  /* FreeRTOS MPU specific definitions. */
  #define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0
  #define configTOTAL_MPU_REGIONS                                8 /* Default value. */
  #define configTEX_S_C_B_FLASH                                  0x07UL /* Default value. */
  #define configTEX_S_C_B_SRAM                                   0x07UL /* Default value. */
  #define configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY            1
  
  /* 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_xResumeFromISR                  1
  #define INCLUDE_vTaskDelayUntil                 1
  #define INCLUDE_vTaskDelay                      1
  #define INCLUDE_xTaskGetSchedulerState          1
  #define INCLUDE_xTaskGetCurrentTaskHandle       1
  #define INCLUDE_uxTaskGetStackHighWaterMark     1
  #define INCLUDE_xTaskGetIdleTaskHandle          0
  #define INCLUDE_eTaskGetState                   0
  #define INCLUDE_xEventGroupSetBitFromISR        1
  #define INCLUDE_xTimerPendFunctionCall          1
  #define INCLUDE_xTaskAbortDelay                 0
  #define INCLUDE_xTaskGetHandle                  1
  #define INCLUDE_xTaskResumeFromISR              1
  
  //#define vPortSVCHandler isr_svcall
  //#define xPortPendSVHandler isr_pendsv
  //#define xPortSysTickHandler isr_systick
  
  #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 
  extern uint64_t time_us_64(void); // "hardware/timer.h"
  #define portGET_RUN_TIME_COUNTER_VALUE() (time_us_64()/100)
  
  /* A header file that defines trace macro can be included here. */
  
  #endif /* FREERTOS_CONFIG_H */
  
  