d0e24e0876
The target here is to update the screens of graphical and char base displays as fast as possible, without draining the planner buffer too much. For that measure the time it takes to draw and transfer one (partial) screen to the display. Build a max. value from that. Because ther can be large differences, depending on how much the display updates are interrupted, the max value is decreased by one ms/s. This way it can shrink again. On the other side we keep track on how much time it takes to empty the planner buffer. Now we draw the next (partial) display update only then, when we do not drain the planner buffer to much. We draw only when the time in the buffer is two times larger than a update takes, or the buffer is empty anyway. When we have begun to draw a screen we do not wait until the next 100ms time slot comes. We draw the next partial screen as fast as possible, but give the system a chance to refill the buffers a bit. When we see, during drawing a screen, the screen contend has changed, we stop the current draw and begin to draw the new content from the top. |
||
---|---|---|
.. | ||
DUAL | ||
Configuration.h | ||
Configuration_adv.h | ||
README.md |
Felix 2.0/3.0 Configuration for Marlin Firmware
Bringing silky smooth prints to Felix.
Build HOWTO
- Install the latest non-beta Arduino software IDE/toolset: http://www.arduino.cc/en/Main/Software
- Download the Marlin firmware
- In both cases use the "Download Zip" button on the right.
cd Marlin/Marlin
cp example_configurations/Felix/Configuration_adv.h .
The next step depends on your setup:
Single Extruder Configuration
cp example_configurations/Felix/Configuration.h .
Dual Extruder Configuration
cp example_configurations/Felix/DUAL/Configuration.h Configuration.h
Compile Firmware
- Start the Arduino IDE.
- Select Tools -> Board -> Arduino Mega 2560
- Select the correct serial port in Tools -> Serial Port (usually /dev/ttyUSB0)
- Open Marlin.pde or .ino
- Click the Verify/Compile button
Flash Firmware
Connected directly via USB
- Click the Upload button. If all goes well the firmware is uploading
Remote update
Find the latest Arduino build:
ls -altr /tmp/
drwxr-xr-x 5 chrono users 12288 Mar 3 21:41 build6072035599686630843.tmp
Copy the firmware to your printer host:
scp /tmp/build6072035599686630843.tmp/Marlin.cpp.hex a.b.c.d:/tmp/
Connect to your printer host via ssh, stop Octoprint or any other service that may block your USB device and make sure you have avrdude installed, then run:
avrdude -C/etc/avrdude.conf -v -v -v -patmega2560 -cwiring -P/dev/ttyUSB0 \
-b115200 -D -Uflash:w:/tmp/Marlin.cpp.hex:i
Acknowledgements
Mashed together and tested on https://apollo.open-resource.org/mission:resources:picoprint based on collaborative teamwork of @andrewsil1 and @thinkyhead.