pimoroni / flotilla-python Goto Github PK
View Code? Open in Web Editor NEWPython library for the Pimoroni Flotilla plug-and-play electronics ecosystem
License: MIT License
Python library for the Pimoroni Flotilla plug-and-play electronics ecosystem
License: MIT License
Flotilla "firmware" updater will not run on Buster from the online installer.
It looks like some files have been updated for buster, but the "update_firmware" still needs the lines:
elif cat /etc/os-release | grep -q "buster"; then
IS_SUPPORTED=true && IS_EXPERIMENTAL=false
copied into the "raspbian_check()" function.
curl -sS get.pimoroni.com/flotilla | bash
tries to install libboost 1.50.0 which is no longer available in Raspbian repositories. Rest of installer completes but dock isn't detected in Rockpool.
Feature request?
When a program quits the flotilla dock simply stops, and does nothing. However if motors are running they keep running, which is potentially a bad idea. While the host program can (should) stop the motors if it exits cleanly, if it crashes or is killed then cleanup might not happen.
Could the dock firmware be updated to detect that the serial connection has been dropped, and make it fail-safe? This would primarily apply to motors, but would also be good for rainbow
After all these years. I've finally (officially) noticed that Client.first(x) doesn't return the first module of type x. It returns the first available module of type x. That isn't always the first x module by channel, just the first one of type x in the available list.
You need to either sort the available list by channel, or return the first module of type x connected in channel order. Or just do something extremely similar to finding the nth module by type as in cookbook where, in this case, n is 1 (as in first).
The number.clear method only clears the digits on the number module. If either the colon or the apostrophe have been set on, they remain on after a clear.
The latest changes to the globals seem to have broken the matrix code. I don't have a joystick to check if it's the same issue.
I think you've probably forgotten self. in a few places.
The new matrix documentation seems to be wrong about setting individual matrix pixel brightness.
set_pixel takes x and y coordinates and a state (0 or 1).
set_brightness from 0 to 255 can only be set for the complete matrix, not for each pixel.
The python motion module only returns the accelerometer x, y and z values. The magnetometer x, y and z values are not returned (as they aren't defined in the python code!).
It's easy enough to add the 3 missing data values to the motion module code, upgrade the python package manually, and then everything works as expected!
Borrowing from available
we should derive a method such as "all" that would allow client.all(flotilla.Rainbow)
to return all modules of type "Rainbow".
Without a module class argument, it should simply return all modules.
https://github.com/pimoroni/flotilla-python/blob/master/library/flotilla/__init__.py#L278-L284
When dock.stop is called it calls stop for all modules. I think the idea was to tidy up all the modules on exit, wasn't it?
Motors stop and Rainbows stop (are cleared), but Number and Matrix modules don't stop, they only have clear functions, which are not called on exit.
You need to add a stop alias for clear which would then clear the Number and Matrix on exit. And also fix the clearing of Number apostrophe and colon too (see issue #27)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.