-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Discuss and prepare for MicroPython v2.0 release #2486
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
is it going to be released with a new PyBoard version? ) |
Add embeddable MicroPython component? #2122 |
revive #2093 and come to a conclusion (also about the structure within the drivers directory)? |
Maybe! There are definitely plans for PYBv2.0.
@dmazzella We already merged examples/embedding. What more is needed?
That should be done sooner than 2.0, much sooner. It's next on my list. |
@dpgeorge Embedding under windows? |
But in what form? What will you (or anyone else) use it for? Does it make sense just adding it for the sake of it being there? I was rather thinking of reusable embeddable components, pretty sure this has been discussed before. |
Getting TLS support stable and on by default in all ports would be a "good thing". In 2017 nobody should have their Internet connected Things making or receiving connection over the Internet without encryption. If we are going to do this then we should do it properly (i.e. not using the same axtls/ssl/private_key.h on every device!) |
PYBv2.0 "BB edition" - in a breadboard-friendly format? eg. Feather Huzzah / Maple Mini. I saw It would also be nice to know how roughly much space they each take up, to help decide which are unnecessary for your minimal custom build. |
Will the PYBv2.0 have Bluetooth LE, like the micro:bit? It would be nice if REPL and WebREPL could be configured to either use independent buffers. |
@mcauser Pyboards are breadboard friendly if you fit stackable headers. As for toggling modules off in the build, this will reduce the size of the firmware image in flash. As I understand it, it won't affect RAM usage as a module only uses RAM when imported. |
@peterhinch are you sure that pyboard is breadboard friendly? as I've tried it's not because of perpendicular rows |
@kamikaze The perpendicular rows can be addressed with socket headers. The point is that you connect to the Pyboard using the socket headers, with the stackable headers being used purely for physical attachment. Arguably a long thin layout is better, but the Pyboard is eminently usable with a breadboard. |
I think v2.0 should herald the maturity of MicroPython and a change of status from "in development" to "stable, being enhanced". There has been a tremendous amount of development to date and especially after the Network and IOT development for the ESP8266 KS. I think MicroPython id very close to being a mature, stable platform ready to take on the world. Many thanks to Damien, Paul and everyone that has contributed the project. The one thing I would like to add to your list before v2.0 release is the Hardware API. Pyboard still has pyb and most other ports have machine. Ports using machine miss out on useful things in pyb. A change from pyb to machine later will break a lot of applications, libraries and tutorials. I think it is time to "break compatibility" and deprecate pyb something like this:
MicroPython is expanding. There are already ports underway for ESP32, Microchip/Atmel, NXP/Freescale and Embed. Stabilising the Hardware API will enhance portability between platforms and allow for periph and a wide range of peripheral libraries to run on all platforms on top of the common machine library. |
By all means deprecate pyb. But please don't remove it until all its functionality has been available elsewhere (and documented) for a substantial period of time. Give us hapless users time to port code. |
I agree. I have designed pyboard into a commercial product and the company wouldn't want to be forced into a quick changeover, or have to code around missing functions. |
Should we think about removing the whole |
Yes that's reasonable. They could even go in micropython-lib. |
I was surprised to recently find a C code in drivers/ . extmod/ was created (quite some time ago) to exactly host code which doesn't fit anywhere else, without looking to create a new dir (and originally drivers/ contained just py code). |
Implementing a debugger/pdb would be my most wanted item. Embedded development generally lacks a debugger unless you go for an expensive hardware-based debugger, which is out of the reach of most hobbyist and learners. micropython, particularly through the micro:bit and esp platforms, has the potential to re-invigorate computational education (having a 'thing' you can interact with makes it a lot more concrete and interesting), but a debugger makes it a lot more useful for teaching problem solving skills. |
One merit of Python is that its interactive nature reduces the need for a debugger. It offers debugging techniques unavailable in compiled languages, such as using cut and paste at the REPL to test code fragments or to interact directly with hardware. The REPL can also be used to probe program state after an exception is thrown. A debugger would be nice, but I've yet to encounter a situation where I actually bewailed its absence. |
+1 lots of times for a debugger, but not for V2.0. It's a big job, lots of questions and choices. I wouldn't want it to delay v2.0.
When I work with our embedded programmers its usually debugging systems, not code bugs. Finding the once a day, week, month or year malfunctions. They are usually caused by an unusual, unanticipated sequence of events or values, an omission or error in the system (machine) spec, hardware faults, etc. We use JTAG / gdb / eclipse with breakpoints, data watchpoints and backtrace to work out the unusual sequence of events that cause a failure. I have tried to introduce MiroPython to these embedded C / gdb guys but they are not interested in losing their debug capabilities. Then there are the questions:
But too big for v2.0. I would like to continue this discussion later. |
Similar story here. We found being able to tell uPy to halt upon reaching a certaing function location (we do this manually by inserting a 'debugbreak()' call which makes the attached C debugger halt) is indispensible. I can't imagine this, or something similar like dropping to REPL, wouldn't be useful for others. |
A state context that's not global is very nice to have. #2122 amalgamate uPy source into a single .c and .h file build option may be useful, but not essential. the status is very useful. |
I believe this issue can be closed in favor of #4821 |
Uh oh!
There was an error while loading. Please reload this page.
This is a ticket to collect ideas about, and prepare for, v2.0 of MicroPython. It won't be at least until Jan 2017 that this version will be released.
Changing a major version means that we are allowed to "break" compatibility. Although this is not something to aim for it would be a good chance to resolve the following issues (one way or another):
It would also be nice to have Python 3.5 "compatibility" (see #1329) by v2.0.
The text was updated successfully, but these errors were encountered: