Page 1 of 1
building for BOARD=PYBD_SF to get _threads compiled in
Posted: Wed Jun 26, 2019 4:21 pm
by nherriot
Hi Micropython Folks,
And my saga continues! I now have a working build system on my Linux Mint18 machine - thanks to all the help from the community!
The reason for me wanting to compile for the PYBD_SF2 is that I need threads compiled into my firmware. I know it's experimental but it's good enough for me ATM.
I assumed that if I update /py/mpconfig.py I could do a build and have that compiled in. I changed this line of code:
Code: Select all
// Whether to provide "_thread" module
#ifndef MICROPY_PY_THREAD
#define MICROPY_PY_THREAD (1)
#endif
But unfortunately for me, it's more complex than that! Anyone know how to get threads compiled into my firmware.dfu file?
Thank you in advance for all the help!
Kind regards, Nicholas.
Re: building for BOARD=PYBD_SF to get _threads compiled in
Posted: Wed Jun 26, 2019 7:33 pm
by marfis
By accident I just did this yesterday with my pyboard d series sf2, and it worked without issues, using the compiler switch you have mentioned.
What fault did you observe? Does import _thread not work?
btw You dont have to set the compiler switch in py/mpconfig.h. just set it in your board specific mpconfigboard.h.
Re: building for BOARD=PYBD_SF to get _threads compiled in
Posted: Wed Jun 26, 2019 7:55 pm
by Roberthh
.@nherriot Usually the switches are set in the port-specific mpconfigport.h, located in stm32, or the board-specific mpconfigboard.h, located e.g. in stm32/boards/PYBD,_SF2.
Setting the switch in py/mpconfig.h affects all builds in all ports, which may not be the intention.
Re: building for BOARD=PYBD_SF to get _threads compiled in
Posted: Wed Jun 26, 2019 8:40 pm
by dhylands
And since the stm32 port has:
https://github.com/micropython/micropyt ... #L130-L132
the setting in py/mpconfig.h will be ignored.
Re: building for BOARD=PYBD_SF to get _threads compiled in
Posted: Thu Jun 27, 2019 7:08 am
by nherriot
marfis wrote: ↑Wed Jun 26, 2019 7:33 pm
By accident I just did this yesterday with my pyboard d series sf2, and it worked without issues, using the compiler switch you have mentioned.
What fault did you observe? Does import _thread not work?
btw You dont have to set the compiler switch in py/mpconfig.h. just set it in your board specific mpconfigboard.h.
Mmmm... Well from the repl i did >>> import _thread
It did not work for me.
I'll double check and also read the other posts. Thank you for replying!
Kind regards, Nicholas.
Re: building for BOARD=PYBD_SF to get _threads compiled in
Posted: Fri Jun 28, 2019 11:17 am
by nherriot
Hi Dhylands,
that did the trick.
Thank you.
My board now has _thread compiled in! And seems to work.
Code: Select all
>
MicroPython v1.11-63-gd889def06-dirty on 2019-06-28; PYBD-SF2W with STM32F722IEK
Type "help()" for more information.
>>>
>>> import _thread
>>>
I've looked around the Wiki for this type of information.
I've not seen it anywhere - so either hidden or not presetn.
Shall I start a new page to try and capture this information?
Kind regards, Nicholas.
Re: building for BOARD=PYBD_SF to get _threads compiled in
Posted: Sun Sep 29, 2019 7:51 pm
by ta1db
I could also build firmware with _thread module included in the same way ;
By just adding
Code: Select all
// Whether to provide "_thread" module
#ifndef MICROPY_PY_THREAD
#define MICROPY_PY_THREAD (1)
#endif
in mpconfigboard.h of Nucleo_F401RE , STM32F7DISC.
Thanks.