Go to file
Markus Hitter 75df5e3a0a SD card: don't read into a buffer, parse directly instead.
Formerly we took efforts to read only small chunks into a
(small) buffer, just to read this buffer byte by byte yet
again for parsing. It's more efficient and requires less
code to parse the character at read time directly. This
way we can read in chunks of exactly one line, making the
buffer obsolete.

First step is to implement this in mendel.c and in sd.c/.h.
This gets rid of the buffer already.

Very inefficient in pff.c and pff_diskio.c so far, more
than 40 minutes / less than 500 bytes/s for reading this
1 MB comments file. Reason is, for every single byte a
whole sector is read. Nevertheless, this attempt appears
to be on the right track.

Binary is 156 bytes smaller, 16 bytes less RAM:
               ATmega...     '168   '328(P)   '644(P)     '1280
   FLASH:   22052 bytes   153.82%    71.78%    34.73%    17.09%
     RAM:    1331 bytes   129.98%    64.99%    32.50%    16.25%
  EEPROM:      32 bytes     3.12%     1.56%     1.56%     0.78%
2015-07-17 13:30:55 +02:00
attic SD card: store sample code for the hardware layer. 2015-07-05 23:32:48 +02:00
config Add support for the NanoHeart board. 2015-07-01 11:39:36 +02:00
configtool Configtool: be helpful when trying to overwrite protected files. 2015-07-14 17:00:46 +02:00
extruder analog.h: document and clean up. 2015-05-11 01:17:25 +02:00
research Add gnuplot script to explore simulator output 2013-12-06 19:24:58 +01:00
simulator Rename setTimer() to timer_set() for more consistency. 2015-04-21 02:51:32 +02:00
testcases Introduce regression tests. 2015-07-13 14:00:33 +02:00
tools deriv.awk: Calculate derivative of every column 2014-03-04 19:57:28 +01:00
.gitattributes Enforce Unix line endings (LF). 2015-02-04 00:10:37 +01:00
.gitignore Rename ThermistorTable.h to thermistortable.h. 2015-05-04 20:08:39 +02:00
Doxyfile Remove LUFA. 2012-12-03 19:48:54 +01:00
LICENSE licensing- GPL-2 at the moment 2010-10-20 18:15:09 +11:00
Makefile-AVR Introduce regression tests. 2015-07-13 14:00:33 +02:00
Makefile-SIM Introduce regression tests. 2015-07-13 14:00:33 +02:00
Makefile-common Regressiontests: give SIM a "standard" config. 2015-07-17 13:27:25 +02:00
Makefile-example Makefile-example: add shortcut targets. 2015-07-17 13:29:22 +02:00
README Makefiles: adjust comments. 2015-04-21 02:51:31 +02:00
README.sim Teach simulator to process gcode files directly 2013-12-06 19:24:58 +01:00
Teacup_Firmware.pde arduino ide: .pde must have the same name as the folder. 2011-02-27 22:08:41 +01:00
analog.c Zungmann's fixes to compile simulator on Mac OS X, part 2. 2014-03-04 19:57:48 +01:00
analog.h analog.h: document and clean up. 2015-05-11 01:17:25 +02:00
arduino.h Zungmann's fixes to compile simulator on Mac OS X, part 2. 2014-03-04 19:57:48 +01:00
arduino_32U4.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_168_328p.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_644.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_1280.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_usb1286.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_usb1287.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
calc.pl setting up new branch 2 2010-08-10 14:26:24 +10:00
clock.c temp.h: remove indirection temp_tick(). 2015-04-21 02:51:31 +02:00
clock.h Move clock stuff from timer.c/.h to clock.c/.h. 2014-10-18 20:57:32 +02:00
config.default.h Configtool: convert template for Teensy++ 2.0. 2015-04-21 02:51:31 +02:00
config_wrapper.h config_wrapper.h: move #include "arduino.h" here. 2015-05-30 18:40:05 +02:00
configtool.default.ini Configtool: move thermistor presets into distribution file. 2015-05-20 23:31:38 +02:00
configtool.py Configtool: work around a URL-open bug on some Linuxes. 2015-07-01 16:42:38 +02:00
crc.c Restore simulation build target. 2013-12-06 19:24:58 +01:00
crc.h use CRC16 to verify heater PID settings in eeprom 2011-02-20 17:13:09 +11:00
createTemperatureLookup.py createTemperatureLookup.py: deal with precision limitation on R0. 2015-04-21 02:51:32 +02:00
dda.c dda.c: fix overflow for large steps/meter values. 2015-06-06 12:04:52 +02:00
dda.h dda.c/.h: reduce debounce counting variable. 2015-01-09 13:11:06 +01:00
dda_kinematics.c CoreXY, dda_kinematics.c/.h: introduce KINEMATICS_COREXY. 2014-12-26 19:41:37 +01:00
dda_kinematics.h CoreXY, dda_kinematics.c/.h: introduce KINEMATICS_COREXY. 2014-12-26 19:41:37 +01:00
dda_lookahead.c dda.c: add some TODOs about duplicate and redundant code. 2014-12-26 19:41:38 +01:00
dda_lookahead.h Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
dda_maths.c Rename all these new PROGMEM variables to end in _P. 2014-08-31 19:05:25 +02:00
dda_maths.h DDA: have an acceleration constant for each axis individually. 2014-08-31 19:10:14 +02:00
dda_queue.c dda_queue.c: report temperatures spontanuously while heating. 2015-04-26 18:11:43 +02:00
dda_queue.h Remove __attribute__((hot)). 2014-03-04 19:56:13 +01:00
debug.c setting up new branch 2 2010-08-10 14:26:24 +10:00
debug.h Configtool: don't make DEBUG configuration user-visible. 2015-05-08 20:38:23 +02:00
delay.c delay.c: delay_us() and delay_ms() are now calibrated. 2015-04-28 13:05:21 +02:00
delay.h delay.h: re-add falsely removed #include. 2013-03-24 16:19:25 +01:00
extract.py Added gcode documentation and extraction tool 2011-06-03 02:02:46 +10:00
func.sh func.sh: Fix a potential infinite loop in mendel_readsym_target 2011-05-08 00:36:55 +10:00
fuses.h make it even harder to unintentionally include fuse definitions 2011-02-04 11:04:15 +11:00
gcode_parse.c G-code parser: check for end of line in the parser. 2015-07-10 14:19:48 +02:00
gcode_parse.h G-code parser: check for end of line in the parser. 2015-07-10 14:19:48 +02:00
gcode_process.c SD card: finally(!) implement printing from SD card. 2015-07-07 19:07:35 +02:00
gcode_process.h SD card: finally(!) implement printing from SD card. 2015-07-07 19:07:35 +02:00
graycode.c disable greycode by default in arduino IDE 2011-02-17 21:52:15 +11:00
heater.c heater.c: set up timer 2 only when present. 2015-07-13 14:02:24 +02:00
heater.h Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
home.c home.c, dda.c: consider endstops on both axis ends when homing. 2015-01-09 13:11:01 +01:00
home.h Fixed single inclusion of file. Added missing define. 2011-08-16 14:09:49 +02:00
intercom.c Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
intercom.h Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
memory_barrier.h Simulator cleanup 2013-12-06 19:24:58 +01:00
mendel.c SD card: don't read into a buffer, parse directly instead. 2015-07-17 13:30:55 +02:00
mendel_cmd Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11:00
pff.c SD card: don't read into a buffer, parse directly instead. 2015-07-17 13:30:55 +02:00
pff.h SD card: don't read into a buffer, parse directly instead. 2015-07-17 13:30:55 +02:00
pff_conf.h SD card: measures sizes and additionally enable FAT32 support. 2015-07-07 19:07:37 +02:00
pff_diskio.c SD card: add a note about a possible performance optimisation. 2015-07-05 23:32:48 +02:00
pff_diskio.h SD card: add the layer between hardware and Petit FatFs. 2015-07-05 23:32:48 +02:00
pinio.c DDA: Move axis calculations into loops, part 6b. 2014-08-31 19:07:59 +02:00
pinio.h DDA: Move axis calculations into loops, part 6b. 2014-08-31 19:07:59 +02:00
preprocessor_math.h preprocessor_math.h: fix errorneous comment. 2014-08-31 19:32:09 +02:00
sd.c SD card: don't read into a buffer, parse directly instead. 2015-07-17 13:30:55 +02:00
sd.h SD card: don't read into a buffer, parse directly instead. 2015-07-17 13:30:55 +02:00
sender-mac.sh sender-mac.sh: another minor fix. 2011-09-30 21:02:25 +02:00
sender.sh sender.sh: Allow for "ok" to be surrounded by DEBUG output. 2011-03-04 19:42:00 +11:00
serial.c Rename all these new PROGMEM variables to end in _P. 2014-08-31 19:05:25 +02:00
serial.h Rename all these new PROGMEM variables to end in _P. 2014-08-31 19:05:25 +02:00
sermsg.c sermesg.c: Add documentation tag for variable floating point. 2014-08-31 19:07:21 +02:00
sermsg.h M114 returns millimeters instead of steps 2011-04-26 14:44:17 +10:00
sersendf.c Rename all these new PROGMEM variables to end in _P. 2014-08-31 19:05:25 +02:00
sersendf.h Rename all these new PROGMEM variables to end in _P. 2014-08-31 19:05:25 +02:00
simulator.h simulator.h: provide a minimalistic SPI fake. 2015-07-13 14:02:39 +02:00
spi.c SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
spi.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
temp.c SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
temp.h temp.h: remove indirection temp_tick(). 2015-04-21 02:51:31 +02:00
timer.c DDA: on short schedules, repeat step routine immediately ... 2015-04-21 02:51:32 +02:00
timer.h DDA: on short schedules, repeat step routine immediately ... 2015-04-21 02:51:32 +02:00
usb_serial.c Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
usb_serial.h Import USB Serial from http://www.pjrc.com/teensy/usb_serial.html 2012-11-08 16:36:48 +01:00
watchdog.c According to avr-libc documentation, ISR() handles SREG its self. 2013-10-27 20:01:51 +01:00
watchdog.h Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00

README

##############################################################################
#                                                                            #
# Teacup - lean and efficient firmware for RepRap printers                   #
#                                                                            #
# by Triffid Hunter, Traumflug, jakepoz, many others.                        #
#                                                                            #
##############################################################################

For installation instructions, see
http://reprap.org/wiki/Teacup_Firmware#Simple_Installation and/or
http://reprap.org/wiki/Teacup_Firmware#Developer_Installation

For documentation, see
http://reprap.org/wiki/Teacup_Firmware


##############################################################################
#                                                                            #
# This firmware is Copyright (c) ...                                         #
#   2009 - 2010 Michael Moon aka Triffid_Hunter                              #
#   2010 - 2013 Markus "Traumflug" Hitter <mah@jump-ing.de>                  #
#                                                                            #
# This program is free software; you can redistribute it and/or modify       #
# it under the terms of the GNU General Public License as published by       #
# the Free Software Foundation; either version 2 of the License, or          #
# (at your option) any later version.                                        #
#                                                                            #
# This program is distributed in the hope that it will be useful,            #
# but WITHOUT ANY WARRANTY; without even the implied warranty of             #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              #
# GNU General Public License for more details.                               #
#                                                                            #
# You should have received a copy of the GNU General Public License          #
# along with this program; if not, write to the Free Software                #
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA #
#                                                                            #
##############################################################################