Comments (16)
Thanks, @nomeata - sorry that I forgot to close the loop on this.
Everything ended up working out - I discovered that my issue with stcgal was not related to the counterfeit PL2303, but it was instead because I was not running the command IMMEDIATELY after plugging it in. It would apppear, based on my tests that if you miss the brief window when the device is first recognized, you cannot push the firmware. It seems you have updated your docs to reflect this, so I will just reiterate the importance of that step.
Anyways, thanks for the excellent software, my wheel light has been a huge hit.
from bspokelight.
Yeah, the installations instructions are not very polished yet… too few users so far :-)
Try apt install binutils
and see if it works then.
from bspokelight.
Or, even better, git pull
; I just made it use sdobjcopy
which should come with the sdcc
package.
from bspokelight.
Thanks man, I think I was able to get it to work using the Docker image (in a container built on Windows). At least, I got it to save the firmware.bin file. I will give it a test on my wheel later tonight and if that doesn't work try again on Mac with your new commit.
from bspokelight.
PS for windows users, this is how I was able to get it to work:
cd 'C:\users\jfrostad\Google Drive\PERSONAL\LED\bSpokeLight'
#run the docker container and mount your current working directory to /home
docker run --rm -it -v $PWD/:/home/ bspoke
#create the binary
bSpokeLight -o fw.bin imgs/casc.png 10
from bspokelight.
Note the need for a slash after $PWD
If I ran it the way you had specified for Linux, I got this error:
At line:1 char:24
+ docker run --rm -it -v $PWD:/home bspoke
+ ~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : InvalidVariableReferenceWithDrive
from bspokelight.
Oh, you are on Mac? I'm curious if everything works there in the end.
The docker instructions were contributed by someone else, can't vouch for them :-)
from bspokelight.
Indeed, that slash could be windows thing. BTW, I committed the docker image but I never got the firmware flashing to work on my Mac - I had to use Linux in VMWare.
from bspokelight.
Sorry, should have specified in my first comment - yes that error I was running into was on Mac. I will try your new commit later tonight and see if that makes a difference. Otherwise it seems to be working OK in the docker env.
@akvadrako when you say firmware flashing, you mean actually transferring the binary that gets created onto your spoke light?
from bspokelight.
Yes, that's what I meant. If you get it to work, that would be good to know.
from bspokelight.
Ignore my new commit, I decided against it. Just make sure you have objcopy
installed - on Mac you have to find out which package ships it
from bspokelight.
@akvadrako How did you end up flashing the firmware? I had no luck with mac or windows using stcgal
, since it wants to push to /dev/ttyUSB0
, which I gather is a filepath that only exists in a Linux system. However, even running Ubuntu in a VM, I am still getting this error:
frostafarian@LT-30225862:~/_code$ stcgal -P stc12 Serial port error: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
I have the spoke light attached to my PC via USB, but when I browse /dev/
it appears that directory is not present.
block ttyS1 ttyS114 ttyS13 ttyS145 ttyS160 ttyS176 ttyS191 ttyS34 ttyS5 ttyS65 ttyS80 ttyS96
fd ttyS10 ttyS115 ttyS130 ttyS146 ttyS161 ttyS177 ttyS2 ttyS35 ttyS50 ttyS66 ttyS81 ttyS97
kmsg ttyS100 ttyS116 ttyS131 ttyS147 ttyS162 ttyS178 ttyS20 ttyS36 ttyS51 ttyS67 ttyS82 ttyS98
lxss ttyS101 ttyS117 ttyS132 ttyS148 ttyS163 ttyS179 ttyS21 ttyS37 ttyS52 ttyS68 ttyS83 ttyS99
lxssclient ttyS102 ttyS118 ttyS133 ttyS149 ttyS164 ttyS18 ttyS22 ttyS38 ttyS53 ttyS69 ttyS84 urandom
null ttyS103 ttyS119 ttyS134 ttyS15 ttyS165 ttyS180 ttyS23 ttyS39 ttyS54 ttyS7 ttyS85 zero
ptmx ttyS104 ttyS12 ttyS135 ttyS150 ttyS166 ttyS181 ttyS24 ttyS4 ttyS55 ttyS70 ttyS86
pts ttyS105 ttyS120 ttyS136 ttyS151 ttyS167 ttyS182 ttyS25 ttyS40 ttyS56 ttyS71 ttyS87
random ttyS106 ttyS121 ttyS137 ttyS152 ttyS168 ttyS183 ttyS26 ttyS41 ttyS57 ttyS72 ttyS88
shm ttyS107 ttyS122 ttyS138 ttyS153 ttyS169 ttyS184 ttyS27 ttyS42 ttyS58 ttyS73 ttyS89
stderr ttyS108 ttyS123 ttyS139 ttyS154 ttyS17 ttyS185 ttyS28 ttyS43 ttyS59 ttyS74 ttyS9
stdin ttyS109 ttyS124 ttyS14 ttyS155 ttyS170 ttyS186 ttyS29 ttyS44 ttyS6 ttyS75 ttyS90
stdout ttyS11 ttyS125 ttyS140 ttyS156 ttyS171 ttyS187 ttyS3 ttyS45 ttyS60 ttyS76 ttyS91
tty ttyS110 ttyS126 ttyS141 ttyS157 ttyS172 ttyS188 ttyS30 ttyS46 ttyS61 ttyS77 ttyS92
tty0 ttyS111 ttyS127 ttyS142 ttyS158 ttyS173 ttyS189 ttyS31 ttyS47 ttyS62 ttyS78 ttyS93
tty1 ttyS112 ttyS128 ttyS143 ttyS159 ttyS174 ttyS19 ttyS32 ttyS48 ttyS63 ttyS79 ttyS94
ttyS0 ttyS113 ttyS129 ttyS144 ttyS16 ttyS175 ttyS190 ttyS33 ttyS49 ttyS64 ttyS8 ttyS95
from bspokelight.
I ended up figuring out how to flash the firmware using stcgal
- it seems that using the Windows Subsystem for Linux, you are unable to access /dev/
, so I ended up needing to just install a dual boot of Ubuntu desktop and do it there. However, I am running into a strange issue with stcgal
(see here), where after flashing it more than 2 or so times it starts displaying an error and will not work anymore. I am having more luck using the official STC-ISP tool on Windows 10 (v6.86), so perhaps you may want to update the readme with this recommendation for people who are not Linux power users. I will provide further detail if I am able to diagnose the issue with support from the devs for stcgal
.
Currently the workflow I have found to be most stable is to work on Windows 10 using the Docker image in Powershell as specified above and then use the official STC-ISP tool to flash it to the wheel.
It is also worth noting that these spoke lights seem to have counterfeit PL2303s inside, which the official Prolific drivers will either brick or refuse to interact with as an anti-piracy measure. More information on how to deal with this issue here and here.
I haven't yet found any information about Linux drivers for the PL2303 having this issue yet, but I can't rule it out as the source of my woes as it seems Ubuntu does automatically detect the driver and use the most recent one.
from bspokelight.
so perhaps you may want to update the readme with this recommendation for people who are not Linux power users.
Pull requests welcome! I don’t use windows, so I should not write these docs.
Currently the workflow I have found to be most stable is to work on Windows 10 using the Docker image in Powershell as specified above and then use the official STC-ISP tool to flash it to the wheel.
It is possible to provide the bSpokeLight
binary for windows; I have made unofficial releases and sent them to people. Then Windows users would have an easy time.
from bspokelight.
Installation is much simpler now, there is a zip file with static binaries.
from bspokelight.
MMEDIATELY after plugging it in. It would apppear, based on my tests that if you miss the brief window when the device is first recognized, you cannot push the firmware. It seems you have updated your docs to reflect this, so I will just reiterate the importance of that step.
Oh, sorry for having you figure that out on your own. I updated the README two weeks ago to reflect that, based on someone else’s input.
BTW, if you have good photos or even short videos of your wheel alight, then I’d love to have them for the repo or a blog post; photographing these things is non-trivial.
from bspokelight.
Related Issues (4)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bspokelight.