Instantiation of the static singleton instance thermalManager in general
requires locking, but we know its safe to do without.
Add -fno-threadsafe-statics to avoid using locking primitives, which
result in linking errors:
undefined reference to `__cxa_guard_acquire'
undefined reference to `__cxa_guard_release'
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
The PrintrBoard Rev F utilizes a mcp4728 DAC to set motor current. Printrbot's implementation utilizes 2 new M-codes to set and write the DAC settings to the DAC EEPROM: `M909` (Read DAC) and `M910` (Write DAC). `M907` is re-used to set value, `M908` for direct control.
The Pins file for the RevF board is included.
- also by default use ${HOME}/Arduino as install directory which may be more
sane, especially with arduino packages provided by distributions
- bump arduino version to 106 (this seems to be useless)
- program firmware through the USB serial which is more comfortable way how
to program the firmware
- use 57600 programing speed by default which seems to be more reliable
with arduino bootloaders (at least with those shipped with the Melzi2 boards)
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
Add digipot i2c control for MCP4451
Allow M907 to set i2c digipot currents in amps
Fix Makefile to allow Azteeg motherboards
Fix Makefile to allow Wire libraries only
Add beeper pin for Azteeg X3 Pro
Use "whole program" and "link time optimization" features of gcc. The
whole-program optimization enables the compiler to evaluate the entire
firmware for optimization instead of just one code file at a time.
This leads to better overall optimizations.
The "relax" option enables the linker to convert certain "call"
instructions to the smaller "rcall" instruction. This reduces the
size of the resulting binary.