mirror of
https://github.com/synthetos/g2.git
synced 2026-09-23 04:03:47 +08:00
Initial pass of changes to work on the gQuadratic (includes Motate update)
This commit is contained in:
+1
-1
Submodule Motate updated: 73dbb3ce43...84f1a21c14
@@ -25,13 +25,13 @@ def load_pool(filename):
|
||||
if buf:
|
||||
current_buffer = int(buf.groups()[0], 16)
|
||||
pool[TUMBLER[tumbler_pos]] = current_buffer
|
||||
# print "TUMBLER[tumbler_pos]: %s=%i" % (TUMBLER[tumbler_pos], current_buffer)
|
||||
print "TUMBLER[tumbler_pos]: %s=%i" % (TUMBLER[tumbler_pos], current_buffer)
|
||||
tumbler_pos += 1
|
||||
else:
|
||||
buf = re.search('\(mpBuf_t\s\*\)\s(0x[0-9a-fA-F]+)', line)
|
||||
if buf:
|
||||
current_buffer = int(buf.groups()[0], 16)
|
||||
# print "setup current_buffer: %s" % current_buffer
|
||||
print "setup current_buffer: %s" % current_buffer
|
||||
pool[current_buffer] = {'move_time': 0}
|
||||
if current_buffer == pool['r']:
|
||||
pool[current_buffer]['is_r'] = True
|
||||
@@ -49,9 +49,11 @@ def load_pool(filename):
|
||||
if key == 'pv':
|
||||
pv = int(val, 16)
|
||||
pool[current_buffer]['pv'] = pv
|
||||
print "pv: %s" % pv
|
||||
elif key == 'nx':
|
||||
nv = int(val, 16)
|
||||
pool[current_buffer]['nx'] = nv
|
||||
nx = int(val, 16)
|
||||
pool[current_buffer]['nx'] = nx
|
||||
print "nx: %s" % nx
|
||||
elif key == 'buffer_state':
|
||||
pool[current_buffer]['buffer_state'] = val
|
||||
elif key == 'jerk':
|
||||
@@ -60,6 +62,7 @@ def load_pool(filename):
|
||||
pool[current_buffer]['linenum'] = val
|
||||
elif key == 'buffer_number':
|
||||
pool[current_buffer]['buffer_number'] = val
|
||||
print "#: %s" % val
|
||||
elif key == 'junction_vmax':
|
||||
pool[current_buffer]['junction_vmax'] = float(val)
|
||||
elif key == 'cruise_velocity':
|
||||
|
||||
@@ -22,6 +22,7 @@ Global
|
||||
Shapeoko2|ARM = Shapeoko2|ARM
|
||||
shopbotShield|ARM = shopbotShield|ARM
|
||||
Stub|ARM = Stub|ARM
|
||||
TestQuadratic|ARM = TestQuadratic|ARM
|
||||
TestQuintic|ARM = TestQuintic|ARM
|
||||
TestV9|ARM = TestV9|ARM
|
||||
Ultimakerv9k|ARM = Ultimakerv9k|ARM
|
||||
@@ -49,6 +50,8 @@ Global
|
||||
{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}.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
|
||||
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestQuintic|ARM.ActiveCfg = TestQuintic|ARM
|
||||
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestQuintic|ARM.Build.0 = TestQuintic|ARM
|
||||
{44EA8FEC-55D7-4149-8A78-A574FC26BF51}.TestV9|ARM.ActiveCfg = TestV9|ARM
|
||||
@@ -68,6 +71,7 @@ Global
|
||||
{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}.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
|
||||
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.TestV9|ARM.ActiveCfg = Stub|ARM
|
||||
{D7779B24-5CD6-4A1B-893C-2CAE8CF7A3A0}.Ultimakerv9k|ARM.ActiveCfg = Stub|ARM
|
||||
|
||||
@@ -12,15 +12,15 @@
|
||||
##########
|
||||
# BOARDs for use directly from the make command line (with default settings) or by CONFIGs.
|
||||
|
||||
ifeq ("$(BOARD)","gquadratic-a")
|
||||
ifeq ("$(BOARD)","gquadratic-b")
|
||||
BASE_BOARD=gquadratic
|
||||
DEVICE_DEFINES += MOTATE_BOARD="gquadratic-a"
|
||||
DEVICE_DEFINES += MOTATE_BOARD="gquadratic-b"
|
||||
DEVICE_DEFINES += SETTINGS_FILE=${SETTINGS_FILE}
|
||||
endif
|
||||
|
||||
|
||||
##########
|
||||
# The general pboard-a BASE_BOARD.
|
||||
# The general gquadratic BASE_BOARD.
|
||||
|
||||
ifeq ("$(BASE_BOARD)","gquadratic")
|
||||
_BOARD_FOUND = 1
|
||||
|
||||
+78
-78
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gquadratic-a-pinout.h - board pinout specification
|
||||
* gquadratic-b-pinout.h - board pinout specification
|
||||
* This file is part of the g2core project
|
||||
*
|
||||
* Copyright (c) 2016 Robert Giseburt
|
||||
@@ -29,8 +29,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef GQUADRATIC_A_PINOUT_H
|
||||
#define GQUADRATIC_A_PINOUT_H
|
||||
#ifndef GQUADRATIC_B_PINOUT_H
|
||||
#define GQUADRATIC_B_PINOUT_H
|
||||
|
||||
/*
|
||||
* USAGE NOTES
|
||||
@@ -100,9 +100,9 @@
|
||||
// So we have to explicitly enable them as PWM pins.
|
||||
// Generated with:
|
||||
// perl -e 'for($i=1;$i<14;$i++) { print "#define OUTPUT${i}_PWM 0\n";}'
|
||||
#define OUTPUT1_PWM 1 // Timer0ch0
|
||||
#define OUTPUT1_PWM 1 // TC0.0
|
||||
#define OUTPUT2_PWM 1 // PWM0.0
|
||||
#define OUTPUT3_PWM 1 // Timer0ch1
|
||||
#define OUTPUT3_PWM 1 // TC0.1
|
||||
#define OUTPUT4_PWM 1 // PWM1.3
|
||||
#define OUTPUT5_PWM 0 // unused
|
||||
#define OUTPUT6_PWM 0 // unused
|
||||
@@ -117,86 +117,86 @@
|
||||
namespace Motate {
|
||||
|
||||
// Arduino pin name & function
|
||||
_MAKE_MOTATE_PIN(kOutput1_PinNumber, 'A', 0); //
|
||||
_MAKE_MOTATE_PIN(kOutput3_PinNumber, 'A', 1); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_VrefPinNumber, 'A', 2); //
|
||||
_MAKE_MOTATE_PIN(kI2C1_SDAPinNumber, 'A', 3); //
|
||||
_MAKE_MOTATE_PIN(kI2C1_SCLPinNumber, 'A', 4); //
|
||||
_MAKE_MOTATE_PIN(kOutput4_PinNumber, 'A', 5); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned1, 'A', 6); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kUnassigned2, 'A', 7); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned3, 'A', 8); //
|
||||
_MAKE_MOTATE_PIN(kSerial_RX, 'A', 9); //
|
||||
_MAKE_MOTATE_PIN(kSerial_TX, 'A', 10); //
|
||||
_MAKE_MOTATE_PIN(kOutput2_PinNumber, 'A', 0); // TC0.0 or PWM0
|
||||
_MAKE_MOTATE_PIN(kOutput3_PinNumber, 'A', 1); // TC0.1 or PWM1
|
||||
_MAKE_MOTATE_PIN(kSocket2_VrefPinNumber, 'A', 2); // PWM1
|
||||
_MAKE_MOTATE_PIN(kI2C1_SDAPinNumber, 'A', 3); //
|
||||
_MAKE_MOTATE_PIN(kI2C1_SCLPinNumber, 'A', 4); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned1, 'A', 5); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned2, 'A', 6); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kUnassigned3, 'A', 7); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned4, 'A', 8); //
|
||||
_MAKE_MOTATE_PIN(kSerial_RX, 'A', 9); //
|
||||
_MAKE_MOTATE_PIN(kSerial_TX, 'A', 10); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_Microstep_1PinNumber, 'A', 11); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_EnablePinNumber, 'A', 12); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned4, 'A', 13); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned6, 'A', 14); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned5, 'A', 15); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned7, 'A', 16); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned8, 'A', 17); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned9, 'A', 18); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned10, 'A', 19); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned11, 'A', 20); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned13, 'A', 21); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned12, 'A', 22); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned14, 'A', 23); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned15, 'A', 24); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned16, 'A', 25); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned17, 'A', 26); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_VrefPinNumber, 'A', 27); //
|
||||
_MAKE_MOTATE_PIN(kSerial_CTS, 'A', 28); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned18, 'A', 29); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kSerial_RTS, 'A', 30); //
|
||||
_MAKE_MOTATE_PIN(kOutputSAFE_PinNumber, 'A', 31); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_EnablePinNumber, 'A', 12); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned5, 'A', 13); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned6, 'A', 14); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned7, 'A', 15); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned8, 'A', 16); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned9, 'A', 17); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned10, 'A', 18); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned11, 'A', 19); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned12, 'A', 20); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned13, 'A', 21); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned14, 'A', 22); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned15, 'A', 23); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned16, 'A', 24); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned17, 'A', 25); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned18, 'A', 26); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_VrefPinNumber, 'A', 27); // TC2.1
|
||||
_MAKE_MOTATE_PIN(kSerial_CTS, 'A', 28); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned19, 'A', 29); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kOutput1_PinNumber, 'A', 30); // PWM2
|
||||
_MAKE_MOTATE_PIN(kInput4_PinNumber, 'A', 31); //
|
||||
|
||||
_MAKE_MOTATE_PIN(kUnassigned20, 'B', 0); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned22, 'B', 1); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned21, 'B', 2); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned23, 'B', 3); //
|
||||
//_MAKE_MOTATE_PIN( , 'B', 4); // TDI
|
||||
//_MAKE_MOTATE_PIN( , 'B', 5); // TRACESDO
|
||||
//_MAKE_MOTATE_PIN( , 'B', 6); // SWDIO
|
||||
//_MAKE_MOTATE_PIN( , 'B', 7); // SWDCLK
|
||||
//_MAKE_MOTATE_PIN( , 'B', 8); // XOUT
|
||||
//_MAKE_MOTATE_PIN( , 'B', 9); // XIN
|
||||
//_MAKE_MOTATE_PIN( , 'B', 10); // USB_D-
|
||||
//_MAKE_MOTATE_PIN( , 'B', 11); // USB_D+
|
||||
//_MAKE_MOTATE_PIN( , 'B', 12); // ERASE
|
||||
_MAKE_MOTATE_PIN(kUnassigned38, 'B', 13); // LED_1 (Heartbeat) - PWM2
|
||||
_MAKE_MOTATE_PIN(kUnassigned20, 'B', 0); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned21, 'B', 1); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned22, 'B', 2); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned23, 'B', 3); //
|
||||
//_MAKE_MOTATE_PIN( , 'B', 4); // TDI
|
||||
//_MAKE_MOTATE_PIN( , 'B', 5); // TRACESDO
|
||||
//_MAKE_MOTATE_PIN( , 'B', 6); // SWDIO
|
||||
//_MAKE_MOTATE_PIN( , 'B', 7); // SWDCLK
|
||||
//_MAKE_MOTATE_PIN( , 'B', 8); // XOUT
|
||||
//_MAKE_MOTATE_PIN( , 'B', 9); // XIN
|
||||
//_MAKE_MOTATE_PIN( , 'B', 10); // USB_D-
|
||||
//_MAKE_MOTATE_PIN( , 'B', 11); // USB_D+
|
||||
//_MAKE_MOTATE_PIN( , 'B', 12); // ERASE
|
||||
_MAKE_MOTATE_PIN(kUnassigned24, 'B', 13); // LED_1 (Heartbeat) - PWM2
|
||||
|
||||
//_MAKE_MOTATE_PIN( , 'D', 0); // USB_VBUS
|
||||
_MAKE_MOTATE_PIN(kInput1_PinNumber, 'D', 1); //
|
||||
_MAKE_MOTATE_PIN(kInput2_PinNumber, 'D', 2); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned24, 'D', 3); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned25, 'D', 4); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned26, 'D', 5); //
|
||||
_MAKE_MOTATE_PIN(kInput3_PinNumber, 'D', 6); //
|
||||
_MAKE_MOTATE_PIN(kInput4_PinNumber, 'D', 7); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned19, 'D', 8); // INTERRUPT_OUT
|
||||
_MAKE_MOTATE_PIN(kUnassigned27, 'D', 9); //
|
||||
_MAKE_MOTATE_PIN(kOutput2_PinNumber, 'D', 10); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned28, 'D', 11); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_DirPinNumber, 'D', 12); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_EnablePinNumber, 'D', 13); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_StepPinNumber, 'D', 14); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned29, 'D', 15); //
|
||||
//_MAKE_MOTATE_PIN( , 'D', 0); // USB_VBUS
|
||||
_MAKE_MOTATE_PIN(kInput1_PinNumber, 'D', 1); //
|
||||
_MAKE_MOTATE_PIN(kInput2_PinNumber, 'D', 2); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned25, 'D', 3); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned26, 'D', 4); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned27, 'D', 5); //
|
||||
_MAKE_MOTATE_PIN(kInput3_PinNumber, 'D', 6); //
|
||||
_MAKE_MOTATE_PIN(kSerial_RTS, 'D', 7); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned28, 'D', 8); // INTERRUPT_OUT
|
||||
_MAKE_MOTATE_PIN(kUnassigned29, 'D', 9); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned30, 'D', 10); //
|
||||
_MAKE_MOTATE_PIN(kLED_RGBWPixelPinNumber, 'D', 11); // PWM0
|
||||
_MAKE_MOTATE_PIN(kSocket2_DirPinNumber, 'D', 12); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_EnablePinNumber, 'D', 13); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_StepPinNumber, 'D', 14); //
|
||||
_MAKE_MOTATE_PIN(kOutputSAFE_PinNumber, 'D', 15); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_Microstep_0PinNumber, 'D', 16); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_Microstep_1PinNumber, 'D', 17); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_DirPinNumber, 'D', 18); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_StepPinNumber, 'D', 19); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_DirPinNumber, 'D', 18); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_StepPinNumber, 'D', 19); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_Microstep_0PinNumber, 'D', 20); //
|
||||
_MAKE_MOTATE_PIN(kSocket1_Microstep_2PinNumber, 'D', 21); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned30, 'D', 22); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned31, 'D', 23); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kUnassigned32, 'D', 24); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned33, 'D', 25); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned34, 'D', 26); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned35, 'D', 27); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned31, 'D', 22); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned32, 'D', 23); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kUnassigned33, 'D', 24); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned34, 'D', 25); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned35, 'D', 26); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned36, 'D', 27); //
|
||||
_MAKE_MOTATE_PIN(kSocket2_Microstep_2PinNumber, 'D', 28); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned36, 'D', 29); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kLEDPWM_PinNumber, 'D', 30); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned37, 'D', 31); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned37, 'D', 29); // Missing in 100-pin package
|
||||
_MAKE_MOTATE_PIN(kLEDPWM_PinNumber, 'D', 30); //
|
||||
_MAKE_MOTATE_PIN(kUnassigned38, 'D', 31); //
|
||||
|
||||
} // namespace Motate
|
||||
|
||||
@@ -206,4 +206,4 @@ _MAKE_MOTATE_PIN(kUnassigned37, 'D', 31); //
|
||||
|
||||
#endif
|
||||
|
||||
// GQUADRATIC_A_PINOUT_H
|
||||
// GQUADRATIC_B_PINOUT_H
|
||||
@@ -130,8 +130,8 @@ using Motate::OutputPin;
|
||||
/**** Motate Definitions ****/
|
||||
|
||||
// Timer definitions. See stepper.h and other headers for setup
|
||||
typedef TimerChannel<0, 0> dda_timer_type; // stepper pulse generation in stepper.cpp
|
||||
typedef TimerChannel<1, 0> dwell_timer_type; // dwell timing in stepper.cpp
|
||||
typedef TimerChannel<9, 0> dda_timer_type; // stepper pulse generation in stepper.cpp
|
||||
typedef TimerChannel<10, 0> dwell_timer_type; // dwell timing in stepper.cpp
|
||||
typedef ServiceCall<0> load_timer_type; // request load timer in stepper.cpp
|
||||
typedef ServiceCall<1> exec_timer_type; // request exec timer in stepper.cpp
|
||||
typedef ServiceCall<2> fwd_plan_timer_type; // request exec timer in stepper.cpp
|
||||
|
||||
@@ -159,13 +159,15 @@ pin_number kDebug3_PinNumber = -1; // 116; //e Not the out-of-order numbering &
|
||||
pin_number kDebug4_PinNumber = -1; // 114;
|
||||
// END DEBUG PINS
|
||||
|
||||
pin_number kLED_USBRXPinNumber = 117;
|
||||
pin_number kLED_USBTXPinNumber = 118;
|
||||
pin_number kSD_CardDetectPinNumber = 119;
|
||||
pin_number kSD_ChipSelectPinNumber = 120;
|
||||
pin_number kInterlock_InPinNumber = 121;
|
||||
pin_number kOutputSAFE_PinNumber = 122; // SAFE signal
|
||||
pin_number kLEDPWM_PinNumber = 123;
|
||||
pin_number kLED_USBRXPinNumber = 117;
|
||||
pin_number kLED_USBTXPinNumber = 118;
|
||||
pin_number kSD_CardDetectPinNumber = 119;
|
||||
pin_number kSD_ChipSelectPinNumber = 120;
|
||||
pin_number kInterlock_InPinNumber = 121;
|
||||
pin_number kOutputSAFE_PinNumber = 122; // SAFE signal
|
||||
pin_number kLEDPWM_PinNumber = 123;
|
||||
pin_number kOutputInterrupt_PinNumber = 124; // to-host interrupt signal
|
||||
pin_number kLED_RGBWPixelPinNumber = 125; // 117;
|
||||
|
||||
// GRBL / gShield compatibility pins -- Due board ONLY
|
||||
|
||||
|
||||
@@ -50,8 +50,8 @@ decltype(usb.mixin<1>::Serial) &SerialUSB1 = usb.mixin<1>::Serial;
|
||||
// 115200 is the default, as well.
|
||||
//UART<kSerial_RX, kSerial_TX, kSerial_RTS, kSerial_CTS> Serial {115200, UARTMode::RTSCTSFlowControl};
|
||||
|
||||
MOTATE_SET_USB_VENDOR_STRING( {'S' ,'y', 'n', 't', 'h', 'e', 't', 'o', 's'} )
|
||||
MOTATE_SET_USB_PRODUCT_STRING( {'T', 'i', 'n', 'y', 'G', ' ', 'v', '2'} )
|
||||
MOTATE_SET_USB_VENDOR_STRING( u"Synthetos" )
|
||||
MOTATE_SET_USB_PRODUCT_STRING( u"TinyG v2" )
|
||||
MOTATE_SET_USB_SERIAL_NUMBER_STRING_FROM_CHIPID()
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ endif
|
||||
|
||||
ifeq ("$(CONFIG)","TestQuadratic")
|
||||
ifeq ("$(BOARD)","NONE")
|
||||
BOARD=gquadratic-a
|
||||
BOARD=gquadratic-b
|
||||
endif
|
||||
SETTINGS_FILE="settings_test.h"
|
||||
endif
|
||||
|
||||
@@ -339,6 +339,31 @@ typedef struct GCodeState { // Gcode model state - used by model, pl
|
||||
cmCoordSystem coord_system; // G54-G59 - select coordinate system 1-9
|
||||
uint8_t tool; // G // M6 tool change - moves "tool_select" to "tool"
|
||||
uint8_t tool_select; // G // T value - T sets this value
|
||||
|
||||
void reset() {
|
||||
linenum = 0;
|
||||
motion_mode = 0;
|
||||
|
||||
for (uint8_t i = 0; i< AXES; i++) {
|
||||
target[i] = 0.0;
|
||||
work_offset[i] = 0.0;
|
||||
}
|
||||
|
||||
feed_rate = 0.0;
|
||||
parameter = 0.0;
|
||||
|
||||
feed_rate_mode = INVERSE_TIME_MODE;
|
||||
select_plane = CANON_PLANE_XY;
|
||||
units_mode = INCHES;
|
||||
path_control = PATH_EXACT_PATH;
|
||||
distance_mode = ABSOLUTE_MODE;
|
||||
arc_distance_mode = ABSOLUTE_MODE;
|
||||
absolute_override = ABSOLUTE_OVERRIDE_OFF;
|
||||
coord_system = ABSOLUTE_COORDS;
|
||||
tool = 0;
|
||||
tool_select = 0;
|
||||
|
||||
};
|
||||
} GCodeState_t;
|
||||
|
||||
typedef struct GCodeStateExtended { // Gcode dynamic state extensions - used by model and arcs
|
||||
|
||||
+72
-6
@@ -5,7 +5,7 @@
|
||||
<ProjectVersion>7.0</ProjectVersion>
|
||||
<ToolchainName>com.Atmel.ARMGCC.CPP</ToolchainName>
|
||||
<ProjectGuid>{44ea8fec-55d7-4149-8a78-a574fc26bf51}</ProjectGuid>
|
||||
<avrdevice>ATSAM3X8C</avrdevice>
|
||||
<avrdevice>ATSAMS70N19</avrdevice>
|
||||
<avrdeviceseries>none</avrdeviceseries>
|
||||
<OutputType>Executable</OutputType>
|
||||
<Language>CPP</Language>
|
||||
@@ -68,12 +68,12 @@
|
||||
<com_atmel_avrdbg_tool_atmelice>
|
||||
<ToolOptions>
|
||||
<InterfaceProperties>
|
||||
<SwdClock>2000000</SwdClock>
|
||||
<SwdClock>10000000</SwdClock>
|
||||
</InterfaceProperties>
|
||||
<InterfaceName>SWD</InterfaceName>
|
||||
</ToolOptions>
|
||||
<ToolType>com.atmel.avrdbg.tool.atmelice</ToolType>
|
||||
<ToolNumber>J41800004259</ToolNumber>
|
||||
<ToolNumber>J41800006366</ToolNumber>
|
||||
<ToolName>Atmel-ICE</ToolName>
|
||||
</com_atmel_avrdbg_tool_atmelice>
|
||||
<UseGdb>True</UseGdb>
|
||||
@@ -100,9 +100,9 @@
|
||||
<HWProgramCounterSampling>True</HWProgramCounterSampling>
|
||||
</PercepioTrace>
|
||||
<preserveEEPROM>true</preserveEEPROM>
|
||||
<avrtoolserialnumber>J41800004259</avrtoolserialnumber>
|
||||
<avrdeviceexpectedsignature>0x284E0A60</avrdeviceexpectedsignature>
|
||||
<avrtoolinterfaceclock>2000000</avrtoolinterfaceclock>
|
||||
<avrtoolserialnumber>J41800006366</avrtoolserialnumber>
|
||||
<avrdeviceexpectedsignature>0xA11D0A00</avrdeviceexpectedsignature>
|
||||
<avrtoolinterfaceclock>10000000</avrtoolinterfaceclock>
|
||||
<custom>
|
||||
<ToolOptions xmlns="">
|
||||
<InterfaceProperties>
|
||||
@@ -1454,6 +1454,72 @@
|
||||
<ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
|
||||
<OutputPath>bin\PrintrbotSimple1608-printrboardG2v3\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'TestQuadratic' ">
|
||||
<ToolchainSettings>
|
||||
<ArmGccCpp xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
|
||||
<armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
|
||||
<armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
|
||||
<armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
|
||||
<armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
|
||||
<armgcc.compiler.directories.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles\CMSIS\Include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles\Device\ATMEL</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles\Device\ATMEL\sam3xa\include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\CMSIS\Include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\Device\ATMEL</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\Device\ATMEL\sam3xa\include</Value>
|
||||
</ListValues>
|
||||
</armgcc.compiler.directories.IncludePaths>
|
||||
<armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level>
|
||||
<armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
|
||||
<armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>
|
||||
<armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
|
||||
<armgcccpp.compiler.directories.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles\CMSIS\Include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles\Device\ATMEL</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.128\ARMSupportFiles\Device\ATMEL\sam3xa\include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\CMSIS\Include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\Device\ATMEL</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\Device\ATMEL\sam3xa\include</Value>
|
||||
</ListValues>
|
||||
</armgcccpp.compiler.directories.IncludePaths>
|
||||
<armgcccpp.compiler.optimization.level>Optimize (-O1)</armgcccpp.compiler.optimization.level>
|
||||
<armgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>
|
||||
<armgcccpp.compiler.optimization.DebugLevel>Maximum (-g3)</armgcccpp.compiler.optimization.DebugLevel>
|
||||
<armgcccpp.compiler.warnings.AllWarnings>True</armgcccpp.compiler.warnings.AllWarnings>
|
||||
<armgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</armgcccpp.linker.libraries.Libraries>
|
||||
<armgcccpp.linker.optimization.GarbageCollectUnusedSections>True</armgcccpp.linker.optimization.GarbageCollectUnusedSections>
|
||||
<armgcccpp.linker.miscellaneous.LinkerFlags>-Tsam3x8c_flash.ld</armgcccpp.linker.miscellaneous.LinkerFlags>
|
||||
<armgcccpp.assembler.debugging.DebugLevel>Default (-g)</armgcccpp.assembler.debugging.DebugLevel>
|
||||
<armgcccpp.preprocessingassembler.general.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\CMSIS\Include</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\Device\ATMEL</Value>
|
||||
<Value>C:\Program Files\Atmel\Atmel Toolchain\ARM GCC\Native\4.7.2.87\arm-gnu-toolchain\bin\..\..\CMSIS_Atmel\Device\ATMEL\sam3xa\include</Value>
|
||||
</ListValues>
|
||||
</armgcccpp.preprocessingassembler.general.IncludePaths>
|
||||
<armgcccpp.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcccpp.preprocessingassembler.debugging.DebugLevel>
|
||||
</ArmGccCpp>
|
||||
</ToolchainSettings>
|
||||
<UsesExternalMakeFile>True</UsesExternalMakeFile>
|
||||
<OutputDirectory />
|
||||
<BuildTarget>CONFIG=TestQuadratic COLOR=0 VERBOSE=1 DEBUG=1</BuildTarget>
|
||||
<CleanTarget>clean CONFIG=TestQuintic</CleanTarget>
|
||||
<ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
|
||||
<OutputPath>bin\TestQuadratic\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="board\Archim\Archim-pinout.h">
|
||||
<SubType>compile</SubType>
|
||||
|
||||
@@ -291,6 +291,20 @@
|
||||
passBuildSettingsInEnvironment = 1;
|
||||
productName = g3_due;
|
||||
};
|
||||
D4782AAE1D9B16BE00B32136 /* G2 Probotix */ = {
|
||||
isa = PBXLegacyTarget;
|
||||
buildArgumentsString = "$(ACTION) VERBOSE=1 COLOR=0 CONFIG=ProbotixV90 DEBUG=1";
|
||||
buildConfigurationList = D4782AAF1D9B16BE00B32136 /* Build configuration list for PBXLegacyTarget "G2 Probotix" */;
|
||||
buildPhases = (
|
||||
);
|
||||
buildToolPath = /usr/bin/make;
|
||||
buildWorkingDirectory = .;
|
||||
dependencies = (
|
||||
);
|
||||
name = "G2 Probotix";
|
||||
passBuildSettingsInEnvironment = 1;
|
||||
productName = g3_due;
|
||||
};
|
||||
D4AC391A1C7BAB8E0098D685 /* G2 sbv300 */ = {
|
||||
isa = PBXLegacyTarget;
|
||||
buildArgumentsString = "$(ACTION) VERBOSE=1 COLOR=0 CONFIG=sbv300 DEBUG=2";
|
||||
@@ -411,6 +425,7 @@
|
||||
D4AC391A1C7BAB8E0098D685 /* G2 sbv300 */,
|
||||
D4F226F31D088A48008ED57C /* G2 gQuintic PrintrbotPlus */,
|
||||
D43FF7141D537A5C00FB5B53 /* G2 gQuadratic Test */,
|
||||
D4782AAE1D9B16BE00B32136 /* G2 Probotix */,
|
||||
D457112317053BFB00EA19A8 /* index */,
|
||||
);
|
||||
};
|
||||
@@ -653,6 +668,22 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D4782AB01D9B16BE00B32136 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
PATH = "$PATH:/usr/local/gcc-arm-none-eabi/bin";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D4782AB11D9B16BE00B32136 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
PATH = "$PATH:/usr/local/gcc-arm-none-eabi/bin";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D4AC391C1C7BAB8E0098D685 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@@ -790,6 +821,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D4782AAF1D9B16BE00B32136 /* Build configuration list for PBXLegacyTarget "G2 Probotix" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D4782AB01D9B16BE00B32136 /* Debug */,
|
||||
D4782AB11D9B16BE00B32136 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D4AC391B1C7BAB8E0098D685 /* Build configuration list for PBXLegacyTarget "G2 sbv300" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
||||
+14
-5
@@ -172,6 +172,14 @@ stat_t planner_test_assertions()
|
||||
(BAD_MAGIC(mr.magic_start)) || (BAD_MAGIC(mr.magic_end))) {
|
||||
return(cm_panic(STAT_PLANNER_ASSERTION_FAILURE, "planner_test_assertions()"));
|
||||
}
|
||||
for (uint8_t i=0; i < PLANNER_BUFFER_POOL_SIZE; i++) {
|
||||
if (mb.bf[i].nx == nullptr) {
|
||||
_debug_trap("buffer has nullptr for nx");
|
||||
}
|
||||
if (mb.bf[i].pv == nullptr) {
|
||||
_debug_trap("buffer has nullptr for pv");
|
||||
}
|
||||
}
|
||||
return (STAT_OK);
|
||||
}
|
||||
|
||||
@@ -697,25 +705,26 @@ static inline void _clear_buffer(mpBuf_t *bf)
|
||||
// the pointers and buffer number during interrupts
|
||||
|
||||
// We'll have to figure something else out for C, sorry.
|
||||
bf->clear();
|
||||
bf->reset();
|
||||
}
|
||||
|
||||
void mp_init_buffers(void)
|
||||
{
|
||||
mpBuf_t *pv, *nx;
|
||||
uint8_t i, nx_i;
|
||||
|
||||
memset(&mb, 0, sizeof(mb)); // clear all values, pointers and status
|
||||
//memset(&mb, 0, sizeof(mb)); // clear all values, pointers and status
|
||||
mb.magic_start = MAGICNUM;
|
||||
mb.magic_end = MAGICNUM;
|
||||
|
||||
mb.w = &mb.bf[0]; // init all buffer pointers
|
||||
mb.r = &mb.bf[0];
|
||||
pv = &mb.bf[PLANNER_BUFFER_POOL_SIZE-1];
|
||||
for (i=0; i < PLANNER_BUFFER_POOL_SIZE; i++) {
|
||||
for (uint8_t i=0; i < PLANNER_BUFFER_POOL_SIZE; i++) {
|
||||
_clear_buffer(&mb.bf[i]);
|
||||
uint8_t nx_i = ((i<(PLANNER_BUFFER_POOL_SIZE-1))?(i+1):0); // buffer incr & wrap
|
||||
|
||||
mb.bf[i].buffer_number = i; //+++++ number it for diagnostics only (otherwise not used)
|
||||
|
||||
nx_i = ((i<PLANNER_BUFFER_POOL_SIZE-1)?(i+1):0); // buffer incr & wrap
|
||||
nx = &mb.bf[nx_i];
|
||||
mb.bf[i].nx = nx; // setup ring pointers
|
||||
mb.bf[i].pv = pv;
|
||||
|
||||
+45
-2
@@ -229,8 +229,51 @@ struct mpBuffer_to_clear {
|
||||
|
||||
GCodeState_t gm; // Gcode model state - passed from model, used by planner and runtime
|
||||
|
||||
void clear() {
|
||||
memset((void *)(this), 0, sizeof(mpBuffer_to_clear));
|
||||
void reset() {
|
||||
//memset((void *)(this), 0, sizeof(mpBuffer_to_clear));
|
||||
|
||||
bf_func = nullptr;
|
||||
cm_func = nullptr;
|
||||
|
||||
linenum = 0;
|
||||
iterations = 0;
|
||||
block_time_ms = 0;
|
||||
plannable_time_ms = 0;
|
||||
plannable_length = 0;
|
||||
meet_iterations = 0;
|
||||
|
||||
buffer_state = MP_BUFFER_EMPTY;
|
||||
block_type = BLOCK_TYPE_NULL;
|
||||
block_state = BLOCK_INACTIVE;
|
||||
hint = NO_HINT;
|
||||
|
||||
for (uint8_t i = 0; i< AXES; i++) {
|
||||
unit[i] = 0;
|
||||
axis_flags[i] = 0;
|
||||
}
|
||||
|
||||
plannable = false;
|
||||
length = 0.0;
|
||||
block_time = 0.0;
|
||||
override_factor = 0.0;
|
||||
|
||||
cruise_velocity = 0.0;
|
||||
exit_velocity = 0.0;
|
||||
|
||||
cruise_vset = 0.0;
|
||||
cruise_vmax = 0.0;
|
||||
exit_vmax = 0.0;
|
||||
|
||||
absolute_vmax = 0.0;
|
||||
junction_vmax = 0.0;
|
||||
|
||||
jerk = 0.0;
|
||||
jerk_sq = 0.0;
|
||||
recip_jerk = 0.0;
|
||||
sqrt_j = 0.0;
|
||||
q_recip_2_sqrt_j = 0.0;
|
||||
|
||||
gm.reset();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user