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>

Reply via email to