LOTS of error messages when trying to verify firmware

Hello,

So do I scrap my Melzi board and use a RAMPS instead?  LOL, seriously though.  I'm getting a LOT of error messages when trying to verify the repetier firmware for a delta 3d printer using a melzi V3D board.  Everything seems to be fine but then I am receiving error after error for settings I either know nothing about or that shouldn't really need redefining either.  However, there appear to be a lot of anomalous pin settings that are not given a general setting and require me to change them all as they have no presets?  Very frustrating as it has taken me a long time to get to this point only to have even more errors pop up.  If anyone is able to tell me what is going on here or if there is a simple solution it would be greatly appreciated!

Pert of the error message(s) are as follows:
________________________________________________

Board Sanguino:Sanguino:atmega1284m doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA1284M
Board Sanguino:Sanguino:atmega12848m doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA12848M
Board Sanguino:Sanguino:atmega1284 doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA1284
Board Sanguino:Sanguino:atmega644 doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA644
In file included from sketch\HAL.h:77:0,

                 from sketch\Repetier.h:264,

                 from sketch\ui.cpp:20:

sketch\ui.h: In function 'void ui_init_keys()':

fastio.h:34: error: 'DIO52_DDR' was not declared in this scope

 #define  _SET_INPUT(IO)  do {DIO ##  IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)

     uint8_t entType = HAL::readFlashByte((const prog_char*)&(ent->menuType));// 0 = Info, 1 = Headline, 2 = submenu ref, 3 = direct action command
                                       ^

ui.cpp:2087: error: expected ')' before 'const'

exit status 1
'DIO52_DDR' was not declared in this scope

_____________________________________________________

Sigh....  So if anyone can make any sense of why I'm expected to redefine some of these pin settings or why this build.boards and DIO error swarms keep popping up, please let me know!  Thank you!

Comments

  • Other sections of the error message(s) are as follows:
    ______________________________________________



                     from sketch\Repetier.h:264,

                     from sketch\ui.cpp:20:

    sketch\ui.h: In function 'void ui_init_keys()':

    fastio.h:34: error: 'DIO52_DDR' was not declared in this scope

     #define  _SET_INPUT(IO)  do {DIO ##  IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)

                                  ^

    sketch\fastio.h:54:26: note: in expansion of macro '_SET_INPUT'

     #define  SET_INPUT(IO)   _SET_INPUT(IO)

                              ^

    sketch\ui.h:233:50: note: in expansion of macro 'SET_INPUT'

     #define UI_KEYS_INIT_CLICKENCODER_LOW(pinA,pinB) SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,HIGH);PULLUP(pinB,HIGH);

                                                      ^

    sketch\ui.h:824:3: note: in expansion of macro 'UI_KEYS_INIT_CLICKENCODER_LOW'

       UI_KEYS_INIT_CLICKENCODER_LOW(UI_ENCODER_A,UI_ENCODER_B); // click encoder on pins 47 and 45. Phase is connected with gnd for signals.

       ^

    In file included from sketch\HAL.h:77:0,

                     from sketch\Repetier.h:264,

                     from sketch\ui.cpp:20:

    fastio.h:34: error: 'DIO52_PIN' was not declared in this scope

     #define  _SET_INPUT(IO)  do {DIO ##  IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)

                                                              ^

    sketch\fastio.h:17:30: note: in definition of macro 'MASK'

      #define  MASK(PIN)    (1 << PIN)

                                  ^

    sketch\fastio.h:54:26: note: in expansion of macro '_SET_INPUT'

     #define  SET_INPUT(IO)   _SET_INPUT(IO)

                              ^

    sketch\ui.h:233:50: note: in expansion of macro 'SET_INPUT'

     #define UI_KEYS_INIT_CLICKENCODER_LOW(pinA,pinB) SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,HIGH);PULLUP(pinB,HIGH);

                                                      ^

    sketch\ui.h:824:3: note: in expansion of macro 'UI_KEYS_INIT_CLICKENCODER_LOW'

       UI_KEYS_INIT_CLICKENCODER_LOW(UI_ENCODER_A,UI_ENCODER_B); // click encoder on pins 47 and 45. Phase is connected with gnd for signals.

       ^

    In file included from sketch\HAL.h:77:0,

                     from sketch\Repetier.h:264,

                     from sketch\ui.cpp:20:

    fastio.h:34: error: 'DIO50_DDR' was not declared in this scope

     #define  _SET_INPUT(IO)  do {DIO ##  IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)

                                  ^

    sketch\fastio.h:54:26: note: in expansion of macro '_SET_INPUT'

     #define  SET_INPUT(IO)   _SET_INPUT(IO)

                              ^

    sketch\ui.h:233:66: note: in expansion of macro 'SET_INPUT'

     #define UI_KEYS_INIT_CLICKENCODER_LOW(pinA,pinB) SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,HIGH);PULLUP(pinB,HIGH);

                                                                      ^

    sketch\ui.h:824:3: note: in expansion of macro 'UI_KEYS_INIT_CLICKENCODER_LOW'

       UI_KEYS_INIT_CLICKENCODER_LOW(UI_ENCODER_A,UI_ENCODER_B); // click encoder on pins 47 and 45. Phase is connected with gnd for signals.

       ^

    In file included from sketch\HAL.h:77:0,

                     from sketch\Repetier.h:264,

                     from sketch\ui.cpp:20:

    fastio.h:34: error: 'DIO50_PIN' was not declared in this scope

     #define  _SET_INPUT(IO)  do {DIO ##  IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)

                                                              ^

    sketch\fastio.h:17:30: note: in definition of macro 'MASK'

      #define  MASK(PIN)    (1 << PIN)

                                  ^

    sketch\fastio.h:54:26: note: in expansion of macro '_SET_INPUT'

     #define  SET_INPUT(IO)   _SET_INPUT(IO)

                              ^

    sketch\ui.h:233:66: note: in expansion of macro 'SET_INPUT'

     #define UI_KEYS_INIT_CLICKENCODER_LOW(pinA,pinB) SET_INPUT(pinA);SET_INPUT(pinB); PULLUP(pinA,HIGH);PULLUP(pinB,HIGH);

                                                                      ^

    sketch\ui.h:824:3: note: in expansion of macro 'UI_KEYS_INIT_CLICKENCODER_LOW'

       UI_KEYS_INIT_CLICKENCODER_LOW(UI_ENCODER_A,UI_ENCODER_B); // click encoder on pins 47 and 45. Phase is connected with gnd for signals.

       ^

    ___________________________________________

    sketch\ui.cpp:451:5: note: in expansion of macro 'WRITE'

         WRITE(UI_DISPLAY_ENABLE_PIN, LOW);

         ^

    fastio.h:29: error: 'DIO44_WPORT' was not declared in this scope

     #define  _WRITE(IO, v)   do { if (v) {DIO ##  IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ##  IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)

                                           ^

    sketch\fastio.h:48:25: note: in expansion of macro '_WRITE'

     #define  WRITE(IO, v)   _WRITE(IO, v)

                             ^

    sketch\ui.cpp:458:5: note: in expansion of macro 'WRITE'

         WRITE(UI_DISPLAY_D4_PIN, c & 0x01);

         ^

    fastio.h:29: error: 'DIO44_PIN' was not declared in this scope

     #define  _WRITE(IO, v)   do { if (v) {DIO ##  IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ##  IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)

    ____________________________________________________

     _________________________________________

    sketch\ui.cpp: In member function 'void UIDisplay::nextPreviousAction(int8_t)':

    ui.cpp:2083: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]

         uint8_t mtype = HAL::readFlashByte((const prog_char*)&(men->menuType));

                                                   ^

    ui.cpp:2083: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]

    ui.cpp:2083: error: expected primary-expression before 'const'

         uint8_t mtype = HAL::readFlashByte((const prog_char*)&(men->menuType));

                                             ^

    ui.cpp:2083: error: expected ')' before 'const'

    ui.cpp:2087: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]

         uint8_t entType = HAL::readFlashByte((const prog_char*)&(ent->menuType));// 0 = Info, 1 = Headline, 2 = submenu ref, 3 = direct action command

                                                     ^

    ui.cpp:2087: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]

    ui.cpp:2087: error: expected primary-expression before 'const'

         uint8_t entType = HAL::readFlashByte((const prog_char*)&(ent->menuType));// 0 = Info, 1 = Headline, 2 = submenu ref, 3 = direct action command
    ______________________________________________

    Any thoughts or ideas on this?? It looks rather out of control when everything otherwise appeared to be all set :/  And considering that when I post the entire error message, it is telling me that I'm over my character limit by 170,000 characters, that ought to say something is wrong here LOL  Thanks.
  • edited April 2016
    It depends on Pin numbers , board is based on a Atmega1284 the Dip version has 40 Pins at all so you cannot have a Pin No 52...
    IO Pins highest number is 31 for this Controller
    check your Pinlist seems you have a mismatch there. how did you configure Firmware?
  • You can not simply set a display for Melzi. Most displays have no pin settings for that board so you need to tweak the numbers in ui.h for that display to get it working. That is also why you get pin numbers melzi does not have. These are from default display/board combination.
  • Sigh, is there a location where one can acquire preset firmware based on board or build?  A gathering or forum perhaps where people trade firmware or where it is downloadable based on board and setup?  I think it a bit odd that I would have to manually set the pins or other settings after entering board type, etc no?  Thanks for the help so far.

    Unfortunately I purchased my 3D printer as a kit that was supposed to have the firmware already pre-loaded and configured, which it was not.  So now I am going through the process of manually configuring my own firmware due to obvious stop issues locking out a motor, LCD display not working, etc.  Very annoying since the vendor is seemingly doing everything they can to not just send me a copy of the firmware so I can look it over - make necessary mods - then upload it to the machine. 

    Another problem is that I have no clue what to set my pin settings to, is there a tutorial or area where this is explained in detail?  Also, if I am designating the correct board type, should these issues remove themselves?  Thank you!
  • With the right board type most things work out of the box. Only if it is wired differently then normally supposed you have to modify the pins.

    On www.reprap.org you find pin descriptions for most available boards so you can look what component is hooked where.
  • Wow...  Okay, well everything is hooked up exactly the way it is supposed to be.  The only change is the addition of a heatbed, but that was defined in configuration.h and should not change the pin settings to that extent, correct?  Otherwise, everything is exactly as-is.  The addition of a heatbed and heatbed thermistor would not cause min-stop errors or LCD display errors, correct?
  • Okay, I have manually tracked down a sanguino file that had more appropriate options available, now I am only receiving the following error(s):

    Board Sanguino:Sanguino:atmega1284m doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA1284M
    Board Sanguino:Sanguino:atmega12848m doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA12848M
    Board Sanguino:Sanguino:atmega1284 doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA1284
    Board Sanguino:Sanguino:atmega644 doesn't define a 'build.board' preference. Auto-set to: SANGUINO_ATMEGA644
    exec: "-w": executable file not found in %PATH%
    Error compiling for board Sanguino W/ ATmega1284p 16mhz.

    Any thoughts on how I can fix these problems?
  • Maybe the sanguino files are too old for the Arduino version. I think there is a github project with a solution that allows just adding it in the boards manager without the typical copy stuff or did you use that already.

    Looks like the boards definition file is missing one parameter creating the warning and one executable is only -w or missing which causes the path error. Maybe just compare the boards file with one of arduino to see what is missing.
  • Sigh, Okay I don't get arduino at all.  It's like it only works in one direction.  I just tried updating to the more current 6 board supported hardware files and it just gave me loads of pin setting errors, meaning it is not compatible.  So I will have to stick with my original hardware sanguino board files and find another solution - perhaps modifying the files as you said.  However, now that I removed that folder and readded my sanguino folder to the hardware section in arduino, it no longer recognizes the folder and no sanguino boards are showing up on the list as available now....  ??  Does anyone have any idea why this would happen?
  • And yes, the sanguino files were used under arduino 1.0.5 and I have updated to 1.6.8.
  • Okay, it looks like that was a sort of solution.  I uninstalled arduino 1.6.8, I reinstalled 1.0.6 (oldest I had the original file for) and it appears to have recognized everything fine with no errors!  So thank you, it worked out.

    Also, it appears the changes made to the hardware folder ARE tracked by arduino in a log file within that folder.  So by uninstalling and reinstalling then adding back my old sanguino folder it took care of the missing boards problem as well.  That info might be of use in the future, LOL

    Thanks again!
Sign In or Register to comment.