With the kconfig frontend as the primary mechanism to change esp-idf configuration, a number of options/parameters have become unavailable. Some examples are:
configNUM_THREAD_LOCAL_STORAGE_POINTERS, implemented but cannot set 0
configGENERATE_RUN_TIME_STATS / configMAX_TASK_NAME_LEN / configUSE_TRACE_FACILITY. not available
Any specific reason why these options are not configurable ?
Hidden/disabled FreeRTOSConfig.h options
Re: Hidden/disabled FreeRTOSConfig.h options
Hi ammaree,
The reasons vary, but generally if there's an option you'd like to enable via kconfig then we're keen to add it.
The exception is if there's a feature that is required to be set a certain way for ESP-IDF to work, or if there's a feature that hasn't been sufficiently tested for us to support it along with the SMP modifications for dual core support.
There is also the possibility that some FreeRTOS compile-time config options may require the WiFi/BT libraries to be recompiled, although I think we've taken care of most of these already.
Making feature requests, or (even better) sending Github Pull Requests that expose these options is a very welcome start.
It mentions that you can set this value to zero if Wifi is disabled. The reason is that thread-local storage is used by the LWIP TCP/IP stack. We need to modify this now we have the ethernet stack, as it has to be non-zero in that case also.
EDIT: Reading back runtime stats relies on uxTaskGetSystemState(), which has not been tested with SMP support.
The reasons vary, but generally if there's an option you'd like to enable via kconfig then we're keen to add it.
The exception is if there's a feature that is required to be set a certain way for ESP-IDF to work, or if there's a feature that hasn't been sufficiently tested for us to support it along with the SMP modifications for dual core support.
There is also the possibility that some FreeRTOS compile-time config options may require the WiFi/BT libraries to be recompiled, although I think we've taken care of most of these already.
Making feature requests, or (even better) sending Github Pull Requests that expose these options is a very welcome start.
There's a comment about this in the Help for the config item ('?' key when the option is highlighted).ammaree wrote: configNUM_THREAD_LOCAL_STORAGE_POINTERS, implemented but cannot set 0
It mentions that you can set this value to zero if Wifi is disabled. The reason is that thread-local storage is used by the LWIP TCP/IP stack. We need to modify this now we have the ethernet stack, as it has to be non-zero in that case also.
I think that this has probably not been tested in SMP mode, but it looks like it should be possible to support.ammaree wrote: configGENERATE_RUN_TIME_STATS
EDIT: Reading back runtime stats relies on uxTaskGetSystemState(), which has not been tested with SMP support.
I think this could be exposed now.ammaree wrote: configMAX_TASK_NAME_LEN
ESP_Sprite will know better than me, but I think this feature may need some development work before it's usable in SMP mode.ammaree wrote: configUSE_TRACE_FACILITY
-
- Posts: 9709
- Joined: Thu Nov 26, 2015 4:08 am
Re: Hidden/disabled FreeRTOSConfig.h options
I think Angus stated it very well: aside from the thread local pointers option, these options haven't been implemented because we didn't hear of anyone who needed them yet. It seems like most of these are fairly trivial to enable / make into an option: if you either create a Github issue requesting them or a pull request adding them into esp-idf, I'll be happy to include/merge them for you.