Firmware for geeetech 3D printers

Locked
Cup
Posts: 123
Joined: Fri Jul 15, 2016 6:11 pm

Re: Firmware for geeetech 3D printers

Post 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 17463 times
aleXall
Posts: 15
Joined: Mon Dec 05, 2016 3:36 am

Re: Firmware for geeetech 3D printers

Post by aleXall »

My Geeetech is G2s Pro. I've downloaded RKMB_GT2560_G2S file.

I want to retry to redownload it.
aleXall
Posts: 15
Joined: Mon Dec 05, 2016 3:36 am

Re: Firmware for geeetech 3D printers

Post 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.
JLAR200
Posts: 1
Joined: Tue Dec 27, 2016 10:01 am

Re: Firmware for geeetech 3D printers

Post 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?
Gareth B
Posts: 16
Joined: Tue Dec 27, 2016 9:56 am

Re: Firmware for geeetech 3D printers

Post 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)
aleXall
Posts: 15
Joined: Mon Dec 05, 2016 3:36 am

Re: Firmware for geeetech 3D printers

Post by aleXall »

@JLAR200 Download Arduino 1.0.1 and it'll works
NicoFR
Posts: 6
Joined: Sun Dec 18, 2016 12:59 am

Re: Firmware for geeetech 3D printers

Post 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
lar3ry
Posts: 14
Joined: Sun Jan 24, 2016 2:15 pm

Re: Firmware for geeetech 3D printers

Post 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"
NicoFR
Posts: 6
Joined: Sun Dec 18, 2016 12:59 am

Re: Firmware for geeetech 3D printers

Post 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
lar3ry
Posts: 14
Joined: Sun Jan 24, 2016 2:15 pm

Re: Firmware for geeetech 3D printers

Post 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?
Locked