Somehow, most of the time my Arduino-based EggBot clone
outputs one byte of undetermined garbage before saying "Ready". This caused gcode-sender.rb to fail with "invalid byte sequence in UTF-8 (ArgumentError)".
Eventually I found the solution in a post by Wayne Brissette here: https://www.ruby-forum.com/topic/4409620
. Basically you need to treat the string as binary instead of utf-8. This small change in the code that waits for the robot to be ready fixed the issue for me:
@@ -30,7 +30,7 @@
sp.read_timeout = 0 # Necessary for Windows.
while line = sp.gets
- break if line.match(/^Ready/)
+ break if line.force_encoding("BINARY").match(/^.?Ready/)
File.foreach(filename) do |line|
Recent changes introduced with iOS 10 prevent you from mounting an iPhone on a regular Ubuntu installation.
The PPA by Martin Salbaba used to fix the issue
, but it hasn't been updated in a while, and now when I connect my iPhone (running iOS 10.2.1) the pictures are no longer accessible, although the documents are still there.
This solution worked for me (Ubuntu 16.04):
- install libimobiledevice6 + dependencies from this PPA: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice
(follow the instructions there)
- install newer libimobiledevice version according to the "recipe" by A.B. here: http://askubuntu.com/questions/598940/libimobiledevice-1-2-ios-8-support-for-ubuntu-14-04-trusty
- install ifuse according to the same method:
git clone https://github.com/libimobiledevice/ifuse.git
sudo apt-get install libfuse2 libfuse-dev
You can now mount your iPhone like this:
I assume the same procedure would work for an iPad too.
This website is a really useful resource: https://realfavicongenerator.net/
Wondering what APA106 addressable RGB LED are? Get some from eBay, AliExpress or SparkFun.
In case this is useful to anyone else: here is my APA-106-F8 RGB LED KiCad library
, including 3D model for pretty rendering.
The 3D model was made with OpenSCAD based on the instructions from Christopher J. Woodall
. (The only difference is that I used meshlab to convert the OpenSCAD STL to binary instead of meshconv.)
You are free to use/change/distribute it in any way for any purpose. Attribution would be nice but is not mandatory.
If you are interested, here is the OpenSCAD source file