repetier / Repetier-Firmware

Firmware for Arduino based RepRap 3D printer.
812 stars 734 forks source link

Compile error MB=9 #94

Open Kulitorum opened 11 years ago

Kulitorum commented 11 years ago

When loading 0.82 in Arduino 0022 and changing nothing but MOTHERBOARD=9 I get the following compile errors:

Repetier.cpp: In function 'void setup()': Repetier:451: error: 'DIOHEATER_2_PIN_DDR' was not declared in this scope Repetier:451: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope Repetier:452: error: 'DIOHEATER_2_PIN_WPORT' was not declared in this scope Repetier:452: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope Repetier:452: error: 'DIOHEATER_2_PIN_WPORT' was not declared in this scope Repetier:452: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope Repetier.cpp: In function 'void __vector_22()': Repetier:2559: error: 'DIOHEATER_2_PIN_WPORT' was not declared in this scope Repetier:2559: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope Repetier:2559: error: 'DIOHEATER_2_PIN_WPORT' was not declared in this scope Repetier:2559: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope Repetier:2605: error: 'DIOHEATER_2_PIN_WPORT' was not declared in this scope Repetier:2605: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope Repetier:2605: error: 'DIOHEATER_2_PIN_WPORT' was not declared in this scope Repetier:2605: error: 'DIOHEATER_2_PIN_PIN' was not declared in this scope

I have been searching all the files, and not found a mention of DIOHEATER anywhere???

I have selected board [BootloaderCDC]Teensylu/printrboard and #define NUM_EXTRUDER 1

Please help, I want the new one :)

PS: I think theres a messup with acceleration speed and travel_acceleration speed in the firmware (0.81) it seems it uses the move_acceleration (from EEPROM) always, and the "acceleration" is ignored.

Thanks for great software, love it :)

repetier commented 11 years ago

The problem should be fixed in the latest 0.82 github. Alternatively define

define HEATER_2_PIN -1

after including pins.h in Configuration.h

The names are mutations of that define.

EEPROM has always priority.

Kulitorum commented 11 years ago

Ok, this fixed it. But I cannot connect to the printer at all. I get "resend 1" and on second try, the host crashes.

I have tried both at 250000 (code setting) and 1500000 baud (EEPROM setting, that I usually use)

Any ideas?

repetier commented 11 years ago

Some peaople seem to have the resend problem. Can you say what version (commit) you used before where it was working, so I can limit the changes that could be the reason.

Kulitorum commented 11 years ago

I just downloaded and compiled the 0.81 from the website. That works.

repetier commented 11 years ago

Ok, i have checked already quite some commits and most are completely innocent. Could you try this version: https://github.com/repetier/Repetier-Firmware/tree/af89c6dba39cdf355e09335236f904c0048ca8a6 which I hope still works and this version from 17. march https://github.com/repetier/Repetier-Firmware/tree/5f86f7cca6cf65b2a50275f49bb51956c23b8e3d where i changed some interrupt preventions. Normally I would say these have no effect on connect. If I know which commit starts to fail I have a better chance to find the error line in question.

Kulitorum commented 11 years ago

I will give both a try when I finish my current print in about two hours.

Kulitorum commented 11 years ago

af89c6dba39cdf355e09335236f904c0048ca8a6 does not work. "resend 1" loop

5f86f7cca6cf65b2a50275f49bb51956c23b8e3d does not work. "resend 1" loop

none of them works for me. I cannot connect.

repetier commented 11 years ago

Ok, read through older commints and have a new favourite root. Could you try

define FEATURE_CHECKSUM_FORCED false

in the configuration.h instead of true. It changes the handling of checksums to improve reliability (that was at least the idea) but may also cause the resend. Please report back if it helps.

Kulitorum commented 11 years ago

Yep, that works.

Kulitorum commented 11 years ago

Oh, BTW, I was using the latest 82 from github, and that fix worked.

repetier commented 11 years ago

Thanks for testing. Updated firmware to 0.82.2 where I hopefully fixed the problem. In any case I have set

define FEATURE_CHECKSUM_FORCED false

as default, just in case the fix does not work as expected.

mhackney commented 10 years ago

Hmm, I had this exact problem trying to compile for board = 33 or 34 in .91 I googled "DIOHEATER_2PIN" and got exactly 1 result - this thread. the feature checksum is false by default now and it fails compile. However, the .91.7 latest code compiles fine for board 33 or 34.

But, I get an upload failure/timeout if the Viki LCD display is enabled.

repetier commented 10 years ago

I guess the timeout comes short after uploading starts? I found the reason and now I'm searching the solution. As soon as the firmware exceeds the lower 128kb bank, the compiler inserts trampoline code. As soon as that happens the compiled hex code contains !!! and there is bug in the bootloader. If someone sends a code containing !!! it will get timeouts from that position as the bootloader then switches into monitor mode. I hope to find the function in question so I can reposition it so that it doe snot create these chars when compiled.

mhackney commented 10 years ago

Yes it does, maybe 4-5 seconds of "violent" LED flashing, then fail.I see the loooonnnggg string of "!" in the verbose upload logging. So, enabling Viki is increasing the size to >128kb and that's it huh? Sounds like the old Apple // days (except that was 64kb banks).

I thought I saw that there is a new (as of 2010ish) boot loader that is immune to the "!!!" sequence? (https://code.google.com/p/arduino/issues/detail?id=392)

This only occurs when I enable the Viki display type (I checked the reprapdiscount type and that works fine).

thanks, Michael

mhackney commented 10 years ago

So, I see that you made a fix so I downloaded the latest to test. Now, with the Viki enabled, the upload succeeds. I saw the LEDs on the vici flash once but my display is just blocks. I can dig in from here, may be a wiring issue or pins issue since I didn't make any adjustments and this is the new X3 Pro board.

Spoke too soon! I hit the reset button on the X3 Pro and the LCD sprang to life.

thanks!

repetier commented 10 years ago

Try also pressing reset after power up. The viki always had some problems to start at the first time. There is code included that normally fixes it, but you never know.

mhackney commented 10 years ago

Yup, that worked. Thanks a lot. Now I need to wire it up. Using a RAMBo now on a Rostock and moving to a 4 extruder Kraken setup!

cheers, Michael On Mar 15, 2014, at 1:24 PM, repetier notifications@github.com wrote:

Try also pressing reset after power up. The viki always had some problems to start at the first time. There is code included that normally fixes it, but you never know.

— Reply to this email directly or view it on GitHub.