Commit Graph

351 Commits

Author SHA1 Message Date
Rob Brown
3e92fef3b4 Update Pin Change Interrupts so it works
PCIE1 - Interrupt 8 on the Mega is attached to USART0 RX so when any
serial communication was transmitted it was triggering the Reset
Interrupt
2013-10-17 17:05:08 +08:00
Sonny Jeon
471a45a1b9 Merge pull request #263 from 0xPIT/master
remove mcu argument for avr-size in makefile as it is not present in GNU...
2013-08-25 11:08:08 -07:00
0xPIT
24280f95a5 remove mcu argument for avr-size in makefile as it is not present in GNU Binutils 2.22 2013-08-25 14:54:10 +02:00
Sonny Jeon
0894183991 Pin map definition cleanup. 2013-08-20 20:05:16 -06:00
Sonny Jeon
e24e67ffe2 Processor-independent pin mapping feature.
- Cleaned up and organized pin mapping concept by @elmom.

- pin_map.h allows for user-supplied pin mapping and port vector
definitions in a centralized file. With more processor types, more
definitions could be added.
2013-08-19 15:07:47 -06:00
Sonny Jeon
b2a69c02cf Merge pull request #260 from elmom/master
Thanks for the contribution! Looks good. Will update some of the semantics shortly, but the idea is solid.
2013-08-19 08:27:01 -07:00
Sonny Jeon
b2b5352e82 Merge pull request #229 from 0xPIT/patch-1
fix command line parameter for avr-size
2013-08-19 08:18:43 -07:00
Elmo Mäntynen
72ef50b17d Refactor config.h to allow defaults for chips/boards with different pin mappings 2013-07-21 15:11:04 +03:00
Elmo Mäntynen
689bc6d471 Added pin mapping list to docs, useful for porting 2013-07-21 13:54:14 +03:00
Elmo Mäntynen
8c781e155c Make serial work with most chips by default 2013-07-21 12:45:45 +03:00
0xPIT
d39abee37d fix command line parameter for avr-size 2013-05-16 21:48:44 +02:00
Sonny Jeon
fc5c497256 Updated readme 2013-04-05 09:32:20 -06:00
Sonny Jeon
ca563cf423 Increased g-code parser line buffer. Added line overflow feedback.
- Increased g-code parser line buffer from 50 to 70 characters. Should
fix most all issues with long arc statements, provided that they are 8
digits(float) long only.

- Added a line buffer overflow feedback error to let the user know when
it encounters this problem. Resets the line whenever this occurs.
(Thanks @BHSPitMonkey!)
2013-04-05 09:29:10 -06:00
Sonny Jeon
33c6659523 Update README.md 2013-03-19 11:43:11 -06:00
Sonny Jeon
96f7d9b78e G-code updates for G10 L2 and L20
- Updated g-codes G10 L2 and G10 L20 to the new descriptions on
linuxcnc.org
2013-03-19 11:35:24 -06:00
Sonny Jeon
cdcb4263e8 Merge pull request #200 from Protoneer/master
Fixed small bug.
2013-03-12 17:09:54 -07:00
Bertus Kruger
8e01fed143 Update gcode.c
Removed the home_select variable.
2013-03-13 10:19:42 +13:00
Bertus Kruger
5ecc661ec8 Update eeprom.h
Fixed the function signature.
2013-03-13 09:44:22 +13:00
Bertus Kruger
7bb20a7505 Update eeprom.c
Changed back
2013-03-13 09:43:04 +13:00
Bertus Kruger
058cf3f13a Update gcode.c
home_select defined out of scope. Moved it outside the switch 
so the rest of the switch can see it properly.
2013-03-12 19:08:44 +13:00
Bertus Kruger
d376f03bd0 Update eeprom.c
Function eeprom_put_char's parameters did not align with the .h file.
2013-03-12 19:01:17 +13:00
Sonny Jeon
b9bb0894b6 Merge pull request #169 from silasb/fix-execute-bit-on-files
Removing executable bit on the files
2013-01-18 18:15:37 -08:00
Silas Baronda
a5c2964a8f Removing executable bit on the files 2013-01-17 23:25:18 -05:00
Sonny Jeon
4f459e473b Fixed bug with homing and polling at the same time. Updated readme. 2013-01-06 12:32:41 -07:00
Sonny Jeon
e0f619b8c3 Readme link to edge build 2012-12-21 2012-12-21 09:55:43 -07:00
Sonny Jeon
c8b53b9d0a Slow trailing steps fix. Added more defaults.
- Fixed an issue (hopefully) with slow trailing steps after a
triangular velocity profile move. Sets the trapezoid tick cycle counter
to the correct value for an accurate reproduction of the deceleration
curve. Keeps it from arriving too early to the target position, which
causes the slow trailing steps.

- Added Zen Toolworks 7x7 to default settings.

- Updated readme with new edge build.
2012-12-16 17:06:38 -07:00
Sonny Jeon
e21d6a2fc4 Update README.md 2012-12-12 17:23:36 -07:00
Sonny Jeon
b4072a3a5e Changed README to markdown 2012-12-12 17:16:24 -07:00
Sonny Jeon
add7944811 Added download links to README. 2012-12-12 17:11:03 -07:00
Sonny Jeon
b297b8d788 Added builds folder.
Because the Downloads section has been removed, added a builds folder
for users to download pre-compiled firmware without needing to compile
it themselves.
2012-12-11 20:51:24 -07:00
Sonny Jeon
e4d8cf511e G28/G30 post move bug fix.
- Fixed a bug when after moving to a pre-defined position G28/G30, the
next move would go someplace unexpected. The g-code parser position
vector wasn't getting updated.
2012-11-25 11:08:38 -07:00
Sonny Jeon
ce45a348db Merge error fix. 2012-11-20 20:20:09 -07:00
Sonny Jeon
c712af23ab Merge v0.8 edge to master 2012-11-20 13:20:25 -07:00
Sonny Jeon
9e0ce55dbc Updated interface protocol. Fixed M2 bug.
- Updated interface protocol to play nicer with interface programs. All
Grbl responses beginning with '$' signifies a setting. Bracketed '[]'
responses are feedback messages containing either state, parameter, or
general messages. Chevron '<>' response are from the real-time status
messages, i.e. position.

- M2 Program end command was causing a system alarm. Fixed. Thanks
@blinkenlight !
2012-11-19 17:39:40 -07:00
Sonny Jeon
b3f5536530 Updated readme 2012-11-18 21:03:58 -07:00
Sonny Jeon
d85238cc9b Homing search sequence now compile-time option. New defaults.h file. Tidying up.
- The homing sequence is now a compile-time option, where a user can
choose which axes(s) move in sequence during the search phase. Up to 3
sequences. Works with the locating phase and the pull-off maneuver.

- New defaults.h file to store user generated default settings for
different machines. Mainly to be used as a central repo, but each set
may be select to be compiled in as a config.h define.
2012-11-18 19:52:16 -07:00
Sonny Jeon
5dd6d90122 Added Grbl state in status report. Removed switch support.
- Added Grbl state (Idle, Running, Queued, Hold, etc) to the real-time
status reporting feature as feedback to the user of what Grbl is doing.
Updated the help message to reflect this change.

- Removed switches (dry run, block delete, single block mode). To keep
Grbl simple and not muddled up from things that can easily be taken
care of by an external interface, these were removed.

- Check g-code mode was retained, but the command was moved to '$C'
from '$S0'.
2012-11-15 21:53:11 -07:00
Sonny Jeon
559feb97e2 Re-factored system states and alarm management. Serial baud support greater than 57600.
- Refactored system states to be more clear and concise. Alarm locks
processes when position is unknown to indicate to user something has
gone wrong.

- Changed mc_alarm to mc_reset, which now manages the system reset
function. Centralizes it.

- Renamed '$X' kill homing lock to kill alarm lock.

- Created an alarm error reporting method to clear up what is an alarm:
message vs a status error: message. For GUIs mainly. Alarm codes are
negative. Status codes are positive.

- Serial baud support upto 115200. Previous baudrate calc was unstable
for 57600 and above.

- Alarm state locks out all g-code blocks, including startup scripts,
but allows user to access settings and internal commands. For example,
to disable hard limits, if they are problematic.

- Hard limits do not respond in an alarm state.

- Fixed a problem with the hard limit interrupt during the homing
cycle. The interrupt register is still active during the homing cycle
and still signal the interrupt to trigger when re-enabled. Instead,
just disabled the register.

- Homing rate adjusted. All axes move at homing seek rate, regardless
of how many axes move at the same time. This is unlike how the stepper
module does it as a point to point rate.

- New config.h settings to disable the homing rate adjustment and the
force homing upon powerup.

- Reduced the number of startup lines back down to 2 from 3. This
discourages users from placing motion block in there, which can be very
dangerous.

- Startup blocks now run only after an alarm-free reset or after a
homing cycle. Does not run when $X kill is called. For satefy reasons
2012-11-14 17:36:29 -07:00
Sonny Jeon
e6ad15b548 Tweaks. Seek rate updates when set. CCW arc full circle fix.
- Fixed a minor issue where the seek rates would not immediately be
used and only would after a reset. Should update live now.

- A full circle IJ offset CCW arc would not do anything. Fixed bug via
a simple if-then statement.

- Radius mode tweaks to check for negative value in sqrt() rather than
isnan() it. Error report updated to indicate what actually happened.
2012-11-10 12:49:33 -07:00
Sonny Jeon
978de77c2f Added note that D13 can't be used as input, pulled-high. 2012-11-09 18:33:38 -07:00
Sonny Jeon
5844172af1 Fixed homing cycle hanging after locating switches. 2012-11-09 16:25:42 -07:00
Sonny Jeon
00fd09189d Housekeeping.
- Added some more notes to config.h.

- Added the ability to override some of the #defines around Grbl in
config.h, like planner buffer size, line buffer size, serial
send/receive buffers. Mainly to centralize the configurations to be
able to port to different microcontrollers later.
2012-11-08 19:23:47 -07:00
Sonny Jeon
baf137882b Sanguino compile patch
@daapp : Sanguino compile serial USART path. Thanks!
2012-11-08 17:24:56 -07:00
Sonny Jeon
5e7a4b3ba8 More tweaks. Removed dry run. Trimmed all messages to save flash space.
- Removed the dry run switch. It was getting overly complicated for
what it needed to do. In practice, single block mode and feed rate
overrides (coming in next release) does a much better job with dry runs
than 'dry run'.

- Trimmed all of Grbl's messages from help, status, feedback to
settings. Saved 0.6KB+ of flash space that could be used for v0.9
features.

- Removed some settings inits when set. Will depend on user to power
cycle to get some of these to reload.

- Fixed a bug with settings version not re-writing old settings, when
it should. Thanks Alden!
2012-11-07 20:53:03 -07:00
Sonny Jeon
e2e794af45 Merge pull request #132 from hin/header_dependencies
Header dependencies
2012-11-06 06:22:51 -08:00
Sonny Jeon
f41dd69273 Tweaks and bug fixes. Increase to 3 startup blocks. Remove purge/added unlock command
- Increased the number of startup blocks to 3 for no good reason other
than it doesn't increase the flash size.

- Removed the purge buffer command and replaced with an disable homing
lock command.

- Homing now blocks all g-code commands (not system commands) until the
homing cycle has been performed or the disable homing lock is sent.
Homing is required upon startup or if Grbl loses it position. This is
for safety reasons.

- Cleaned up some of the Grbl states and re-organized it to be little
more cohesive.

- Cleaned up the feedback and status messages to not use so much flash
space, as it's a premium now.

 - Check g-code and dry run switches how are mutually exclusive and
can't be enabled when the other is. And automatically resets Grbl when
disabled.

- Some bug fixes and other minor tweaks.
2012-11-05 21:40:52 -07:00
Hans Insulander
8a09e2c9c4 Ignore dependency files 2012-11-05 22:55:49 +01:00
Hans Insulander
b3b454ee77 Generate header dependencies and use them in Makefile 2012-11-05 22:54:53 +01:00
Sonny Jeon
c2b31a06ff Tweaked dry run and check g-code switches. Now resets when toggled off.
- To make managing the code easier and to help ensure a user starts
with a fresh reset, the functionality of check g-code and dry run has
been changed to automatically perform a soft reset when toggled off.
Position will not be lost, unless there is a cycle active. Feed hold
before toggling off it needed.

This is mainly a safety issue. If a user dry runs a program and kills
it mid-program, and then restarts it thinking to run it as normal, the
g-code modes that we're set may not be what they expect, and very bad
things can happen.

- NOTE: Grbl is at 83.5% of flash capacity. Not a lot of room left, but
I think we can squeeze in some more!
2012-11-05 13:32:29 -07:00
Sonny Jeon
9cabc915ef Runtime command pinned out! Re-organized coolant pins.
- Pinned out cycle start(A2), feed hold(A1), and reset(A0) runtime
commands. These pins are held high with the internal pull-up resistor
enabled. All you have to do is connect a normally-open switch to the
pin and ground. That's it.

- Moved the coolant control pins to A3 (and the optional mist control
to A4).

- Moved all of the MASK defines into the config.h file to centralize
them.
2012-11-04 10:48:57 -07:00