Hi Everyone!
Big news today! OpenMV IDE is getting a major upgrade. We now have Python Language Server support and GitHub Copilot integrated for the IDE running on Windows, Mac, and Linux!!!
Autocomplete in OpenMV IDE
Now with the Python Language Server OpenMV IDE understands the Python code you are writing and can intelligently provide autocomplete solutions for you.
Previously, OpenMV IDE had no idea what the type of a local variable was. Now, it's able to follow what you are doing as you type and offer autocomplete support for local variables along with pointing out compile errors as you type!
And, like before, OpenMV IDE can provide function argument hints. As you type it will highlight which argument you are on as you fill out a call. It will also show you all the arguments too!
The Python Language Server provides OpenMV IDE support through modules you can enable/disable in preferences. For enforcing code quality, turn on Preferences -> Python -> pycodesytle to enable pep8 warnings:
Hover support is even upgraded too! Now OpenMV IDE can determine exactly what documentation it should show for which write() call you are hovering over (for comparison hover over write() in the old IDE and see what happens):
About Bugs
While the new features are awesome, we are leveraging the desktop Python Language Server for this. So, please report any bugs you find so that we can fix them. Since this feature is brand new there's still a lot of polishing to do.
GitHub Copilot
Now while Python IntelliSense is nice, GitHub Copilot is better! Now the code writes itself:
Copilot is intelligent enough to write the code for you based off just a comment. Simply tab complete to apply it:
With these new features, you've now got the tools to help you code more efficiently in MicroPython and to use your OpenMV Cam!
Note that GitHub Copilot may hallucinate. Keep in mind that MicroPython is a subset of Desktop Python so GitHub Copilot may suggest incorrect things. That said, it does a surprisingly good job understanding MicroPython on the OpenMV Cam.
OpenMV has a USB Vendor ID Now!
Moving on, we recently got our own USB Vendor ID now. The next firmware release will move all boards to using new unique VID/PIDs. The new IDE has full-support for the new VID/PIDs along with support for a new DFU bootloader that new manufactured OpenMV Cams will use. Now that we're moving to using DFU to bootload our boards you'll be able to use standard desktop tooling like dfu-util to load the firmware moving forwards.
That said, OpenMV IDE will continue to support the legacy bootloader and firmware too. The IDE can handle any combination of old/new bootloader and old/new firmware VID/PID.
Around the Web
Last but not least, here are a few cool projects that folks have shared!
Pan and Tilt Mount
George Slezak, who's been helping us with 3D CAD work, created this cool Pan and Tilt Mount in free time that connects to the cases he's designed for us:
We get asked a lot about Pan and Tilt mounts. So, we're glad to post these files for everyone to use to build their own high quality Pan and Tilt mount now.
Night Vision Camera for REM Sleep
On the more scientific side of things, Michael Paul Coder created the Halovision INSPEC using the OpenMV Cam. It's a night-vision smart camera that detects eye movements during REM sleep and triggers audio and visual alerts to promote lucidity.
"This model is ideal for people wanting to become lucid dreamers using the Halovision-INSPEC project. The OpenMV RT1062 Cam, equipped with the Halovision-INSPEC custom firmware, tracks eye movements to detect when the user is dreaming, triggering cues like sound or light (with smartwatch vibrations to be added soon) to prompt a reality check within the dream. This leads to the realization that the user is dreaming, enabling them to control their dream environment with a sense of godlike freedom.
Explore the countless benefits of lucid dreaming by becoming more aware in your dreams—unlock your full dream potential! A quick search online will reveal numerous benefits of lucid dreaming that you’ll be amazed by!"
It's really cool to see this project using the OpenMV Cam and seeing that some of our 3D Case designs were remixed to create a flexible tripod solution. We're super excited to see what projects folks continue to send us using all the new 3D CAD we've created for the OpenMV Cam!
That's all folks!