Macro language implemented

master
WHPThomas 2013-04-22 03:37:12 +10:00
parent 5a6c85f8a5
commit c891a9aed5
4 changed files with 559 additions and 156 deletions

651
gpx.c

File diff suppressed because it is too large Load Diff

34
gpx.h
View File

@ -29,7 +29,21 @@
#include <limits.h>
#define GPX_VERSION "0.5 (beta)"
#define GPX_VERSION "0.6 (beta)"
/* Nonzero to 'simulate' RPM using 5D, zero to disable */
#define ENABLE_RPM 1
/* Nonzero to enable G146 and G147, zero to disable */
#define EXPERIMENTAL_GCODE 1
#ifdef _WIN32
# define EOL "\r\n"
#else
# define EOL "\n"
#endif
// x3g axes bitfields
@ -149,7 +163,9 @@ typedef struct tMachine {
typedef struct tTool {
unsigned motor_enabled;
#if ENABLE_RPM
unsigned rpm;
#endif
unsigned nozzle_temperature;
unsigned build_platform_temperature;
} Tool;
@ -161,6 +177,20 @@ typedef struct tOverride {
unsigned build_platform_temperature;
} Override;
#define EOL "\n"
typedef struct tFilament {
char *colour;
double diameter;
unsigned temperature;
unsigned LED;
} Filament;
#define FILAMENT_MAX 32
typedef struct tPauseAt {
double z;
unsigned filament_index;
} PauseAt;
#define PAUSE_AT_MAX 64
#endif

28
gpx.ini
View File

@ -6,15 +6,21 @@
; POST PROCESSING OPTIONS
[options]
[printer]
; specify the machine definition using a built-in printer type
; specify the machine definition using a pre-defined built-in type identifier
; NOTE: settings are order dependnet, so always start with this settng
; r1 = Replicator 1 single
; r1d = Replicator 1 dual
; r2 = Replicator 2 (default)
; r2x = Replicator 2X
printer_type=r2
machine_type=r2
; set this to the filament diameter setting used in the slicer
; 1.75 = default
slicer_filament_diameter=1.75
; print simultaniously with both nozzles
; 1 = enabled
@ -22,16 +28,16 @@ printer_type=r2
ditto_printing=0
; override gcode for the build percentage
; generate gcode for the build progress
; this should be enabled for slic3r and kisslicer
; 1 = enabled
; 0 = disabled
build_percent=1
build_progress=1
; RIGHT EXTRUDER
[a]
[right]
; override gcode for the right filament diameter
; 1.75 = default
@ -51,7 +57,7 @@ build_platform_temperature=0
; LEFT EXTRUDER
[b]
[left]
; override gcode for the right filament diameter
; 1.75 = default
@ -63,11 +69,3 @@ actual_filament_diameter=0
; 0 = disabled
nozzle_temperature=0
[machine]
; set this to the filament diameter setting used in the slicer
; 1.75 = default
nominal_filament_diameter=1.75

View File

@ -136,7 +136,7 @@ commandTable = {
146: ("<BBBBB","\t[146] Set RGB led red %i, green %i, blue %i, blink rate %i, effect %i"),
147: ("<HHB","\t[147] Set beep, frequency %i, length %i, effect %i"),
148: ("<BHB","\t[148] Pause for button 0x%X, timeout %i s, timeout_bevavior %i"),
149: (parseDisplayMessageAction, "\t[149] Display message, options 0x%X at %i,%i timeout %i\n %s"),
149: (parseDisplayMessageAction, "\t[149] Display message, options 0x%X at %i,%i timeout %i\n '%s'"),
150: ("<BB","\t[150] Set build percent %i%%, ignore %i"),
151: ("<B","\t[151] Queue song %i"),
152: ("<B","\t[152] Reset to factory, options 0x%X"),