Commit Graph

22 Commits

Author SHA1 Message Date
Markus Hitter 575174940f ARM: get a minimum amount of Teacup compiled for ARM.
Makefile can't even upload, yet.

    SIZES          ARM...     lpc1114
    FLASH  :   944 bytes           3%
    RAM    :   132 bytes           4%
    EEPROM :     0 bytes           0%
2015-08-12 14:26:33 +02:00
Markus Hitter 24b2cd1d02 ARM: start generic port by splitting out AVR specific serial code.
This shows the new strategy to deal with architecture-specific
code:

 - Keep common code as before.

 - Keep the header file unchanged as well, no architecture
   specific headers.

 - Move architecture specific code to an architecture specific
   file and wrap the whole contents into an architecture test.

 - Also wrap the whole contents with #ifdef TEACUP_C_INCLUDE.
   Without this wrapping, Arduino IDE as well as Configtool would
   compile the stuff twice, because they compile everything
   unconditionally.

 - Last not least, #define TEACUP_C_INCLUDE and #include all
   architecture specific files unconditionally.

Build tests were successful with the Makefile, with Configtool
and with Arduino 1.5.8, so this strategy is expected to work.

Regarding the copy operation of this commit: code unchanged,
other than rewriting of all the comments for the current idea of
'proper' formatting, getting rid of tabs and some other whitespace
editing.
2015-08-12 14:26:33 +02:00
Markus Hitter a1feb32fe3 serial.c/.h: remove serial_writeblock() and ..._P().
Never used, all "blocks" we write are strings.
2015-08-04 23:01:43 +02:00
Markus Hitter 9a08675576 Rename all these new PROGMEM variables to end in _P.
Should be done for temptable in ThermistorTable.h, too, but this
would mess up an existing users' configuration.

This tries to put emphasis on the fact that you have to read
these values with pgm_read_*() instead of just using the variable.
Unfortunately, gcc compiler neither inserts PROGMEM reading
instructions automatically when reading data stored in flash,
nor does it complain or warn about the missing read instructions.

As such it's very easy to accidently handle data stored in flash
just like normal data. It'll compile and work ... you just read
arbitrary data (often, but not always zeros) instead of what you
intend.
2014-08-31 19:05:25 +02:00
Markus Hitter 0c100fe5f8 According to avr-libc documentation, ISR() handles SREG its self. 2013-10-27 20:01:51 +01:00
Markus Hitter e7b7e004f4 Silence a false positive warning. 2013-10-27 20:01:51 +01:00
Markus Hitter 9b018b7433 Make USB_SERIAL fit for the Arduino IDE.
This also includes renaming of USE_USB to USB_SERIAL for more
consistency.
2012-12-03 19:49:58 +01:00
Markus Hitter 0b11812ce5 Make use of the new usb_serial (and drop usage of lufa_serial).
At this point in time not a single user of LUFA is known and
here is reported how usb_serial apparently works more reliable:

http://forums.reprap.org/read.php?147,33082,160724#msg-160724

So it's likely we can move from lufa_serial to usb_serial entirely.
2012-11-08 16:37:18 +01:00
Markus Hitter 7528037d4e Save status register on each interrupt.
Costs 28 bytes binary size and two CPU cycles per interrupt,
at the advantage of getting rid of possible well hidden bugs.
2012-03-04 19:02:38 +01:00
Michael Moon 0dc7d77885 Massive Doxygen documentation addition
'make doc' then point your browser at doc/html/

Needs plenty of cleanup and polishing, but the main bulk is here

even documents your configuration! ;)
2011-03-22 01:34:36 +11:00
Markus Hitter 8b78c2a498 Make baud rate user-configurable. 2011-03-20 15:47:15 +01:00
Michael Moon a77986784e slightly simplified and clarified xon/xoff 2010-10-08 21:00:48 +11:00
Markus Hitter f799228a8e Remove old XON/XOFF implementation, as it's redundant now. 2010-10-05 21:04:06 +02:00
Markus Hitter a438a3fa2f Implement XON/XOFF handling for the serial read queue. The former
solution was less computing intensive, but failed when the GCode
interpreter couldn't keep up with the incoming stream, e.g. when
handling a lot of tiny moves.

The old implementation is still in place but somewhat redundant
now, so stay tuned ...

Oh, and G4 Dwell works now as well.
2010-10-05 21:04:03 +02:00
Markus Hitter fb53c2c0a8 serial.c: make sure to read incoming characters even if we don't
have space to store them.
2010-10-04 16:04:54 +02:00
Michael Moon 99f2593321 UNTESTED support for sanguino 2010-09-13 17:40:21 +10:00
Michael Moon 48cf0e05d7 some code cleanup, added M114, wrapped M25[0..5] in ifdef DEBUG wrapper 2010-09-12 12:54:58 +10:00
Michael Moon c46db07f26 separate ringbuffers no longer necessary as pointed out by jakepoz 2010-09-12 12:33:12 +10:00
Markus Hitter 8b5e21be51 Make XON/XOFF flow control actually work. Still disabled by default. 2010-09-08 19:17:50 +02:00
Markus Hitter b2e1cfd8b5 Make XON/XOFF flow control compile. 2010-09-08 19:16:18 +02:00
Michael Moon 0b51c1d0ab Merge branch 'mendel-triffid'
Conflicts:
	dda.c
	gcode.c
	machine.h
	temp.c
2010-08-10 14:55:06 +10:00
Michael Moon 595b66a341 setting up new branch 2 2010-08-10 14:26:24 +10:00