I’m using two systems to program a set of Wixels: MacOS Sierra 10.12.6 (through the Terminal), and Windows 10 Home Version 1809 (through Cmder). Programming with the former is successful, while programming the same code with the latter results in a nonfunctioning Wixel (unable to access on the serial port, has to be externally set into bootloader mode to reprogram). As a newcomer to Windows, is there a standard way to program Wixels on Windows I should be referencing? Any troubleshooting advice is appreciated.
I am sorry to hear you are having trouble with your Wixel on Windows 10.
Did you compile the code yourself or download a pre-compiled app from somewhere? Could you provide more details about how you compiled the code, including what machines you compiled it on and what versions of SDCC you used on each of those machines? You can get SDCC version information by running
What did you see that made you conclude the Wixels were non-functioning? When you connect a non-functioning Wixel to the Windows computer and look in the Device Manager, do you see any entries for the Wixel in the “Ports (COM & LPT)” list or the “Other devices” list? Does a non-functioning Wixel start working when you connect it to your macOS computer without reprogramming it?
To answer your question, the standard way to program Wixels is documented in the Wixel User’s Guide.
The code is a modified version of a preexisting app, and was compiled on each system using the following settings:
MAC OS Compilation: 3.6.0 #9615 (Mac OS X x86 64)
Windows 10 Compilation: 3.1.0 #7066 (Nov 22 2011) (MINGW32)
For each system, the custom code was compiled and flashed to the Wixel using both the Wixel Configuration Utility and the command line (“make load_app”) on both systems - both programming methods resulted in the same system-specific outcomes described below. Please note that the custom app has code to flash the red and yellow LEDs in sequence upon startup.
Mac OS Programming Outcomes: The Wixel flashes the red/yellow LEDs. The Wixel remains present in the Wixel Configuration Utility’s list of Wixels and is visible as a “Pololu USB Device” in the Windows Device Manager/as its expected port ID in the /dev/tty list in the MAC OS Terminal.
Windows 10 Programming Outcomes: The Wixel does not flash the red/yellow LEDs. The Wixel disappears from the Wixel Configuration Utility’s list of Wixels and is no longer visible in the Device Manager. Windows-programmed Wixels do not start working when connected to either the Mac or the Windows system. Windows-programmed Wixels do successfully enter bootloader mode when either of the “bypass methods” described in the User Guide is used, upon which they appear in the Wixel Configuration Utility and Device Manager (in bootloader mode).
From these results it seems like the Wixel isn’t even starting the flashed code when programmed on the Windows system. Any insights?
You are using a much older version of SDCC on Windows, so that might be the problem. I recommend uninstalling SDCC 3.1.0 from Windows and installing SDCC 3.6.0 instead. You can find it here:
Since the Makefile will not detect when your version of SDCC changes, you should run “make clean” in the Wixel SDK folder to remove all the binaries compiled with the older compiler.
Then, I recommend checking to make sure you are compiling the exact same code on both computers. This includes the code for your application as well as the rest of the code in the Wixel SDK.
Please let me know if that helps.
Thanks David, updating SDCC worked perfectly.