Skip to content

Commit

Permalink
Merge pull request #10 from tgolla/TouchscreenV2
Browse files Browse the repository at this point in the history
Touchscreen v2 Pre-release 1.9.5
  • Loading branch information
tgolla authored Apr 5, 2023
2 parents 172a078 + e383a98 commit 7e1f42a
Show file tree
Hide file tree
Showing 93 changed files with 407,463 additions and 35,716 deletions.
2 changes: 1 addition & 1 deletion .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
"cppStandard": "c++11",
"defines": [
"F_CPU=16000000L",
"ARDUINO=10819",
"ARDUINO=10607",
"ARDUINO_AVR_MEGA2560",
"ARDUINO_ARCH_AVR",
"__DBL_MIN_EXP__=(-125)",
Expand Down
8 changes: 4 additions & 4 deletions Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@
#ifndef Configuration_h
#define Configuration_h

// The base memory location in EEPROM where configurayion settings are saved.
#define SAVED_EEPROM_BASE_MEMORY_LOCATION 10

// Set to true if you are using an Adafruit 2.8" TFT Touch Shield for
// Arduino w/Capacitive Touch with an Arduino Mega 2560 Note: A Mega
// 2560 is required due to the memory requirements. You will also
// need to cut the traces between 11-13 and solder bridge the ICSP
// pins for the board to work with the Mega 2560 board.
// REf: https://learn.adafruit.com/adafruit-2-8-tft-touch-shield-v2/connecting#using-with-a-mega-slash-leonardo

// The base memory location in EEPROM where configurayion settings are saved.
#define SAVED_EEPROM_BASE_MEMORY_LOCATION 10

#define ADAFRUIT_TFT_TOUCH_SHIELD true

// Adafruit 2.8" TFT Touch Shield for Arduino w/Capacitive Touch
Expand Down Expand Up @@ -80,6 +79,7 @@

#define PEN_AXIS_PORT 1
#define ROTATION_AXIS_PORT 2
#define COORDINATE_ROTATION 0

#define SERVO_PIN 6
#define REVERSE_SERVO true
Expand Down
143 changes: 134 additions & 9 deletions Documentation/Assembly.md

Large diffs are not rendered by default.

Binary file added Documentation/Assembly.pdf
Binary file not shown.
3 changes: 3 additions & 0 deletions Documentation/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,9 @@ The ```PEN_AXIS_PORT``` directive sets the pen arm stepper motor port. Port 1 is
## ROTATION_AXIS_PORT 2
The ```ROTATION_AXIS_PORT``` directive sets the rotation stepper motor port. Port 1 is the M1 & M2 terminals. Port 2 is the M3 & M4 terminals. The default setting is 2. Note: M1 and M3 should have the same colored pairs of wires, as should M2 and M4.

## #define COORDINATE_ROTATION 0
The ```COORDINATE_ROTATION``` directive sets the rotation angle of the XY coordinates. Coordinate rotation is only implemented for 180 degrees on the x and y axis arount 0,0. The default setting is 0, no rotation.

## SERVO_PIN
The ```SERVO_PIN``` directive sets the servo pin. The default setting is 6 when using the TFT touch shield and can be either 9 or 10 in the original configuration. If you are adding the Adafruit 2.8" TFT Touch Shield for Arduino w/Capacitive Touch board you will need to solder a 3-pin right-angle male header to the break out area of the motor shield facing the edge with pin 1 wired to ground, pin 2 wired to +5V and pin 3 wired to digital pin 6 of the Arduino.

Expand Down
Binary file added Documentation/Configuration.pdf
Binary file not shown.
Binary file added Documentation/Electronics.pdf
Binary file not shown.
15 changes: 15 additions & 0 deletions Documentation/G-Code.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ The jinschoi/SphereBot fork (https://github.com/jinschoi/SphereBot) of the Spher
## tgolla/SphereBot Fork
The tgolla/SphereBot fork (https://github.com/tgolla/SphereBot) adds the following custom (proprietary) commands to address pen positioning and deal with the challenges with that sharing G-Code files which is almost impossible without some kind of modification.

G68 - Coordinate rotation.
G69 - Cancel coordinate rotation.
M17 - Enable the stepper motors.
M304 - Sets the pen down position needed for new MZ mode.
M305 - Sets the G-Code responsible for operating the pen servo.
Expand All @@ -43,6 +45,12 @@ The tgolla/SphereBot fork (https://github.com/tgolla/SphereBot) adds the followi
M312 - Sets the pen up feedrate multiplier. One means the pen will go up at the
same speed (degrees/second) as it goes down. Each increase by one will
logarithmically double the pen up speed.
M990 - Sets the g-code output device.
P0 - Neither, P1 - Serial Only, P2 - Display Only, P3 - Both
This command is only relavant for with the touchscreen/SD configuration.
M991 - Disable/Enable percentage completed and time remaining calculation.
P0 - Disabled, P1 - Enabled
This command is only relavant for with the touchscreen/SD configuration.
M999 - Display Mxxx command values. Note: To add define the M999 directive
true in configuration.h. This directive was add as a safety measure for
development as the code is memory intensive with respect to both sketch
Expand All @@ -51,6 +59,12 @@ The tgolla/SphereBot fork (https://github.com/tgolla/SphereBot) adds the followi

As stated, these commands have been added to eliminate the need to modify G-Code files for a specific SphereBot by allowing you to preconfigure the software such that it can automatically adjust the pen up/down movement defined in the G-Code file.

### G68
The G68 command enables coordinate rotation for the X and Y axis. The command is only implemented for XY coordinates 0,0 with 180-degrees rotation. This is the equivalent of flipping the egg end-to-end. The command was implemented as many feel the flatter side of the egg is best placed towards the stepper motor for better traction which is the case with all the designs printed/photo’d in this project.

### G69
The G69 command cancels coordinate rotation (G68).

### M17
The M17 command enables all stepper motors and complments the M18 command which was implemented in the orginal software. The M17 and M18 commands can allow you to release, center and then lock the pen in the center of the x-axis.

Expand Down Expand Up @@ -103,6 +117,7 @@ The M311 command allows you to override the pen movement feed rates set in your

### M312
The M312 command sets the pen up federate multiplier. This command allows the SphereBot to move off the object at a faster rate. One means the pen will go up at the same speed (degrees/second) as it goes down. Each increase by one will logarithmically double the pen up speed.

### M990
Sets the g-code output device print device. When set to Neither (P0) output of the g-code is disable, except in classic mode which always outputs g-code to the serial port. When set to Serial Only (P1) g-code is output to just the serial port. This can be useful when debugging with a nominal increase in processor utilization. When set to Display Only (P2) g-code is output to just the display. This will results in a high processor utilization such that printing time increases 5 fold. When set to Both (P3) g-code is output to both the serial port and the display. This setting also increases printing time 5 fold. This directive is only relavant for with the touchscreen/SD configuration running in SD mode.

Expand Down
Binary file added Documentation/G-Code.pdf
Binary file not shown.
Binary file added Documentation/Inkscape.pdf
Binary file not shown.
Binary file added Documentation/images/assembly/assembly10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/images/assembly/assembly17.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/images/assembly/assembly2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/images/assembly/assembly24.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/images/assembly/assembly5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions SD/gcode/AbstractVine-SnoBahr.ngc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
;It's a two line design, based on quilting pantographs.
;
;Generated by gcodetools from Inkscape.
M3
G21 (All units in mm)

(Start cutting path id: path2988-4)
Expand Down
1 change: 1 addition & 0 deletions SD/gcode/BeeVine-A.ngc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
;Taken from a quilting pantograph (for robo-quilting).
;
;Generated by gcodetools from Inkscape.
M3
G21 (All units in mm)

(Start cutting path id: path3789)
Expand Down
1 change: 1 addition & 0 deletions SD/gcode/BeeVine-A2Color.ngc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
;Taken from a quilting pantograph (for robo-quilting).
;
;Generated by gcodetools from Inkscape.
M3
G21 (All units in mm)

M01 ;Start with 1st Pen Color
Expand Down
Loading

0 comments on commit 7e1f42a

Please sign in to comment.