Commit Graph

1140 Commits

Author SHA1 Message Date
Markus Hitter 846d575aee SD card: add Petit FatFs to Teacup Firmware.
Some modifications to avoid file name conflicts with other parts and
make it compile. As the glue code to the hardware (spi.c/.h) is
still missing, there are a few warnings, of course.

Changes to this library are tracked in pff.c.
2015-07-05 23:32:48 +02:00
Markus Hitter a9aa690cb3 SD card: store Petit FatFs original sources.
Fetched from http://elm-chan.org/fsw/ff/00index_p.html, version R0.03.

Storing original code separately shall ease diff'ing them when a
new release comes out.
2015-07-05 23:32:48 +02:00
Markus Hitter 63c4dbaea9 mendel.c: do module enabling differently.
Same result, but 8 bytes less binary size. With SD card disabled,
binary size is now the same as before getting SPI running.
2015-07-05 23:32:48 +02:00
Markus Hitter 1fb3ece31e SD card: establish spi.c/.h and sd.c/.h and get SPI running.
For now this is just a nice demonstration on how to send bytes
over SPI. Add SD_CARD_SELECT_PIN to your configuration board
file manually to see data signals on MOSI dancing on the scope.

The TODO's about SS in arduino*.h were wrong, SS does have a
chip-specific special meaning (used in SPI multi-master or SPI
slave mode). Still, a #define MAX6675_SELECT_PIN is missing.

Squashed in this commit from the SPI development topic branch to
get this first step working:

Author: jbernardis <jeff.bernardis@gmail.com>
2015-02-04 22:35:07
mendel.c: disable SPI in power management only when not needed.

If we want to talk to a SD card connected to SPI, we need SPI
powered, of course.

From Traumflug: nice catch, Jeff!
2015-07-05 23:32:46 +02:00
Markus Hitter b4145e683a Configtool: work around a URL-open bug on some Linuxes.
Not exactly ideal, but the best I could find so far.

This is work related to issue #159.
2015-07-01 16:42:38 +02:00
Markus Hitter 80626eb528 Configtool: Add "Report problem" function.
The idea is to open the user's email client automatically, so
(s)he has not much more to do than to write a sentence about what
went wrong. As easy as possible!

This is work related to issue #159.
2015-07-01 16:42:36 +02:00
Ruslan Popov a13e00893d Add support for the NanoHeart board.
See http://blog.securelayer.ru/doku.php/reprap/electronics/nanoheart
2015-07-01 11:39:36 +02:00
Markus Hitter 113b23ca2c Configtool: add "About Teacup" function.
It's a nice thank you and listing of the top 10 contributors.

This is work related to issue #159.
2015-06-10 13:56:39 +02:00
Markus Hitter 652b129b20 Configtool: add help menu.
This is "Help", "Report problem" and "About Teacup". Functionality
behind the latter two forthcoming.

This is work related to issue #159.
2015-06-10 13:56:39 +02:00
Markus Hitter 03b68e2738 SD card: remove sd.c
This file was never in use and actually didn't even compile.
It didn't disturb so far because its whole content was wrapped
in #if 0. Recently it was fixed to at least compile, but code
quality was found to be poor enough to justify looking for
something written more carefully, which was found in FatFs
sample code.
2015-06-10 13:56:39 +02:00
Markus Hitter 9ea3941ffe gcode_process.c: be more explicit about X_MIN,... type.
Big surprise, this makes the binary a whopping 286 bytes smaller
with software endstops enabled. Looking at the produced assembly,
the former code caused gcc to do the float -> integer conversion
at runtime, using a __floatsisf(). Now the X_MIN, X_MAX... values
are compiled in as integers directly.

This is work related to issue #157.
2015-06-10 13:56:39 +02:00
Markus Hitter fa19a5ceb8 Add source file for the Teacup logo. 2015-06-10 13:56:13 +02:00
Markus Hitter 3b02ba5376 gcode_process.c: refine description for G28. 2015-06-06 20:09:19 +02:00
Markus Hitter c4582e605a Refine help text for soft axis limits. 2015-06-06 20:09:06 +02:00
Markus Hitter 6f7a4122a0 Configtool: allow travel limits to be floats.
This is work related to issue #157.
2015-06-06 20:08:54 +02:00
Markus Hitter 75d110cb53 build.py: align sizes report.
No functional change.
2015-06-06 12:06:41 +02:00
Markus Hitter 0cab7ec540 Configtool: improve search for avrdude.conf.
Should now also work for Arduino 1.5.x and up.

This is work related to issue #158.
2015-06-06 12:06:41 +02:00
Markus Hitter f9d0a1bf35 Configtool: work around a ld.exe problem.
See committed comment for details.

This is related to issue #158.
2015-06-06 12:06:40 +02:00
Markus Hitter b74b066db5 Configtool: allow all Windows versions, not just "win32".
This is work related to issue #158.
2015-06-06 12:06:04 +02:00
Markus Hitter 8b63505d53 Configtool: find executables on Windows.
Probably no surprise for users of this platform, executables have
a .exe suffix :-)

This partially solves issue #158.
2015-06-06 12:05:13 +02:00
Markus Hitter 389dfdd3a1 Configtool: wait before erroring out.
When double-clicking configtool.py, these error messages are
never visible, because the window running the command closes
immediately. Give 10 seconds for reading.

This is related to issue #158.
2015-06-06 12:05:02 +02:00
Yiannis Mandravellos fb249214f0 dda.c: fix overflow for large steps/meter values.
The trick is to use doubles earlier. As these calculations are
optimised out anyways, binary size and performance is kept.

Verified to have an identical outcome on a few common steps/mm and
acceleration cases.
2015-06-06 12:04:52 +02:00
David Forrest 6820e2cc0a gcode_parse.c: fix E debugging message.
This should complete issue #87.
2015-06-06 12:04:36 +02:00
Markus Hitter 3023c74178 Move branch eeconfig to the attic.
This branch gained no attendance for years. With the advent of
Configtool it becomes even more unlikely this ever becomes part
of the standard distribution. See also attic/eeconfig/README.
2015-06-06 12:04:10 +02:00
Markus Hitter eb122a96a5 Configtool: refine settings tooltips.
Most importantly, Arduino IDE tools can be used on any operating
system.
2015-05-31 21:50:08 +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
jbernardis 972e0cbb3d addsensordlg.py: fix a typo.
When choosing an SH preset, preset value 6 was assigned to both
parameter 6 and parameter 7.

This was mentioned in issue #155.
2015-05-31 11:44:53 +02:00
jbernardis 4597fd0c51 Configtool: reset/restore thermistor presets.
The sensor dialog now checks present values against the list of
presets. This means, if a preset is used and then modified, the
preset choice jumps to <none>. It also means presets are recognized
when modifying a temperature sensor.

This should solve issue #155.
2015-05-31 11:39:12 +02:00
Markus Hitter dbf43c8e78 Configtool: provide only free heater pins on heater creation. 2015-05-31 11:27:15 +02:00
Markus Hitter b813df95ff Configtool: add heater modify button.
Also turn PWM by default on.
2015-05-31 11:27:15 +02:00
Markus Hitter 0f5990b2eb Configtool: don't color heater/sensor list items.
Validation is no longer required, as we now validate in the
creation dialog already. And coloring one item in a two-item list
almost looks like this item were highlighted.
2015-05-31 11:27:12 +02:00
Markus Hitter b3bc26c6f4 Configtool: adjust background color of controls, too.
That is, buttons and choices. Coices apparently don't work. Tried
a bit on the table heaters of the sensor and heater lists, but
found nothing which would result in an effect. This control is
not exactly well documented.
2015-05-30 21:21:00 +02:00
Markus Hitter 9976640d92 Configtool: color background matching the background picture.
Actual color is easily changeable in Decoration, as this is a
Singleton.
2015-05-30 19:20:38 +02:00
Markus Hitter 95d7f0fa1e Configtool: resize the window properly.
This means, including the background panel and background picture.
2015-05-30 18:41:02 +02:00
Markus Hitter be16c98e59 Configtool: give the thing a nice background picture.
This is pure dessert topping, no functinal change. Well, eye candy
is important for acceptance. :-)
2015-05-30 18:41:02 +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 da7a0d72a7 Configtool: improve search for avr-gcc & Co.
This should allow to build on any OS with Arduino IDE installed
and/or with avr-gcc & Co. available trough the normal shell.

Instead of looking at the current platform it's looked at wether
an Arduino IDE path is set. If yes, tools inside there are used.
If no such path is set, just the basename is used to let the OS
search for it ($PATH, etc.).

This is related to issue #152.
2015-05-30 18:40:04 +02:00
Markus Hitter 24b56b2bb1 Configtool: take account of Mac OS X's limited wildcard support.
According to documentation this shouldn't be neccessary, but
testing on Mac OS X 10.4.11 works only this way.

This helps a bit on issue #152.
2015-05-27 23:42:15 +02:00
Markus Hitter 8efc804cf3 Configtool: try to educate the user about missing wxPython.
Should help to tackle issue #151.
2015-05-27 15:47:47 +02:00
Markus Hitter e53424ba22 Configtool: try to educate the user about the non-support of Python3.
Let's cross fingers this helps enough to avoid users kicking this
great tool away on the first failed try. :-)

This should help to tackle issue #151.
2015-05-27 15:47:45 +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 2f8ed0dbeb Configtool: provide heater names as temp sensor names.
Formerly, both names were arbitrary and the user had to know
that only heaters ans sensors with matching names would work
together. Accordingly, temp sensors can have only names matching
those of existing heaters. With the exception of "noheater",
which is also provided.

This kind of solves issue #143.
2015-05-26 13:59:07 +02:00
Markus Hitter ada9450807 Configtool: teach heaterspage to provide a list of heater names.
This is part of the task to name temp sensors only after existing
heater names.
2015-05-26 13:53:25 +02:00
Markus Hitter 8ea9e93ac7 Configtool: swap heater and temp sensor definition tabs.
This looks like nitpicking right now, but further changes shall
provide only already existing heater names for temp sensor names,
so the former have to be defined first. Lead the user to follow
this strategy intuitively.
2015-05-26 13:53:25 +02:00
jbernardis e5e8983427 Configtool: make tooltips for radio buttons work on Linux.
The problem was, applying tooltips to the radio buttons directly
showed no effect on Linux. While this is likely a bug in wxPython,
we can't change this behaviour.

The solution is to also apply these help texts to the surrounding
StaticBox. This works, even for the radio buttons.

This solves issue #149.
2015-05-26 13:49:31 +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 d9fb7cab96 temp.c: print the right temperature.
Order of heater and temperature sensor can differ, so they can get
different numbers. When printing extruder temperatur, we want to
print the temperature of the sensor matching the extruder heater,
not that of the temp sensor with the same number as the extruder
heater. Same for the bed respectively.

This should partially solve issue #96.
2015-05-23 20:36:40 +02:00
jbernardis a96d4b4dc9 addsensordlg.py: always validate not required fields.
Previously funny things could happen, like a refusal to save
temperature sensors just because some unused field contained
garbage.
2015-05-22 13:18:46 +02:00
jbernardis 6243880982 Configtool: also save thermistor tables when only saving config.h.
Previously this was only done when saving a board file ... but
these tables can also change when general settings are changed.
2015-05-22 13:15:47 +02:00
jbernardis 5006eecd43 configtool.py: don't try to process an unreadable config.h. 2015-05-22 13:13:16 +02:00