Commit Graph

376 Commits

Author SHA1 Message Date
Markus Amsler bfae6ff97f intercom: Reduce sections with disabled interrupts. 2011-02-21 15:52:17 +11:00
Markus Amsler 52c2788997 intercom: updating the extruder in 250ms intervals should be fast enough. 2011-02-21 15:52:17 +11:00
Markus Amsler fa2a4389fc intercom: Transmit/receive from/to temporary packets.
Fixes that the packet could be changed during transmit. And only values from packets with correct checksum are used.
2011-02-21 15:52:16 +11:00
Markus Amsler 5e56784ac1 extruder: Set/get bed temperature. 2011-02-21 15:52:16 +11:00
Markus Amsler 6d83bdb067 extruder: add fan definitions 2011-02-21 15:52:15 +11:00
Markus Amsler e032cf5dab extruder: Use pull up resistors for step/dir pin to avoid noise. 2011-02-21 15:52:15 +11:00
Markus Amsler d0cbe86a2d extruder: Half-step on every step signal.
No idea why only every 4th step signal would actually step, but this generates a lot of noise for nothing.
2011-02-21 15:52:15 +11:00
Markus Amsler e3672da1cf extruder: Check the step pin directly.
Flag could get out of sync, with undefined results.
2011-02-21 15:52:15 +11:00
Markus Amsler 5cf550733d arduino_168: define AIO6/7 2011-02-21 15:52:14 +11:00
Markus Amsler 7aff5623ef home: delay is in micro seconds 2011-02-21 15:52:14 +11:00
Markus Amsler afe58621a2 M140: S value is a temperature 2011-02-15 13:24:54 +11:00
Markus Amsler b0d1ba0e60 Fix analog reading of channel 0 if another channel is active. 2011-02-15 13:24:53 +11:00
Markus Amsler e41e659e66 intercom: Disable rx while doing tx. Avoids local RS485 half-duplex echo.
Signed-off-by: Michael Moon <triffid.hunter@gmail.com>
2011-02-14 11:31:45 +11:00
Markus Amsler 959bae2f4a intercom: Add delay before slave replies. Without it the first byte gets lost. 2011-02-14 11:08:08 +11:00
Markus Amsler a3b1529607 intercom: don't store start byte twice. 2011-02-14 11:08:08 +11:00
Markus Amsler e6a137d5f1 intercom: Init start byte. 2011-02-14 11:08:08 +11:00
Markus Amsler 680b70ad0d intercom: Send packet only once. 2011-02-14 11:05:53 +11:00
Markus Amsler b7f84a1812 itercom: Enable the RS485 transceiver on the host. 2011-02-14 11:05:52 +11:00
Michael Moon b1a48994dd preliminary untested implementation of Markus Amsler's new extruder comms protocol 2011-02-12 23:59:19 +11:00
Michael Moon 84457ccc4b disable unused sersendf, enable %x in sersendf_P 2011-02-12 22:44:24 +11:00
Michael Moon 7eb6febf8e serwrite_hex32 would only show 4 nibbles, fixed 2011-02-12 22:42:00 +11:00
John Gilmore (none) 686e417401 Revised thermistor code. Thermistor table now in 14.2 fixed point
Two thermistor tables included:
  ThermistorTable.h.dist.old, which is the table we used to have, included so those already using it don't have to recalibrate.
  ThermistorTable.h.dist, which was generated with 50 entries, and trimmed down in lower temperature ranges where we don't care as much about accuracy and there's less deviation from a straight line anyway.

Corrected default temp sensor entry in config.h.dist to thermistor instead of intercom. (Now matches earlier definitions which by default say we're using a thermistor)

Added noheater sensor example to config.h.dist

Copied CreateTemperatureLook.py from "official" firmware, and modified it for 14.2 fixed point, no negative temperatures (we're using uint16_t's), and PROGMEM.

Since I simply copied the example linear interpolation formula from wikipedia, I'm certian that it could be more efficient. The code that was there wouldn't work with 14.2 table values, and my understanding of it was too shallow to fix it. This works, and upgading the calculations to uint32_t actually takes less code space than leaving them at uint16_t. I assume it's calling a library routine that's already being linked in for the 32-bit math.
2011-02-12 22:22:10 +11:00
Michael Moon 6c1040c740 typo 2011-02-12 22:20:33 +11:00
Michael Moon 79674da51b try to make E behave 2011-02-12 22:20:18 +11:00
Michael Moon a6e8850ae3 tell users to press ctrl+D to exit 2011-02-11 12:01:01 +11:00
John Gilmore d10eb7b944 Enhancements to func.sh - idiot proofed mendel_talk
Also added a few comments.
2011-02-11 12:01:01 +11:00
Nirav Patel 48fcffb588 Set the correct pins for RAMPS v1.1 2011-02-11 11:57:17 +11:00
Michael Moon 3c5acd7ca7 disable interrupt if setTimer(0) is called 2011-02-11 11:53:27 +11:00
Michael Moon d91f30eda1 ensure step timer doesn't fire by itself after a period of inactivity 2011-02-10 19:57:16 +11:00
Markus Amsler 69f30f0691 timer: Use 2 comparator interrupts, one for the clock, the other for stepping.
The old implementation with an overflow interrupt for the clock and a comparator interrupt for stepping, had an unsolvable bug: If the comparator interrupt should happen very shortly after the overflow interrupt the comparator interrupt would miss. And with 2 comparators the implementation is more straightforward.
2011-02-10 19:53:58 +11:00
Michael Moon c5901cb04d missed a semicolon
Reported-by: jgilmore
2011-02-09 13:55:04 +11:00
Michael Moon 71eafbf96b keep power on when heaters are active
Reported-by: Jacky2K@forums.reprap.org
2011-02-09 08:16:15 +11:00
Markus Amsler fc57cfc5de Add Extruder.pde, so extruder is compilable with Arduino IDE 2011-02-09 07:48:29 +11:00
Markus Amsler 7f32aa80bb G28: home all axis if no axis is selected 2011-02-09 07:47:55 +11:00
Markus Amsler 398f68e2db make *_MIN_PIN defines optional 2011-02-09 07:47:41 +11:00
Jacky2k aec41c59aa gcode_process and pinio need to include config.h
Signed-off-by: Michael Moon <triffid.hunter@gmail.com>
2011-02-09 07:46:04 +11:00
Michael Moon 02e30dcb0a add sd.c for future, currently unused 2011-02-08 22:37:17 +11:00
Markus Amsler d5033895b2 Fix timer for high speeds. 2011-02-08 21:57:58 +11:00
Michael Moon 8ebce94e4d add soft limits to configs 2011-02-08 19:03:21 +11:00
Michael Moon 4da63d31ff fix homing code 2011-02-08 17:53:42 +11:00
Michael Moon 0110af2ede preliminary homing code- not linked into anything yet 2011-02-08 17:52:51 +11:00
Michael Moon 47a23317be allow home-to-max setups 2011-02-08 17:52:32 +11:00
Michael Moon 5118f788d2 preliminary support for soft-limits 2011-02-08 17:52:10 +11:00
Michael Moon 5df49c2d3e allow DEBUG and BANG_BANG at the same time 2011-02-08 14:49:22 +11:00
Michael Moon 00fc05a49b fix timer bug- if delay is smaller than TICK_TIME but counter has passed delay when timer is set, it will wait a whole TICK_TIME before firing instead of setting comparator to fire at correct time
check next_step_time instead of delay in comparison

Reported-by: Markus Amsler <markus.amsler@oribi.org>
2011-02-08 09:43:50 +11:00
Michael Moon 553f3a50a6 some config templates, also bang-bang heater support to reduce code size 2011-02-07 20:48:57 +11:00
Michael Moon b5299c4d69 protect ANALOG_MASK from arithmetic errors via de-macro-isation 2011-02-07 20:47:32 +11:00
Michael Moon e4fc55289b use constants for conditional compilation since preprocessor can't work out enums and we can't define in macros 2011-02-06 21:34:44 +11:00
Michael Moon 1c723f7656 remove definition macros, doesn't work 2011-02-06 21:11:39 +11:00
Michael Moon d1b2754aba sorting out preprocessor interactions 2011-02-06 21:11:39 +11:00