Commit Graph

31 Commits

Author SHA1 Message Date
Nico Tonnhofer fbe1af4013 configtool: add FORCE_SOFTWARE_PWM to configtool 2017-03-21 15:04:26 +01:00
Nico Tonnhofer 4882d19215 heater: if pwm is set to 1, hardware pwm is forced, if available. 2017-03-21 15:04:26 +01:00
Nico Tonnhofer 4abc3aa2f0 heater: software pwm with delta sigma algorithm
@triffid points me to the delta sigma algorithm. This is pretty nice
for slow updating routines. Others than normal PWM, this scale better
for slow frequencies.

This algorithm is a mix of
https://www.mikrocontroller.net/topic/293454#3128867
and
https://github.com/Smoothieware/Smoothieware/blob/29e80/src/libs/Pwm.cpp#L55
2017-03-21 14:51:08 +01:00
Nico Tonnhofer fb83d2de57 heaters: rework max heater value
remove the define USE_MAX_HEATER
this will cost only neglabile space when not enabled on AVR.
2017-03-21 14:51:01 +01:00
Phil Hord ab2c355821 Factor out some boilerplate code from configs
Configs are always included via a config_wrapper.h now, and configs always
must include this safety-definition for a missing DEFINE_HEATER.  Let's
simplify the configs by moving it to a common location.
2017-03-21 14:48:19 +01:00
Nico Tonnhofer f8c78e6384 heaters: add max heater value
You can reduce the max. power of each heater.
With the max_pwm value between 1 and 100% you reduce the active pwm.
For example you could reduce the power of your hotend.

My hotend for example is 12V 30W but connected to 24V. So it has
normally 120W. This is very huge. Setting the max_pwm to 25, it has
again ~30W.
2017-03-21 14:48:15 +01:00
Markus Hitter 11e907de03 Configtool: also deal with PS_INVERT_ON.
This partially solves issue #165.
2016-06-11 13:10:09 +02:00
Markus Hitter b9fe0a5dd0 Configtool: learn about 4-bit bus pins. 2016-05-30 13:41:13 +02:00
Markus Hitter 0947c5ba50 Configtool: learn about DISPLAY_TYPE_HD44780.
This replaces DISPLAY_TYPE_LCD1302, because LCD1302 has no
actual implementation, yet.
2016-05-30 11:05:50 +02:00
Markus Hitter 6e4cd69345 board.ramps-1.3.h: add all four pins from the Servos connector.
Previously there were only two of them, the others missing for
no apparent reason. This should help connecting an external
relay, like described here:
http://www.reprap-diy.com/connect_sevenswitch_to_ramps
2016-05-25 20:29:54 +02:00
Markus Hitter 1fad0036a7 Configtool: replace DISPLAY_TYPE with a set of booleans, too.
Same reason, same procedure as the previous commit.
2016-04-20 22:00:47 +02:00
Markus Hitter 90969978df Configtool: replace DISPLAY_BUS parameter with a set of booleans.
Having a choice with a defined set of options is nice, but it
also requires these options to be #defined somewhere _before_
entering config.h. To keep class-like encapsulation, we'd need
two header files for each code unit, one for the options, another
one for the usual header.

That said, we use other examples of such options, e.g. CPU, F_CPU
or KINEMATICS. For CPU and F_CPU it works fine, because their
options are numbers or other values known by the compiler. For
KINEMATICS it kind of works, because this #define is used in only
one place ... and there it's suboptimal already, because no option-
set.

Anyways, I was unsure about this change and if it turns out to be
a poor decision later, it can be reverted.
2016-04-20 22:00:05 +02:00
Ruslan Popov 212eca7f8e Configtool: add display page implementation.
Most work by Ruslan Popov, collected from various commits and
made compatible with regression tests by Traumflug.

Display test code is now enabled by #defining DISPLAY_BUS to
i2c_twi.
2016-04-20 21:56:39 +02:00
Witold Sowa fdf6dbe849 Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
Markus Hitter be6ca4c857 ARM, AVR: support inverted heater pin signals.
Implemented and tested for both platforms. This is quite a big
commit. Unlike with the previous changes to now choosable PWM
frequencies, all board configuration files and Configtool had
to be changed immediately to deal with the additional parameter
in DEFINE_HEATER() and keep AVR builds working (and regression
tests passing).
2015-08-13 17:12:10 +02:00
Markus Hitter 42b96e0e27 SD card: commit SD_CARD_SELECT_PIN to all the board files.
For the bigger boards like RAMPS or Rumba the pin numbers were
taken from Marlin. For the smaller boards, the pin is commented
out.
2015-07-30 15:31:57 +02:00
Phil Hord 15e8dec9b2 board.gen3.h: restore {TX,RX}_ENABLE_PIN defs.
These were dropped accidentally, I assume, during the Configtool
template conversion. Without them the INTERCOM feature does not
compile and so board.gen3.h is broken.

Add the gen3 config to testcases and regressiontests to ensure
this does not drop again.
2015-07-29 21:05:38 +02:00
jbernardis 40c23e7970 Configtool: restore alignment of thermistor values in board file.
This should solve issue #154.
2015-05-31 12:53:57 +02:00
Markus Hitter 104ed2f503 config_wrapper.h: move #include "arduino.h" here.
This #include "../arduino.h" was the only reason prohibiting
Configtool users from storing printer and board configuration
files wherever they wanted. Good reason to remove this restriciton.

This also solves a part of issue #152.
2015-05-30 18:40:05 +02:00
Markus Hitter 0991e4a41f Configtool: add some formatting to collected help texts.
Tooltips don't size their box after line lengths, but have their
own idea on how wide to make it. Accordingly one should display
text with newlines only for paragraph delimiters.

This also required adjustments to all the board and printer
description comments. No functional change there.

This should solve issue #148.
2015-05-26 14:23:49 +02:00
Markus Hitter 276b82d013 config/board*: add help text for temp sensor name limitations.
Unfortunately this is only solution I can offer to complete the
fix for issue #96.
2015-05-23 21:09:03 +02:00
Markus Hitter f734b225eb Rename ThermistorTable.h to thermistortable.h.
This is purely cosmetics to match naming conventions of other
files. No functional change.
2015-05-04 20:08:39 +02:00
Markus Hitter 6f85f625cc Remove ThermistorTable{single|double}.h.
These are no longer needed, as they're now created on the fly by
Configtool.

Also pick unique information from there over to Configtool, see
the change in configtool/addsensordlg.h.
2015-05-04 19:55:16 +02:00
jbernardis 48433a6254 Configtool: added logic to generate thermistor temp tables.
Also enable editing of temperature sensors.
2015-04-21 02:51:32 +02:00
Markus Hitter 29dd85a129 Configtool: also prettify writing heater definitions. 2015-04-21 02:51:31 +02:00
Markus Hitter 778af87102 Configtool: prettify writing sensor definitions.
This might look a bit oversensitive right now, but soon we'll also
write temperature table data, then it makes more sense.
2015-04-21 02:51:31 +02:00
jbernardis b5ba625697 config/board.ramps-v1.3.h: add yet another possible heater pin. 2015-04-21 02:51:30 +02:00
jbernardis 552b21b76e board.ramps-v1.3.h: add predefined fan output. 2015-04-21 02:11:01 +02:00
jbernardis b9f524d256 Configtool: add the ability to build and upload. 2015-04-21 02:11:01 +02:00
jbernardis d6b2a2293e Configtool: incorporate most of previous comments.
See discussion to Issue #111 on Github.
2015-04-21 02:10:58 +02:00
jbernardis d7789ee217 Configtool: major restructuring.
We distinguish between printers and boards now. Most of the
code was split into one file per tab/window and moved into
configtool/.
2015-04-21 02:07:12 +02:00