In file included from sketch/ConfigurationStore.cpp:4:0:
sketch/ultralcd.h:40:15: warning: 'void lcd_selftest_v()' declared 'static' but never defined [-Wunused-function]
static void lcd_selftest_v();
^
sketch/ultralcd.h:42:15: warning: 'bool lcd_selfcheck_endstops()' declared 'static' but never defined [-Wunused-function]
static bool lcd_selfcheck_endstops();
^
sketch/ultralcd.h:45:15: warning: 'void reset_crash_det(char)' declared 'static' but never defined [-Wunused-function]
static void reset_crash_det(char axis);
^
sketch/ultralcd.h:46:15: warning: 'bool lcd_selfcheck_axis_sg(char)' declared 'static' but never defined [-Wunused-function]
static bool lcd_selfcheck_axis_sg(char axis);
^
sketch/ultralcd.h:47:15: warning: 'bool lcd_selfcheck_axis(int, int)' declared 'static' but never defined [-Wunused-function]
static bool lcd_selfcheck_axis(int _axis, int _travel);
^
sketch/ultralcd.h:54:15: warning: 'bool lcd_selfcheck_check_heater(bool)' declared 'static' but never defined [-Wunused-function]
static bool lcd_selfcheck_check_heater(bool _isbed);
^
sketch/ultralcd.h:55:15: warning: 'int lcd_selftest_screen(int, int, int, bool, int)' declared 'static' but never defined [-Wunused-function]
static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay);
^
sketch/ultralcd.h:56:15: warning: 'void lcd_selftest_screen_step(int, int, int, const char*, const char*)' declared 'static' but never defined [-Wunused-function]
static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator);
^
sketch/ultralcd.h:57:15: warning: 'bool lcd_selftest_manual_fan_check(int, bool)' declared 'static' but never defined [-Wunused-function]
static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite);
^
sketch/ultralcd.h:58:15: warning: 'bool lcd_selftest_fan_dialog(int)' declared 'static' but never defined [-Wunused-function]
static bool lcd_selftest_fan_dialog(int _fan);
^
sketch/ultralcd.h:59:15: warning: 'bool lcd_selftest_fsensor()' declared 'static' but never defined [-Wunused-function]
static bool lcd_selftest_fsensor();
^
sketch/ultralcd.h:60:15: warning: 'void lcd_selftest_error(int, const char*, const char*)' declared 'static' but never defined [-Wunused-function]
static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2);
sketch/ultralcd.h:68:24: warning: 'blink' defined but not used [-Wunused-variable]
static unsigned char blink = 0; // Variable for visualization of fan rotation in GLCD
sketch/ultralcd.h:222:13: warning: 'void lcd_colorprint_change()' declared 'static' but never defined [-Wunused-function]
static void lcd_colorprint_change();
^
sketch/ultralcd.h:223:12: warning: 'int get_ext_nr()' declared 'static' but never defined [-Wunused-function]
static int get_ext_nr();
^
sketch/ultralcd.h:225:13: warning: 'void extr_adj_0()' declared 'static' but never defined [-Wunused-function]
static void extr_adj_0();
^
sketch/ultralcd.h:226:13: warning: 'void extr_adj_1()' declared 'static' but never defined [-Wunused-function]
static void extr_adj_1();
^
sketch/ultralcd.h:227:13: warning: 'void extr_adj_2()' declared 'static' but never defined [-Wunused-function]
static void extr_adj_2();
^
sketch/ultralcd.h:228:13: warning: 'void extr_adj_3()' declared 'static' but never defined [-Wunused-function]
static void extr_adj_3();
^
sketch/ultralcd.h:229:13: warning: 'void fil_load_menu()' declared 'static' but never defined [-Wunused-function]
static void fil_load_menu();
^
sketch/ultralcd.h:230:13: warning: 'void fil_unload_menu()' declared 'static' but never defined [-Wunused-function]
static void fil_unload_menu();
^
sketch/ultralcd.h:231:13: warning: 'void extr_unload_0()' declared 'static' but never defined [-Wunused-function]
static void extr_unload_0();
^
sketch/ultralcd.h:232:13: warning: 'void extr_unload_1()' declared 'static' but never defined [-Wunused-function]
static void extr_unload_1();
^
sketch/ultralcd.h:233:13: warning: 'void extr_unload_2()' declared 'static' but never defined [-Wunused-function]
static void extr_unload_2();
^
sketch/ultralcd.h:234:13: warning: 'void extr_unload_3()' declared 'static' but never defined [-Wunused-function]
static void extr_unload_3();
^
sketch/ultralcd.h:235:13: warning: 'void lcd_disable_farm_mode()' declared 'static' but never defined [-Wunused-function]
static void lcd_disable_farm_mode();
^
sketch/ultralcd.h:236:13: warning: 'void lcd_set_fan_check()' declared 'static' but never defined [-Wunused-function]
static void lcd_set_fan_check();
^
sketch/ultralcd.h:240:13: warning: 'char snmm_stop_print_menu()' declared 'static' but never defined [-Wunused-function]
static char snmm_stop_print_menu();
^
sketch/ultralcd.h:242:14: warning: 'void lcd_sort_type_set()' declared 'static' but never defined [-Wunused-function]
static void lcd_sort_type_set();
^
sketch/ultralcd.h:244:14: warning: 'float count_e(float, float, float)' declared 'static' but never defined [-Wunused-function]
static float count_e(float layer_heigth, float extrusion_width, float extrusion_length);
^
sketch/ultralcd.h:245:13: warning: 'void lcd_babystep_z()' declared 'static' but never defined [-Wunused-function]
static void lcd_babystep_z();
^
sketch/ultralcd.h:290:13: warning: 'void lcd_send_status()' declared 'static' but never defined [-Wunused-function]
static void lcd_send_status();
^
sketch/ultralcd.h:291:13: warning: 'void lcd_connect_printer()' declared 'static' but never defined [-Wunused-function]
static void lcd_connect_printer();
sketch/ultralcd.h:227:13: warning: 'char snmm_stop_print_menu()' declared 'static' but never defined [-Wunused-function]
static char snmm_stop_print_menu();
^
sketch/ultralcd.h:229:14: warning: 'void lcd_sort_type_set()' declared 'static' but never defined [-Wunused-function]
static void lcd_sort_type_set();
^
sketch/ultralcd.h:231:14: warning: 'float count_e(float, float, float)' declared 'static' but never defined [-Wunused-function]
static float count_e(float layer_heigth, float extrusion_width, float extrusion_length);
^
sketch/ultralcd.h:232:13: warning: 'void lcd_babystep_z()' declared 'static' but never defined [-Wunused-function]
static void lcd_babystep_z();
|
||
|---|---|---|
| Catch2 | ||
| Firmware | ||
| Tests | ||
| lang | ||
| .gitignore | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
| README_cz.md | ||
README.md
1. Development environment preparation
-
install
"Arduino Software IDE"for your preferred operating system
https://www.arduino.cc -> Software->Downloads
it is strongly recommended to use older version"1.6.8", by which we can assure correct compilation results
note: in versions1.7.xand1.8.xthere are known some C/C++ compilator disasters, which disallow correct source code compilation (you can obtain"... internal compiler error: in extract_insn, at ..."error message, for example); we are not able to affect this situation afraid
note: in the case of persistent compilation problems, check the version of the currently used C/C++ compiler (GCC) - should be4.8.1; version can be verified by entering the command
avr-gcc --version
if you are not sure where the file is placed (depends on how"Arduino Software IDE"was installed), you can use the search feature within the file system
note: name collision for"LiquidCrystal"library known from previous versions is now obsolete (so there is no need to delete or rename original file/-s) -
add (
UltiMachine)RAMBoboard into the list of Arduino target boards
File->Preferences->Settings
into text field"Additional Boards Manager URLs"
type location
"https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json"
or you can 'manually' modify the item
"boardsmanager.additional.urls=....."
at the file"preferences.txt"(this parameter allows you to write a comma-separated list of addresses)
note: you can find location of this file on your disk by following way:
File->Preferences->Settings("More preferences can be edited in file ...")
than do it
Tools->Board->BoardsManager
from viewed list select an item"RAMBo"(will probably be labeled as"RepRap Arduino-compatible Mother Board (RAMBo) by UltiMachine"
note: select this item for any variant of board used in printers'Prusa i3 MKx', that is forRAMBo-mini x.yandEINSy x.yto
'clicking' the item will display the installation button; select choice"1.0.1"from the list(last known version as of the date of issue of this document)
(after installation, the item is labeled as"INSTALLED"and can then be used for target board selection) -
modify platform.txt to enable float printf support:
"compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections"
2. Source code compilation
place the source codes corresponding to your printer model obtained from the repository into the selected directory on your disk
https://github.com/prusa3d/Prusa-Firmware/
in the subdirectory "Firmware/variants/" select the configuration file (.h) corresponding to your printer model, make copy named "Configuration_prusa.h" (or make simple renaming) and copy them into "Firmware/" directory
run "Arduino IDE"; select the file "Firmware.ino" from the subdirectory "Firmware/" at the location, where you placed the source codes
File->Open
make the desired code customizations; all changes are on your own risk!
select the target board "RAMBo"
Tools->Board->RAMBo
note: it is not possible to use any of the variants "Arduino Mega …", even though it is the same MCU
run the compilation
Sketch->Verify/Compile
upload the result code into the connected printer
Sketch->Upload
or you can also save the output code to the file (in so called HEX-format) "Firmware.ino.rambo.hex":
Sketch->ExportCompiledBinary
and then upload it to the printer using the program "FirmwareUpdater"
note: this file is created in the directory "Firmware/"
3. Automated tests
Prerequisites
c++11 compiler e.g. g++ 6.3.1
cmake
build system - ninja or gnu make
Building
Create folder where you want to build tests.
Example:
cd ..
mkdir Prusa-Firmware-test
Generate build scripts in target folder.
Example:
cd Prusa-Firmware-test
cmake -G "Eclipse CDT4 - Ninja" ../Prusa-Firmware
or for DEBUG build:
cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_BUILD_TYPE=Debug ../Prusa-Firmware
Build it.
Example:
ninja
Runing
./tests