MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.17k stars 19.21k forks source link

Repetier can't recognize RC6 #3940

Closed otarkhan closed 8 years ago

otarkhan commented 8 years ago

I was working with RC4 and repetier host was working perfect, I updated my firmware to RC6 to solve the SD card problem but now Repetier can't recognize the new firmware, it says " Unknown printer firmware "

jbrazio commented 8 years ago

@repetier what is required from our side to get fully recognized within Repetier Host ?

thinkyhead commented 8 years ago

@otarkhan Perhaps this issue has been fixed already. Can you try the RCBugFix branch and see if the problem still exists? Also, check other versions of Repetier Host. It identifies Marlin by looking for the word "marlin" inside the response to M115.

lrpirlet commented 8 years ago

@otarkhan https://github.com/otarkhan I am using RCBugFix with Repetier Host and have no problem... I downloaded Repetier a few weeks ago when I re-installed my computer... Since a communication has 2 ends maybe you want to verify with a new version of Repetier???

2016-06-01 15:49 GMT+02:00 Scott Lahteine notifications@github.com:

@otarkhan https://github.com/otarkhan Perhaps this issue has been fixed already. Can you try the RCBugFix branch and see if the problem still exists?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/3940#issuecomment-222997891, or mute the thread https://github.com/notifications/unsubscribe/ALEmPfvxCHEVu1M60ISo6WvK1Giiz4C9ks5qHY38gaJpZM4IrjDb .

repetier commented 8 years ago

I had already similar reports. The host uses M115 and searches for "marlin" to detect it. I think you have changed that into "Marlin" making it a new identifier string. I have added "Marlin" to the new variants list in host for next release - until then it will not recognice and Mac version probably will never recognice the new spelling.

In general it is a bad idea to change output that could be useful. In repetier firmware we e.g. write out changes done on lcd so hosts know new values. Changing strings here would break existing hosts parsing such things. And you never know which host already parses which answer, so never change output formats once you have introduced them or expect some problems.

repetier commented 8 years ago

Ok, I'm a bit confused after checking mac host test. There it was always "Marlin" so what does RC6 now return on M115?

Blue-Marlin commented 8 years ago

It's

+#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin ...

With a upper case 'M' since at least 2012-08-12 when language.h was introduced

17:50:43.233 : FIRMWARE_NAME:Marlin 1.1.0-RCBugFix (Github) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:3D Printer EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
jbrazio commented 8 years ago

untitled

@repetier Mine (RCBugfix) is missing the URL and I don't know if besides "Marlin" it was supposed to have the version as I don't see Marlin's version anywhere.

thinkyhead commented 8 years ago

Here's where Repetier Host detects Marlin for reference.

The only tweaky change in the M115 string that I've seen, made a long while ago, was to remove the semicolon between the items.

tiagom62 commented 8 years ago

I use repetier host with RC6 without issues, very strange.

dteeter commented 8 years ago

I tried repetier host with RC6 and noticed that the time required for the connection to complete is longer - maybe 10-15 seconds vs 5 seconds with RC3 (that was on the OSX version of repetier host)

otarkhan commented 8 years ago

@lrpirlet @tiagom62 @dteeter maybe you're using windows or Linux version and I'm using Mac version?

repetier commented 8 years ago

That little hint would have helped a bit. Anyhow that the firmware is not written at the bottom is not a problem and changes nothing in the host, except extruder/bed power which is now not multiplied by 2 to get into 0-255 range so you see only 50% of what you really have. Anyhow what is the exact complete response to M115 in the log? Knowing this I might be able to fix it.

lrpirlet commented 8 years ago

@otarkhan @repetier Yes, I am using Windows, however the startup code in marlin RCBugFix dispays:

22:14:36.850 : N1 M110*34
22:14:36.850 : N2 M115*36
22:14:36.850 : N4 M114*35
22:14:36.866 : N5 M111 S6*98
22:14:36.866 : N6 T0*60
22:14:36.866 : N7 M20*22
22:14:36.882 : N8 M80*19
22:14:40.663 : echo:SD init fail
22:14:40.663 : ok
22:14:40.773 : FIRMWARE_NAME:Marlin 1.1.0-RCBugFix (Github) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Pi3 3D LabteK EXTRUDER_COUNT:1 **UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
22:14:40.773 : ok
22:14:40.773 : N11 M220 `S100*8122:14:36.850 : N1 M110*34
lrpirlet commented 8 years ago

@otarkhan @repetier the version is defined in Version.h...

/**
 * Marlin release version identifier
 */
#define SHORT_BUILD_VERSION "1.1.0-RCBugFix"

/**
 * Verbose version identifier which should contain a reference to the location
 * from where the binary was downloaded or the source code was compiled.
 */
#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " (Github)"

/**
 * The STRING_DISTRIBUTION_DATE represents when the binary file was built,
 * here we define this default string as the date where the latest release
 * version was tagged.
 */
#define STRING_DISTRIBUTION_DATE "2016-04-27 12:00"

/**
 * @todo: Missing documentation block
 */
#define PROTOCOL_VERSION "1.0"

/**
 * Defines a generic printer name to be output to the LCD after booting Marlin.
 */
#define MACHINE_NAME "3D Printer"

/**
 * The SOURCE_CODE_URL is the location where users will find the Marlin Source
 * Code which is installed on the device. In most cases —unless the manufacturer
 * has a distinct Github fork— the Source Code URL should just be the main
 * Marlin repository.
 */
#define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"

/**
 * Default generic printer UUID.
 */
#define DEFAULT_MACHINE_UUID "cede2a2f-41a2-4748-9b12-c55c62f367ff"

/**
 * The WEBSITE_URL is the location where users can get more information such as
 * documentation about a specific Marlin release.
 */
#define WEBSITE_URL "http://marlinfw.org"

In Configuration.h one can find

#if ENABLED(USE_AUTOMATIC_VERSIONING)
  #include "_Version.h"
#else
  #include "Version.h"
#endif

Note that I cannot find USE_AUTOMATIC_VERSIONING defined... So you MAY want to change that code in configuration.h to

//#if ENABLED(USE_AUTOMATIC_VERSIONING)
//  #include "_Version.h"
//#else
  #include "Version.h"
//#endif
tiagom62 commented 8 years ago

On windows 10.

20:10:28.352 : Printer reset detected - initalizing
20:10:28.353 : start
20:10:28.354 : echo:Marlin 1.1.0-RC6
20:10:28.357 : echo: Last Updated: 2016-04-24 12:00 | Author: (Tiago, default config)
20:10:28.357 : Compiled: May 15 2016

Im using Repetier-Host V1.6.1

lrpirlet commented 8 years ago

@otarkhan @repetier I knew I did read that somewhere... please have a look at #2232... I think the problem is to compile on a Mac OS x or from Linux without first setting it correctly...

Do NOT ask how to setup correctly, read #2232... I have NOT tried it myself...

otarkhan commented 8 years ago

@repetier It seems that this error is happening only with mac version, does this make any sense?

thinkyhead commented 8 years ago

@tiagom62 That's the generic boot message. I assume Repetier and other hosts are looking at the output of M115 and not the boot message.

@otarkhan What output do you see from the M115 command in your (working) host software?

otarkhan commented 8 years ago

Finally, it's working. he problem was with the Baud rate, It was "250000" and when I changed it for " 112500" it worked

thank you all

jbrazio commented 8 years ago

problem was with the Baud rate, It was "250000" and when I changed it for " 112500" it worked

How did that fixed the issue ? Sounds like something is wrong at higher serial bps.

thinkyhead commented 8 years ago

Higher baud rates tend to be less reliable. But also, if the stepper ISR takes too long to finish then it could potentially block the serial interrupt, causing dropped characters in the serial input or output.

tiagom62 commented 8 years ago

@thinkyhead I still expect the versioning to be correct, it was just to show that i am indeed running RC6.

thinkyhead commented 8 years ago

If there is a bug here, it is related to comm issues generally, and we need to keep optimizing the Stepper::isr (and the functions it calls) to address that, especially.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.