Hi Felipe, Thanks for asking! You should follow the path using the functions on esp-hal-3rdparty. You can fork the repository and use `ESP_HAL_3RDPARTY_VERSION=b4c723a119344b4b71d69819019d55637fb570fd ESP_HAL_3RDPARTY_URL="g...@github.com:tmedicci/esp-hal-3rdparty.git"` env vars (globally or before the make command) to use your version of the HAL.
I just wanted to share some thoughts: using the HAL enables us to make the feature available for all the Espressif devices (please don't bother with that now, as soon as you submit it, we can test for the other devices and eventually make any adjustments). Although it's possible to reimplement these functions on NuttX, we don't recommend that because of the first statement (the ability to use for the other devices): in that case we wouldn't be able to support the feature. You can take a look on IDF for some inspiration on how it's implemented. Please let me know if you have any questions. Best regards, Em qua., 23 de out. de 2024 às 12:38, Felipe Moura Oliveira < moura....@gmail.com> escreveu: > Hello everyone, > > Our project has reached a point where we need the Power Manager > functionality, which is not yet available in the ESP32C6. I am studying to > start the implementation, but I am confused about the correct way to > approach this. > > There is a Power Manager implementation for the ESP32C3, but it seems to > follow the legacy methodology. In fact, the file esp32c3_idle.c is located > in the path arch/risc-v/src/esp32c3-legacy. In this methodology, functions > are re-implemented from the Espressif driver. For example, the function > esp32c3_light_sleep_start(), which is currently available in > esp32c6/esp-hal-3rdparty/.../sleep_modes.c. > > I tried using the implementations from esp-hal-3rdparty to develop the > Power Manager for the ESP32C6 in NuttX, but the files still have many > dependencies on items that are not present in NuttX. > > My question is: Should I try to make the Power Manager work using the > functions in esp-hal-3rdparty, even if it requires making changes to the > 3rd-party code? Or should I re-implement the functions within NuttX, even > if, in this case, there are functions with the same scope and > implementation in different files, where one is compiled, and the other is > not? > > > -- > *Felipe Moura de Oliveira* > *Universidade Federal de Minas Gerais* > Linkedin <https://www.linkedin.com/in/felipe-oliveira-75a651a0> > <https://twitter.com/FelipeMOliveir?lang=pt-br> > -- Tiago Medicci Serrano Embedded Software Engineer MSc Electronics/Microelectronics m: +55 (19) 981403886 <+55+(19)+981403886> e: tiago.medi...@gmail.com a: Campinas, Brazil Follow me: <https://www.linkedin.com/in/tiago-serrano-924458b6> <https://github.com/tmedicci>