Skip to content

Commit

Permalink
Merge pull request #305 from synthetos/dev-304-uvw-9axis
Browse files Browse the repository at this point in the history
issue #304 uvw 9axis and expanded feedhold controls

The addition of UVW adds three more linear axes, allowing up to 6 linear axes in a configuration. This simplifies using an axis as an extruder filament feed motor or similar function. (Recommend using W, as it's a secondary Z).

This release treats the secondary axes as independent axes; there is no linkage between corresponding axes - i.e. movement in U does not affect position of X, nor Z affect W.

Please treat this release as experimental and report issues or feature enhancements.
  • Loading branch information
aldenhart committed Apr 17, 2018
2 parents cb7bf17 + 2ec0edf commit 687a3d3
Show file tree
Hide file tree
Showing 139 changed files with 10,433 additions and 8,504 deletions.
115 changes: 58 additions & 57 deletions .gitignore 100755 → 100644
@@ -1,57 +1,58 @@
# From https://github.com/github/gitignore/blob/master/Objective-C.gitignore
DerivedData

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint

*.o
*.d
*.bin
*.elf
*.hex
*.eep
*.lss
*.map
*.srec
*.aws
*.atsuo
*.cproj
*.log
.project
.cproject
*.launch
.settings
\bin
\build
build/
bin/
.DS_Store
TcfTransactionLog.csv
*.xcbkptlist
*.xccheckout
.gdb_history
JLink.log
Tools/gcc-arm-none-eabi*
openocd.cfg
openocd.log
*/mb.txt
Tools/gcc-arm-none-eabi-*.tar.bz2
*/TinyG2.componentinfo.xml
g2core/g2core.componentinfo.xml
.tags

g2core/compile_commands.json
# From https://github.com/github/gitignore/blob/master/Objective-C.gitignore
DerivedData

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint

*.o
*.d
*.bin
*.elf
*.hex
*.eep
*.log
*.lss
*.map
*.srec
*.aws
*.atsuo
*.cproj
*.log
.project
.cproject
*.launch
.settings
\bin
\build
build/
bin/
.DS_Store
TcfTransactionLog.csv
*.xcbkptlist
*.xccheckout
.gdb_history
JLink.log
Tools/gcc-arm-none-eabi*
openocd.cfg
openocd.log
*/mb.txt
Tools/gcc-arm-none-eabi-*.tar.bz2
*/TinyG2.componentinfo.xml
g2core/g2core.componentinfo.xml
.tags

g2core/compile_commands.json
18 changes: 17 additions & 1 deletion README.md
Expand Up @@ -8,6 +8,22 @@ G2 [Edge](https://github.com/synthetos/g2/tree/edge) is the branch for beta test

That said, Edge is for the adventurous. It is not guaranteed to be stable, but we do our best to achieve this. For production uses we recommend using the [Master branch](https://github.com/synthetos/g2/tree/master).

## Firmware Build 101 `{fb:101.xx}`
### Feature Enhancements
New features added. See linked issues and pull requests for details
- Added [UVW axes](https://github.com/synthetos/g2/wiki/9-Axis-UVW-Operation) for 9 axis control. [See also: Issue 304](https://github.com/synthetos/g2/issues/304)
- Added [Enhanced Feedhold Functions](https://github.com/synthetos/g2/wiki/Feedhold,-Resume,-and-Other-Simple-Commands)
- Added explicit [Job Kill ^d](https://github.com/synthetos/g2/wiki/Feedhold,-Resume,-and-Other-Simple-Commands#job-kill) - has the effect of an M30 (program end)
- Documented [Communications Startup Tests](https://github.com/synthetos/g2/wiki/g2core-Communications#enqack---checking-for-clean-startup)

### Internal Changes and Bug Fixes
Many things have changed in the internals for this very large pull request. The following list highlights some of these changes but is not meant to be comprehensive.
- Added explicit typing and type testing to JSON variables.
- As part of the above, 32bit integers are not float casts, and therefore retain full accuracy. Line numbers may now reliably go to 2,000,000,000
- Movement towards getters and setters as initial stage of refactoring the Big Table :)
- Bugfix: Fixed root finding problem in feedhold exit velocity calculation
- Bugfix: fixed bug in B and C axis assignment in coordinate rotation code


## Firmware Build 100 `{fb:100.xx}`
### Feature Enhancements
Expand All @@ -16,7 +32,7 @@ The fb:100 release is a major change from the fb:089 and earlier branches. It re
- 3d printing support, including [Marlin Compatibility](https://github.com/synthetos/g2/wiki/Marlin-Compatibility)
- GPIO system enhancements
- Planner enhancements and other operating improvements for high-speed operation
- Intital support for new processors, including the ARM M7
- Initial support for new processors, including the ARM M7

### Project Changes
The project is now called g2core (even if the repo remains g2). As of this release the g2core code base is split from the TinyG code base. TinyG will continue to be supported for the Xmega 8-bit platform, and new features will be added, specifically as related to continued support for CNC milling applications. The g2core project will focus on various ARM platforms, as it currently does, and add functions that are not possible in the 8-bit platform.
Expand Down
Binary file added Resources/Documentation/SystemStates.graffle
Binary file not shown.
4 changes: 4 additions & 0 deletions g2core.atsln
Expand Up @@ -18,6 +18,7 @@ Global
sbv300|ARM = sbv300|ARM
Shapeoko2|ARM = Shapeoko2|ARM
shopbotShield|ARM = shopbotShield|ARM
ShopbotTestV9|ARM = ShopbotTestV9|ARM
Stub|ARM = Stub|ARM
TestQuadratic|ARM = TestQuadratic|ARM
TestQuintic|ARM = TestQuintic|ARM
Expand Down Expand Up @@ -46,6 +47,8 @@ Global
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.Shapeoko2|ARM.Build.0 = Shapeoko2|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.shopbotShield|ARM.ActiveCfg = shopbotShield|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.shopbotShield|ARM.Build.0 = shopbotShield|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.ShopbotTestV9|ARM.ActiveCfg = G2v9k|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.ShopbotTestV9|ARM.Build.0 = G2v9k|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.Stub|ARM.ActiveCfg = Shapeoko2|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestQuadratic|ARM.ActiveCfg = TestQuadratic|ARM
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestQuadratic|ARM.Build.0 = TestQuadratic|ARM
Expand All @@ -67,6 +70,7 @@ Global
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.sbv300|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.Shapeoko2|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.shopbotShield|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.ShopbotTestV9|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.Stub|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.TestQuadratic|ARM.ActiveCfg = Stub|ARM
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.TestQuintic|ARM.ActiveCfg = Stub|ARM
Expand Down
7 changes: 5 additions & 2 deletions g2core/Makefile 100755 → 100644
@@ -1,8 +1,8 @@
#
# Makefile
#
# Copyright (c) 2012 - 2016 Robert Giseburt
# Copyright (c) 2013 - 2016 Alden S. Hart Jr.
# Copyright (c) 2012 - 2018 Robert Giseburt
# Copyright (c) 2013 - 2018 Alden S. Hart Jr.
#
# This file is part of the g2core project.
#
Expand Down Expand Up @@ -64,5 +64,8 @@ endif
ifeq ($(DEBUG),3)
DEVICE_DEFINES += DEBUG=1 IN_DEBUGGER=1 DEBUG_SEMIHOSTING=1
endif
#ifeq ($(DEBUG),3)
# DEVICE_DEFINES += DEBUG=1 IN_DEBUGGER=1 DEBUG_SEMIHOSTING=1
#endif

# *** EOF ***

0 comments on commit 687a3d3

Please sign in to comment.