Hi,

Just another note to guide your development: we don't develop anything on
`esp-hal-3rdparty`: most of the code we use from it is derived from the
path
https://github.com/espressif/esp-hal-3rdparty/tree/release/v5.1.c/components/hal
(essentially, header files from `components/hal/<chip>/include/hal`, except
for some of the sources files that use the hal functions at
`components/hal` to implement some function we may use). You can take a
look at the branch `
https://github.com/espressif/esp-hal-3rdparty/commits/release/v5.1.c` and
especially the commits beginning
with faaa46ebfb37fba4250de831efbbf2862958c344 to check the kind of changes
we do in hal. Essentially, we create a wrapper layer to make it independent
of the host OS.

*Drivers must always be implemented on NuttX!*

That being said, you can either 1) try to adapt the implementation of other
devices to use the HAL functions or 2) get some inspiration on how IDF
implements PM. I'd stick with the 2nd option before simply trying to adapt
an existing implementation (from ESP32-C3 legacy or from ESP32/ESP32-S3).

Best regards,

Em qua., 23 de out. de 2024 às 13:35, Felipe Moura Oliveira <
moura....@gmail.com> escreveu:

> Hello Tiago.
>
> Thank you for clarification, I will follow your instructions.
>
> Em qua., 23 de out. de 2024 às 13:01, Tiago Medicci Serrano <
> tiago.medi...@gmail.com> escreveu:
>
> > Hi Felipe,
> >
> > Just complementing: use your forked version of the HAL during the
> > development. As soon as you have a working version, you can submit on the
> > official repository.
> >
> > Best regards,
> >
> > Em qua., 23 de out. de 2024 às 12:58, Tiago Medicci Serrano <
> > tiago.medi...@gmail.com> escreveu:
> >
> > > 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>
> > >
> >
> >
> > --
> > 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>
> >
>
>
> --
> *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