modifica firmware per duet March 15, 2014 09:21AM |
Registered: 10 years ago Posts: 21 |
Re: modifica firmware per duet March 15, 2014 04:12PM |
Moderator Registered: 12 years ago Posts: 964 |
Re: modifica firmware per duet March 15, 2014 05:07PM |
Registered: 10 years ago Posts: 313 |
Quote
http://blog.think3dprint3d.com/
Panoramica del software
Il Duet usa un RepRap Firmware nuovo in C + + compilato da Adrian Bowyer.
Il firmware può essere compilato con l' Arduino IDE (testato con 1.5.4) o Eclipse e caricato come gli altri firmware, ma l'obiettivo è per gran parte delle informazioni specifiche stampante da impostare da Gcode che viene letto all'avvio della macchina dalla scheda SD .
RepRap Firmware
Re: modifica firmware per duet March 17, 2014 02:41PM |
Registered: 10 years ago Posts: 21 |
Re: modifica firmware per duet March 19, 2014 12:48PM |
Registered: 10 years ago Posts: 21 |
Re: modifica firmware per duet March 19, 2014 12:59PM |
Registered: 10 years ago Posts: 313 |
Re: modifica firmware per duet March 19, 2014 01:56PM |
Registered: 10 years ago Posts: 21 |
Re: modifica firmware per duet March 19, 2014 04:51PM |
Registered: 10 years ago Posts: 313 |
Re: modifica firmware per duet March 20, 2014 02:57AM |
Registered: 10 years ago Posts: 21 |
Re: modifica firmware per duet April 07, 2014 07:01PM |
Registered: 12 years ago Posts: 177 |
inline void Platform:: Step(byte drive)
digitalWrite(stepPins[drive], 0);
digitalWriteNonDue(stepPins[drive], 0);
#define X_AXIS 0 // The index of the X axis #define Y_AXIS 1 // The index of the Y axis #define Z_AXIS 2 // The index of the Z axis #define E0_DRIVE 3 //the index of the first Extruder drive #define E1_DRIVE 4 //the index of the second Extruder drive #define E2_DRIVE 5 //the index of the third Extruder drive #define E3_DRIVE 6 //the index of the fourth Extruder drive #define E4_DRIVE 7 //the index of the fifth Extruder drive
//modified to duplicate drives //X_AXIS and E2_DRIVE = X Motors //Y_AXIS and E3_DRIVE = Y Motors //Z_AXIS and E4_DRIVE = Z Motors inline void Platform:: Step(byte drive) { if(stepPins[drive] < 0 || drive > 4) //exclude E2, E3, E4 as they are second motors for X, Y, Z return; byte driveDuplicate = -1; if(drive == X_AXIS) driveDuplicate = E2_DRIVE; else if(drive == Y_AXIS) driveDuplicate = E3_DRIVE; else if(drive == Z_AXIS) driveDuplicate = E4_DRIVE; if(!driveEnabled[drive] && enablePins[drive] >= 0) { if(drive == Z_AXIS || drive==E0_DRIVE) //ENABLE_PINS {29, 27, X1, X0, 37, X8, 50, 47} digitalWriteNonDue(enablePins[drive], ENABLE); else digitalWrite(enablePins[drive], ENABLE); driveEnabled[drive] = true; } //enable the duplicate drive if required if(driveDuplicate >=0 && !driveEnabled[driveDuplicate]) { if(driveDuplicate ==E2_DRIVE) digitalWriteNonDue(enablePins[driveDuplicate], ENABLE); else digitalWrite(enablePins[driveDuplicate], ENABLE); driveEnabled[driveDuplicate] = true; } if(drive == E0_DRIVE) //STEP_PINS {14, 25, 5, X2, 41, 39, X4, 49} { digitalWriteNonDue(stepPins[drive], 0); digitalWriteNonDue(stepPins[drive], 1); } else { digitalWrite(stepPins[drive], 0); if(driveDuplicate == E3_DRIVE) //STEP_PINS {14, 25, 5, X2, 41, 39, X4, 49} { digitalWriteNonDue(stepPins[driveDuplicate], 0); } else { digitalWrite(stepPins[driveDuplicate], 0); } digitalWrite(stepPins[drive], 1); if(driveDuplicate == E3_DRIVE) //STEP_PINS {14, 25, 5, X2, 41, 39, X4, 49} { digitalWriteNonDue(stepPins[driveDuplicate], 1); } else { digitalWrite(stepPins[driveDuplicate], 1); } } }