Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Acceleration, G4 Interface Panel UI Improvements, BlinkM RGB Mood Light and Buzzer support #88

Open
wants to merge 63 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
b251e6d
Added Version menu item to the G4 Interface Panel to show the motherb…
jetty840 Dec 21, 2011
3e79289
Added CONT to SHORT/LONG in JogMode for the Gen 4 Interface whilst a …
jetty840 Dec 22, 2011
c5e0603
Adds Elapsed Time, % Complete and Estimated TimeLeft to builds from S…
jetty840 Dec 23, 2011
9da86f0
Improvements to TimeLeft estimation, by using floating point. This g…
jetty840 Dec 24, 2011
dea413c
Changes to commit 8ac6524 by revarbat. This commit is meant as a rep…
jetty840 Dec 24, 2011
2531e30
Changes to commit 881d776 by RonGarrison. This commit is meant as a …
jetty840 Dec 24, 2011
b79196b
Changed static PROGMEM to const static PROGMEM so firmware will compi…
jetty840 Dec 29, 2011
f788d79
Changes to commit 97db22a by RonGarrison (ESTOP support for Gen 4 Mot…
jetty840 Dec 30, 2011
aef0b13
Added BlinkM Mood Light Support for V2.4 Motherboard. This uses the …
jetty840 Jan 3, 2012
e9ea3e2
Added Home Axis Menu for X/Y/Z to Gen 4 Interface
jetty840 Jan 4, 2012
47ebca6
Bug Fix: Steppers no long hold when exiting the Jog Menu and Extrude …
jetty840 Jan 4, 2012
6d966ec
Added Steppers Menu item in G4 Interface for enabling / disabling ste…
jetty840 Jan 4, 2012
2a3d97e
Added Test End Stops menu item to G4 Interface. Used for verifying e…
jetty840 Jan 4, 2012
8606f47
Adding Page Up / Page Down support with the Z+ / Z- keys. This chang…
jetty840 Jan 4, 2012
ce3c870
Added scrolling for long file names (<=31) chars to the build menu.
jetty840 Jan 4, 2012
98eb106
Bug Fix: Fixed bug causing Volumes Name to be occasionally displayed …
jetty840 Jan 4, 2012
a4dd32d
Deleting .UART.cc.swp. Looks like an old vi tmp file left around by …
jetty840 Jan 6, 2012
2574d0e
Fixed timing of mood light state recognition when in Bot Status mode.
jetty840 Jan 6, 2012
abb44e7
Added Z Position (in mm) to build menu. Hitting the OK Button now st…
jetty840 Jan 6, 2012
7a65b65
Added "Pause Build" to Build From SD. When paused, Z moves up 2mm (t…
jetty840 Jan 7, 2012
4c08c0d
Added a "view" mode to the Jog Menu. You can choose if you the X-/X+…
jetty840 Jan 10, 2012
2abd144
Fixed bug causing print build to start before HBP reached temperature.
jetty840 Jan 11, 2012
e70a36f
Added "Pause at ZPos" to the cancel menu when building from SD Card. …
jetty840 Jan 12, 2012
e789b6a
Made the cancel menu more user friendly when building from SD Card.
jetty840 Jan 14, 2012
e56df8e
Added "Advance ABP" menu item
jetty840 Jan 14, 2012
58ac210
Added Calibration Menu and Home Offset Menu (measured in steps)
jetty840 Jan 14, 2012
60f102f
Workaround for hardware bug when USB is connected and power is turned…
jetty840 Jan 16, 2012
5fa302d
Fixed ifdef on patch commit 60f102f
jetty840 Jan 18, 2012
0431835
Implements Buzzer functionality on V2.4 Motherboard. Buzzer required…
jetty840 Jan 18, 2012
dc7fd68
Added Extruder Fan menu item to switch the Extruder Fan On / Off.
jetty840 Jan 19, 2012
5ef28af
Added filament retraction to Pause / Pause@ZPos to remove most of the…
jetty840 Jan 19, 2012
b99c444
Fixed packet timeout issue on build from computer
jetty840 Jan 19, 2012
cd608dd
Added Axis Steps:mm menu to support steps:mm mapping for machines oth…
jetty840 Jan 21, 2012
293b234
Implemented an Estimator to estimate the build time accurately when B…
jetty840 Jan 21, 2012
4e297c5
Added "Filament Used" menu to indicate the lifetime amount of filamen…
jetty840 Jan 22, 2012
b131898
Added ABP Printing Multiple Copies. This is accessible via the new "…
jetty840 Jan 23, 2012
df49082
Added "Override GCode Build Temperature" and "Preheat During Estimate…
jetty840 Jan 23, 2012
29b90ab
Z+ button now advances the Build Phase Scroller
jetty840 Jan 24, 2012
c45db41
Added "Trip Odometer" to "Filament Used" menu
jetty840 Jan 24, 2012
e7446f5
Fixed bug with ATX Power Good Reset that caused previous build name t…
jetty840 Jan 25, 2012
712c835
Added 4 profiles which can save X/Y/Z Home Offsets and Platform / Ext…
jetty840 Jan 25, 2012
af813b6
Corrected labels in HomeOffsets from steps to mm to reflect recent ch…
jetty840 Jan 25, 2012
53633df
Fixed mispelt word
jetty840 Jan 25, 2012
2b890bf
Improved checking for invalid / corrupt profile names
jetty840 Jan 26, 2012
4f4adb1
Changed UI for Mood Light to use Y+/Y-/Z+/Z- to be more consistant wi…
jetty840 Jan 31, 2012
f7afa7d
Added "Position" menu to show current X/Y/Z/A position
jetty840 Jan 31, 2012
25be6ed
Added warning screen when user selected a file from SD card that is >…
jetty840 Jan 31, 2012
2103236
Added Marlin Acceleration. 100mm/s (and fatser) is achievable on a ToM.
jetty840 Feb 18, 2012
99c7ce4
Added Marlin Acceleration. 100mm/s (and faster) is achievable on a ToM.
jetty840 Feb 18, 2012
246dcd1
Merge branch 'master' of github.com:jetty840/G3Firmware
jetty840 Feb 18, 2012
e0cb0c8
Merging G3Firmware34 into G3Firmware repository. Updating for recent…
jetty840 Sep 15, 2012
18ebd20
Updating copyright / attribution.
jetty840 Sep 15, 2012
c9dc34c
Adding docs/avr-gcc.markdown
jetty840 Sep 15, 2012
f8b0e40
Add python code to s3g.py to support new accelerated move s3g command
jetty840 Sep 17, 2012
280e723
Updating build file to produce warnings, link in -lm to save space an…
jetty840 Sep 24, 2012
0b2e28e
Minor change to simulator reporting code
jetty840 Sep 24, 2012
73fa6e8
Bump version number to 3.5
dcnewman Sep 26, 2012
1a78feb
Bumping version to 3.5
jetty840 Sep 28, 2012
1132500
ifdef'ing some things away when building simulator
jetty840 Sep 28, 2012
3c358c9
Uping eeprom default Max FeedRates for X/Y Axis from 100 to 160
jetty840 Sep 28, 2012
64e9eff
Merge branch 'master' of https://github.com/jetty840/G3Firmware
jetty840 Sep 28, 2012
49c6eab
Defaulting cupcake ZHold to off
jetty840 Oct 12, 2012
c30a75f
Minor change to make extruder firmware compile: needed a call argumen…
jetty840 Nov 25, 2012
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -4,3 +4,5 @@
build
html
*.o
*.svn
*.DS_store
48 changes: 48 additions & 0 deletions README.TXT
Expand Up @@ -15,3 +15,51 @@ This project contains the following subdirectories:
damage during bootloader startup.
* dist - this directory contains tools and scripts for quickly installing
bootloaders and board images on Piles O' Boards.

-----

This software incorporates code related to acceleration from Marlin: https://github.com/ErikZalm/Marlin

-----

This software is covered by GNU General Public License v3 and according
to section 7.), subsection b), additional permissions for author
attribution are required on any work that incorporates, is derived
or inspired from the following components:

a) JKN Advance
b) YAJ (Yet Another Jerk)
c) Altshell ReplicatorG plugin
d) Pause @ ZPos
e) Advance Pressure Relax


Author attribution is required as follows:

1. If the device this software is executed on has an LCD or
display screen attached, credit/attribution must be provided
on this screen with at least 1 second duration when and each
time the device is powered on.

2. If the device does not have a display screen attached and the
software is distributed in binary form, then credit/attribution
is required to be displayed to the user prior to installation of
the binary software.

3. If the software is being supplied in source code form, then any
existing credit/attributions must be retained.

4. If the software is being supplied in source code form, but it is
derived or inspired from this source code, then Credit/Attribution
below must be provided in the source code near the top of the source
file.

5. The additional permissions listed here are required to be included
in their entirety with any license file of any derivative works that
use the above features.

Credit/Attribution:

This software uses the following components from Jetty Firmware:
(LIST OF COMPONENTS GOES HERE)
authored by Dan Newman and Jetty.
130 changes: 130 additions & 0 deletions dist/bin2hex.py
@@ -0,0 +1,130 @@
#!/usr/bin/python

'''
Quick and dirty Python script to convert a eeprom_dump.bin file
to Intel hex format. It assumes that the starting offset in EEPROM
is 0 but you can alter that with a command line switch.

Dan Newman ( dan . newman @ mtbaldy . us )
27 July 2012
'''

import struct
import sys
import getopt

DEF_INFILE = 'eeprom_dump.bin'
DEF_OUTFILE = 'eeprom_dump.hex'
DEF_ADDRESS = int( 0 )

def usage( prog, exit_stat=0 ):
str = \
'Usage: %s [-h] [-s starting-address] [-o outfile] [infile]\n' % prog
str += \
' The input file, infile, defaults to %s\n' % DEF_INFILE
str += \
' -h, --help\n' + \
' This usage information\n' + \
' -o outfile, --output=outfile\n' + \
' Specify the output file name. The name defaults to %s\n' % DEF_OUTFILE
str += \
' -s address, --start=address\n' + \
' The starting address (offset) for the data. The default is %d\n' % DEF_ADDRESS
if exit_stat:
sys.stderr.write( str )
else:
sys.stdout.write( str )
sys.exit( exit_stat )

# Process the command line switches

infile = DEF_INFILE
outfile = DEF_OUTFILE
address = DEF_ADDRESS

try:
opts, args = getopt.getopt( sys.argv[1:], 'ho:s:',
[ 'help', 'output=', 'start=' ] )

except:
usage( sys.argv[0], 1 )

for opt, val in opts:
if opt in ( '-h', '--help' ):
usage( sys.argv[0], 0 )
elif opt in ( '-o', '--output' ):
outfile = val
elif opt in ( '-s', '--start' ):
address = int( val, 0 )

# Process the command line arguments: there can only be zero or one

if len( args ) == 1:
infile = args[0]
elif len( args ) > 1:
usage( sys.argv[0], 1 )

fin = open( infile, 'rb' )
if fin < 0:
sys.stderr.write( 'Unable to open the file "%s"\n' % infile )
sys.exit( 1 )

# Read the entire input file

bytes = fin.read()
fin.close()

# Create the output file

fout = open( outfile, 'w' )
if fout < 0:
sys.stderr.write( 'Unable to create the file "%s"\n' % outfile )
sys.exit( 1 )

# Now loop over the input data, generating an Intel hex file
# We'll process the input data in blocks of 32 bytes

# Index into the list of bytes read from the input file
index = 0

# While loop counter
length = len( bytes )

while length > 0:

# Convert the starting address to big endian
l = struct.pack( '>H', address )

# Number of bytes for this line of output
nbytes = 32
if nbytes > length:
nbytes = length

# Generate the initial part of the output file's line
# ':' -- start code
# %0.2x -- data length
# %0.2x%0.2x -- starting address as a big-endian, unsigned short
# '00' -- record type

line = ':%02x%02x%02x00' % ( nbytes, ord( l[0] ), ord( l[1] ) )

sum = nbytes + ord( l[0] ) + ord( l[1] )

for i in range( 0, nbytes ):
sum += ord( bytes[index + i] )
line += '%02x' % ord( bytes[index + i] )

'''
Checksum is the 2's complement of the least significant byte of the
sum of the fields. Need to do a final & with 0xff to suppress overflow
'''
cksum = ( 0x100 - ( 0xff & sum ) ) & 0xff
line += '%02x\n' % cksum
fout.write( line.upper() )

index += nbytes
address += nbytes
length -= nbytes

fout.write( ':00000001FF\n' )
fout.close()
35 changes: 0 additions & 35 deletions dist/tools-mac/libusb.la

This file was deleted.

35 changes: 0 additions & 35 deletions dist/tools-mac/libusbpp.la

This file was deleted.

50 changes: 50 additions & 0 deletions docs/avr-gcc.markdown
@@ -0,0 +1,50 @@
This firmware **REQUIRES** avr-gcc 4.6.2 or later. It will **NOT** function correctly when built with avr-gcc 4.5.x. While it is possible to compile it with 4.5.x, it will not function correctly.

For directions on obtaining and building avr-gcc, please see [http://www.nongnu.org/avr-libc/user-manual/install_tools.html](). The following shell script illustrates how to build the tool chain.

#!/bin/sh

# Obtaining and building avr-gcc 4.6.3
#
# For complete directions, see
#
#

PREFIX=$HOME/local/avr
PATH=$PATH:$PREFIX/bin

DIR=`pwd`

curl -O http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
bunzip2 -c binutils-2.22.tar.bz2 | tar xf -
cd binutils-2.22
mkdir obj-avr
cd obj-avr
../configure --prefix=$PREFIX --target=avr --disable-nls
make
make install

cd $DIR

curl -O http://mirrors-us.seosue.com/gcc/releases/gcc-4.6.3/gcc-core-4.6.3.tar.bz2
curl -O http://mirrors-us.seosue.com/gcc/releases/gcc-4.6.3/gcc-g++-4.6.3.tar.bz2
bunzip2 -c gcc-core-4.6.3.tar.bz2 | tar xf -
bunzip2 -c gcc-g++-4.6.3.tar.bz2 | tar xf -
cd gcc-4.6.3
mkdir obj-avr
cd obj-avr
../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ \
--disable-nls --disable-libssp --with-dwarf2
make
make install

cd $DIR

curl -O http://savannah.spinellicreations.com/avr-libc/avr-libc-1.8.0.tar.bz2
bunzip2 -c avr-libc-1.8.0.tar.bz2 | tar xf -
cd avr-libc-1.8.0
./configure --prefix=$PREFIX --build=`./config.guess` --host=avr
make
make install

cd $DIR