50 Commits (ad915b667e0b6d7419527a7d13adf96d1b095d34)

Author SHA1 Message Date
Scott Lahteine de4e19f17e Patch MarlinSerial to match up with 32-bit version 8 years ago
Scott Lahteine eaa66f3c46 Indent MarlinSerial code 8 years ago
Scott Lahteine cd882b88db #if defined => #ifdef / PIN_EXISTS 8 years ago
Scott Lahteine 50ee749082 Centralize click-handling in the LCD loop 8 years ago
Scott Lahteine c5fa70809b Implement M0/M1 for EMERGENCY_PARSER 8 years ago
AnHardt 7e36b76af2 Repair MarlinSerial with TX-buffer
These '{' are important to avoid the redefinition of `unsigned char _sreg = SREG;`
at the same level.
Used in
```
#define CRITICAL_SECTION_START  unsigned char _sreg = SREG; cli();
```
8 years ago
Scott Lahteine 14395a1a96 Optimize, reduce size of MarlinSerial 8 years ago
Scott Lahteine 1a558ef486 Tweak MarlinSerial precursor 8 years ago
Scott Lahteine b73203a0b7 Move some includes around to uncover missing deps 9 years ago
Scott Lahteine 83d341c394 Make Conditionals.h a catch-all for old configs 9 years ago
João Brázio 3ebad4e020 Moves all global enums to a central file 9 years ago
esenapaj 58177a1602 Suppress warnings 9 years ago
Scott Lahteine 51c9c3fe2c Indentation in MarlinSerial.cpp 9 years ago
AnHardt 4b44a23a36 Add TX-buffer for MarlinSerial
Similar to the current Arduino HardwareSerial
but with max. 256 byte buffer-size.

Deactivated by default.

The boards with AT90USB processor (USBCON) already use a TX-buffer.
9 years ago
Scott Lahteine bd5a825b8b Wait for end of line before invoking action 9 years ago
Scott Lahteine ea47803ae2 Simplify emergency parser (only parse initial command) 9 years ago
Scott Lahteine 834ad14c8d Add quickstop_stepper to update current position with stepper.quick_stop() 9 years ago
AnHardt a129078927 Add an emergency-command parser to MarlinSerial (supporting M108)
Add an emergency-command parser to MarlinSerial's RX interrupt.

The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.

To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.

This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".

The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.

One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"

Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.

Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
9 years ago
Scott Lahteine 0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on #3231
9 years ago
jbrazio 5e5d250832 Added gplv3 header to all Marlin files 9 years ago
Lukas Abfalterer 83795d3e63 deleted double used comments 9 years ago
Scott Lahteine e4945b30d2 sbi and cbi are deprecated 9 years ago
Scott Lahteine ff13070b59 Use _BV macros, patch up others 9 years ago
AnHardt cb88fdd242 Protect MarlinSerial against interrupts
Protect MarlinSerial against interrupts
by shielding the CRITICAL_SECTIONs

Now with a test if RX_BUFFER_SIZE is in the required range.
Code in peek() and read() is now optimized for readability and showing the similarity between the two.

Maybe a bit overprotected in checkRx() and store_char(), but now some days without detected errors from this source.
9 years ago
AnHardt dc0f41868e Make rx tail/head atomic 9 years ago
Scott Lahteine 9bdab4f3a8 Clean up "else" and other spacing 9 years ago
Scott Lahteine 0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
9 years ago
Richard Wackerbarth 4b9d5cd352 Use lowercase names for serial instances 10 years ago
Scott Lahteine 1e2deff4fd Rename BTENABLED to BLUETOOTH
- For some reason it’s easy to forget what BT stands for, but it
doesn’t need an abbreviation.
10 years ago
Scott Lahteine 58cfcd4239 Overridable Options - Part 5
Apply `ENABLED` / `DISABLED` macros to files needing only a small
number of changes.
10 years ago
Richard Wackerbarth e83575537a Compiler defines USBCON for USB devices (PR#2433) 10 years ago
Scott Lahteine c065da52ec Spacing and spelling 10 years ago
Scott Lahteine 1e5c18bb14 Add code_value_short and SERIAL_CHAR 10 years ago
Scott Lahteine c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
10 years ago
Scott Lahteine fd78902194 Formatting cleanup of quiet sources 10 years ago
Scott Lahteine f989bd5435 Simple code cleanup. Rename "homeing" to homing. 10 years ago
Cylindric 8f0cee2a14 Various typo fixes - only in comments, no code changes. 11 years ago
fmalpartida b5a964fcc5 Initial SAV MkI (RepRap CloneWars board) integration.
Included support for BT dongle on AT90USB boards.
Added LCD Shift Register LCD control
Included support for RepRap Clone Wars project board (SAV MKI).
11 years ago
Johann Rocholl 6cba11f087 Stop redefining MOTHERBOARD and #define AT90USB instead. Also put #ifndef AT90USB around the HardwareSerial_h trick, so now Printrboard / Brainwave support compiles on Arduino 1.0.2 as well. 12 years ago
Robert F-C ab9d183024 Make serial port configurable.
This change makes the choice of serial port configurable so that
wireless capability can be easily added by connecting Bluetooth modules
(such as BlueSmirf or JY-MCU) to the expansion port pins.
12 years ago
Erik van der Zalm 9173a5713b Teensylu support. 13 years ago
Bernhard 57f9359a41 simplified the includes, makefile now works with arduino23 13 years ago
Bernhard 7714b98da7 solved some compiler warnings that are now visible in arduino 1.0.
Found a couple of unused variables, that I commented.
Tried to solve the program memory warning message, and failed.
13 years ago
Bernhard 0bc9daa4f7 make it compile with arduino 1.0 ; function is still untested. 13 years ago
Bernhard d00b7e5587 repaired compiliation in windows 13 years ago
Bernhard b19c8b74b9 force inline 13 years ago
Bernhard 85da81e673 inlineing of small functions in serial 13 years ago
Bernhard b9ad0bb2ce removed unecessary indirect register adressing in serial. 13 years ago
Bernhard dd5ca68c87 get rid of indirect ringbuffer calls, made some inlines, removed virtual and streaming class requirements. 13 years ago
Erik van der Zalm f75f426dfa Removed interrupt nesting in the stepper ISR.
Add serial checkRx in stepper ISR.
Copied HardwareSerial to MarlinSerial (Needed for checkRx).
13 years ago