Best Of
Re: Primitive not implemented in this virtual machine
None of the modules get reset when a new program starts, or a processor reset is done with the button. This is something Robotistan will review as an improvement.
In the meantime, if you unplug the USB cable and power down the entire board, all should reset.
Re: Primitive not implemented in this virtual machine
Sorry to all experiencing problems with sketches, and environment version updates. We are in a very rapid back to back improvement cycle trying to implement changes and also solve the coding issues.
All 25 projects have been revised and improved. Will be updated on the GITHUB very soon. And we'll post a notice for the new versions, so you know what you are downloading.
It is very important that you check your running version against the web site latest postings and do an update to the MicroBlocks web app and the corresponding firmware. If you make habit of running the MB IDE from the web site RUN link, followed by a firmware update check, you should be OK. After that, you only need to check the numbers and don't need to update unless the numbers have changed.
And always post both numbers when you report problems, and request help.
Re: Primitive not implemented in this virtual machine
Since the error points to the virtual machine on the board, it is important to show what version you have. How to find the virtual machine version is explained in this topic. https://community.robotistan.com/index.php?p=/discussion/60/how-to-ask-a-question-in-the-microblocks-category
Re: Project + Library: Crazy Frog
Hello
We uptaded Crazy Frog Project. Check out new version 🖐️ Let me know if you like it 🐸😄
Re: MB v1.1.87-pilot - possible bug?
Thanks for reporting this problem.
The MicroBlocks native apps for Windows, Mac, and Linux have a feature called "auto connect". That is, they scan the serial ports attempting to find a MicroBlocks board, then connect to it. (In contrast, the webapp only connects to a board when the user explicitly opens a connection.)
Auto-connect is a super useful feature when working with younger children but it can sometimes get confused if there are other serial devices connected to your computer, such as a Bluetooth dongle (possibly an internal one) or a non-MicroBlocks board.
There are a couple of work-arounds:
- use the webapp
- unplug the other serial device, if possible (it may be internal)
- plug in a MicroBlocks board, as you did
- use the "disconnect" command
This problem will be different in the latest Pilot release (1.1.89) but I can't predict if it will be better or worse. You shouldn't see the dialog, but you might not be able to interact with MicroBlocks at all if it is trying to send code to the non-existent board.
We will work on a solution to this problem but the auto-connect logic is complex so it may take a while.
Re: Library: Loading Screen
If variable and block names start with an underscore, they are treated as hidden / advanced, and will not show unless the show advanced blocks option is set in the Settings (wheel) menu.
LoadingScreeen100 : visible
_LoadingScreen100 : not visible unless option enabled.
One other suggestion: While your renaming blocks is good, it generates very long and mostly similar names. It may be possible to achieve the same result by using some thing like LS100 and _LS100. I will send you an email about this and detail it a bit. I do not want to muddy the issue here and confuse a lot of people.
Re: Library: Loading Screen
What a cool idea!
Here's a related tip: you can export the custom blocks with an appropriate name as a user Library; eg: Loading-Screen.ubl . Then users can just drop the UBL file onto the IDE and it will be incorporated into their program, just like the other libraries.
There is a difference: they will not show up with the other libraries in the standard distribution of MB. After all, these are user files and not built into the IDE. But still it is a great way to distribute custom libraries.
Another tip on making the code more compact is this:
Place the image gen script names into a list and use the MB call block from Control category to run them, followed by display. This would put the image handling more into the program's control and let it be done programmatically to suit many needs. I use the technique in OLED demo programs, etc.
To demonstrate, here's what your example would turn into:
Enjoy.