-
-
Notifications
You must be signed in to change notification settings - Fork 86
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
prevent charging screen when cable is connected #10
Comments
If that can be reliable exploited, we should add an option -p (permanent) to trigger this behaviour :-) A better implementation would be to shut down power on the USB port. But that does not seem to be always possible. My laptop accepts the commands in |
If "-m4 ++++++" fails, you can also try "-m8 test" before the -m9 commands. |
This is probably also needed for #11 |
A clock:
|
Indeed this seems to be pretty stable. Took me a while to get to this point, though. Sometimes executing the script seemed to have no effect. Part of the code suggests that updates only work once per second, so executing the script in too short intervals might have been the issue. So to support triggering this behavior via command line option we probably need to include a sleep for one second. Apart from that: It works (for now), very cool! This makes it applicable for what I had in mind (i.e. a dynamically updated display permanently connected to a computer). I wonder how you discovered this :) |
If you interested in the mechanism the load detection works in the controller, take a look at this article featuring a teardown and hardware mod from USB to serial to connect to a RaspberryPi. Unfortunately this requires some quirky pretending of USB power off via the RPi. So this will not finally solve the USB issue with the charging screen, but may lead to a later solution. Blog Post "Driving a scrolling LED badge from a Raspberry Pi | Dave Akerman" http://www.daveakerman.com/?p=1440 |
Anyone tried modding the hardware? I don't really need the battery, but I want the display to work properly while USB is connected. |
I recently figured out, that the display has a nice behaviour when the battery is removed completely. If you remove the battery and attach the programmed display to the USB (or a LiIon USB PowerPack) it shows the charging screen, but no message. If you now press the lower button close to the micro USB, the display starts to display message 1 at once without showing "M1-8". After pressing the button again, it starts with showing "M1-8" and starts over. I never use multiple messages, so not tested using this setup. Adds nice applications with bigger batteries or permanent USB Power from a pure power cable. |
I cut the cables connecting the battery and now it draws power directly from the USB. However, the model I have does not have the programming screen acsr is talking about. It always shows the charging screen |
I am sorry, my mistake – you are right: There is no actual programming screen. It is exactly the same charging screen, when just connected to any USB power source. I corrected that! |
I might have a different FW version. The marking on the PCB is
I would love to use the display as a display which can be (frequently, e.g. once per minute) updated by Python. Is there any alternative firmware or commands to avoid the M1-8 message and start the message directly after updating? Side node: The messages are probably stored in Flash memory as they are kept even with battery disconnected. |
All this looks like we are exploiting a firmware bug.
A sequence of
sudo ./led-badge-11x44.py -s8 -m4 ++++++
sudo ./led-badge-11x44.py -m9 fragment
shows quite reliably the text 'fragme' permanently while still connected to USB.
The number of characters given in the first command appear to determine the start position of the text in the next command.
If only one character was given, we get 'fra:' at the right hand side, if two characters are given, we get 'frag'.
All this looks to me like we are exploiting a firmware bug.
The text was updated successfully, but these errors were encountered: