Original Prusa Curing and Washing machine firmware
Create new github user, eg. your_user_name-your_repository_name-travis. This step is not mandatory, only recomended to limit access rights for travis to single repository. Grant this user access to your repository. Register this user on https://travis-ci.org/. Create API key for this user. In Github click on this user, settings, Developer settings, Personal access tokens, Generate new token, select public_repo, click on Generate token and copy this token.
Login into https://travis-ci.org/ enable build of your repository, click on repository setting, add environment variable ACCESS_TOKEN
and paste your token.
Each commit is build, but only for tagged commits Prusa-CW1-Firmware-LANG-GIT_TAG.hex
files are attached to your release by travis.
You need to install unzip, wget and make tools, next run the following command:
./build.sh
It downloads neccessary tools, creates build
subfolder, extracts tools to build/env
, builds firmware using make and puts the result into build
subfolder.
You need make, avr-gcc and avr-libc installed.
To build version with debug turned on use:
make
or with language code:
make LANG=xx
The file build/Prusa-CW1-Firmware-LANG-devel.hex
will be generated.
To build version without debug use:
make dist
or with language code:
make LANG=xx dist
The file build/Prusa-CW1-Firmware-LANG-GIT_TAG.hex
will be generated.
Configuration > Flash printer firmware, then fill up the path to generated .hex and hit Flash!
Board needs to be reset to bootloader. Bootloader has 5 seconds timeout and then returns to the application.
This can be accomplished manually by clicking reset button on CW1 (near microUSB port), or programmatically by opening and closing its virtual serial line at baudrate 1500.
Than flash it using following command, replace <virtual serial port> with CDC device created by CW1 usually com<nr>
under Windows and /dev/ttyACM<nr>
under Linux. -b
baud rate is don't care value, probably doesn't have to be specified at all, as there is no physical uart.
avrdude -v -p atmega32u4 -c avr109 -P <virtual serial port> -b 57600 -D -U flash:w:build/Prusa-CW1-Firmware-LANG-GIT_TAG.hex:i
There is known issue with ModemManager
: you either need to deinstall it, or blacklist the Prusa Research USB devices:
- create or edit
/etc/udev/rules.d/99-mm.rules
in order to add:
# Original Prusa CW1
ATTRS{idVendor}=="2c99", ATTRS
644C
{idProduct}=="0007", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="2c99", ATTRS{idProduct}=="0008", ENV{ID_MM_DEVICE_IGNORE}="1"
- Then reload udev rules :
$ sudo udevadm control --reload-rules
A request has been sent to Ubuntu, Debian and ModemManager to blacklist the whole Prusa Research VID space.
- https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1781975
- https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;package=modemmanager
- and reported to https://lists.freedesktop.org/archives/modemmanager-devel/2018-July/006471.html
You need make and doxygen installed.
make doc
The documentation is generated in doc/
subfolder.