Page 13 of 39

Re: Firmware for geeetech 3D printers

Posted: Wed Dec 14, 2016 5:40 pm
by Cup
aleXall wrote:Reuploaded firmware with Arduino 1.0.1 and... nothing!! It's going on not working
with the 2nd extruder. More! I've tried to manually switch extruders with T commands
and each time I do it, spider climbs up 10mm each time when I move spider with G0 or
G1 commands. This makes me going nut.

And do we want to talk about ABL? The strange thing of this hell machine is that when I launch
manually g28 & g29 commands, ABL works. As I try to do it at the start of gcode of an
object to print, it won't. So, I'm giving up to use ABL :(

Now, the least (and not last) issue is that pulley belt bearings are going to "beeeeep" off :x .
I've found the first one broken this morning, following the other five ones surely.
Now I'm waiting for new ball bearings.

Meanwhile I'll wait for bug firmware resolution.
Hi,
Did you download the right firmware for G2s in this post?And you have a metal or plastic version?
QQ图片20161214173819.png
QQ图片20161214173819.png (28.53 KiB) Viewed 17513 times

Re: Firmware for geeetech 3D printers

Posted: Wed Dec 14, 2016 8:27 pm
by aleXall
My Geeetech is G2s Pro. I've downloaded RKMB_GT2560_G2S file.

I want to retry to redownload it.

Re: Firmware for geeetech 3D printers

Posted: Wed Dec 14, 2016 11:00 pm
by aleXall
Thank you Cup! After re-downloaded your suggested file RKMB_GT2560_G2S.zip,
made changes in configuration.h as suggested in http://www.geeetech.com/wiki/index.php/ ... k_mini_G2s
with more attention then first time and now extruders switching WORKS CORRECTLY ON THE ASSIGNED Z LEVEL!
In the "old" configuration.h file I forgot to set Z_MIN_ENDSTOP_INVERTING = false.

Image

It's the only one parameter I've found "out of place".

Later I'll check also if extruders rotation and ABL function works correctly.

Re: Firmware for geeetech 3D printers

Posted: Tue Dec 27, 2016 10:05 am
by JLAR200
I am trying to load firmware for the first time on my first build. Here is the firmware error I keep getting:

Arduino: 1.8.0 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"


using typedef-name 'fpos_t' after 'struct'


Can anyone tell me how to fix it?

Re: Firmware for geeetech 3D printers

Posted: Tue Dec 27, 2016 10:57 am
by Gareth B
Hello - it would be good to see a date the firmware file was updated - that way I know if mine is in date (i assume it is as the printer arrived a week ago)

Re: Firmware for geeetech 3D printers

Posted: Tue Dec 27, 2016 4:31 pm
by aleXall
@JLAR200 Download Arduino 1.0.1 and it'll works

Re: Firmware for geeetech 3D printers

Posted: Sun Jan 01, 2017 5:20 am
by NicoFR
@JLAR200

This is because you are using one of the latest release of Arduino IDE. Firmware is written to be compiled with v1.0.1
You can just rename "fpos_t" to "fpos_i3t" in these 2 files:
SdBaseFile.cpp
SdBaseFile.h

then you can compile & program your board

Re: Firmware for geeetech 3D printers

Posted: Mon Jan 02, 2017 12:36 am
by lar3ry
Having problems getting any response from printer (G2S (pro)) after compile and upload.
I set the "fpos_t" to "fpos_i3t" in both SDBaseFile files, but now I get an error in SDBaseFile.cpp
"variable or field 'getpos' declared void"

Re: Firmware for geeetech 3D printers

Posted: Mon Jan 02, 2017 1:18 am
by NicoFR
You may have done errors while editing the file

In H, you should have :

Code: Select all

/**
 * \struct fpos_i3t
 * \brief internal type for istream
 * do not use in user apps
 */
struct fpos_i3t {
  /** stream position */
  uint32_t position;
  /** cluster for position */
  uint32_t cluster;
  fpos_i3t() : position(0), cluster(0) {}
};
  void getpos(fpos_i3t* pos);
  /** set position for streams
   * \param[out] pos struct with value for new position
   */
  void setpos(fpos_i3t* pos);
In CPP:

Code: Select all

void SdBaseFile::setpos(fpos_i3t* pos) {
  curPosition_ = pos->position;
  curCluster_ = pos->cluster;
}

//------------------------------------------------------------------------------
void SdBaseFile::getpos(fpos_i3t* pos) {
  pos->position = curPosition_;
  pos->cluster = curCluster_;
}
//------------------------------------------------------------------------------
/** Return the next available byte without consuming it.
 *
 * \return The byte if no error and not at eof else -1;
 */
int SdBaseFile::peek() {
  fpos_i3t pos;
  getpos(&pos);
  int c = read();
  if (c >= 0) setpos(&pos);
  return c;
}

Please check your edited file

Re: Firmware for geeetech 3D printers

Posted: Mon Jan 02, 2017 3:10 am
by lar3ry
Thanks NicoFR!
That did the trick. I just didn't look far enough to catch one of the instances.
Next, I try to figure out why it won't take a G28 code.
Anyone have an idea on best way to insert debugging messages that will show up in Repetier?