Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rambo, Ramps arduino/bugfix builds are broken #80

Closed
jeffeb3 opened this issue Apr 28, 2021 · 9 comments · Fixed by #81
Closed

Rambo, Ramps arduino/bugfix builds are broken #80

jeffeb3 opened this issue Apr 28, 2021 · 9 comments · Fixed by #81

Comments

@jeffeb3
Copy link
Collaborator

jeffeb3 commented Apr 28, 2021

I have been ignoring them for a while, hoping that bugfix will get fixed at some point. But that doesn't seem to be happening.

I'm not sure the root cause, this is the error I see:

2021-04-28T12:26:58.5211094Z In file included from /github/workspace/Marlin/Marlin/src/lcd/dogm/marlinui_DOGM.h:31:0,
2021-04-28T12:26:58.5211955Z                  from /github/workspace/Marlin/Marlin/src/lcd/marlinui.cpp:126:
2021-04-28T12:26:58.5213719Z /github/workspace/Marlin/Marlin/src/lcd/dogm/HAL_LCD_class_defines.h: In member function 'void U8GLIB_64128N_2X_HAL::init(pin_t, pin_t, pin_t, pin_t, pin_t)':
2021-04-28T12:26:58.5215121Z /github/workspace/Marlin/Marlin/src/lcd/dogm/HAL_LCD_class_defines.h:37:13: error: 'init' is not a member of 'U8GLIB'
2021-04-28T12:26:58.5216465Z      U8GLIB::init(&u8g_dev_st7565_64128n_HAL_2x_sw_spi, (uint8_t)sck, (uint8_t)mosi, (uint8_t)cs, (uint8_t)a0, (uint8_t)reset);

That looks like it isn't getting U8glib, or it is getting the wrong version. I see this at the top though:

2021-04-28T12:23:42.3525944Z Install required libraries
2021-04-28T12:23:42.3526495Z Install libraries U8glib

...

2021-04-28T12:26:23.7210869Z Alternatives for U8glib.h: [U8glib U8glib@1.19.1]
2021-04-28T12:26:23.7211484Z ResolveLibrary(U8glib.h)
2021-04-28T12:26:23.7225877Z   -> candidates: [U8glib U8glib@1.19.1]

The ways forward:

  • Ignore this, as it is in bugfix
  • Open an issue in main Marlin. The responses I've heard before to issues like this start with "use platformio", but not from Scott. They might want to know.
  • Disable the arduino builds for these boards, at least on bugfix. This would be an even stronger way to ignore the errors :)
  • Look into it, and try to update whatever U8glib dependency we need. Maybe the issue is that they changed it, or froze it, and we are specifying the wrong one? We specify it here: https://github.com/V1EngineeringInc/MarlinBuilder/blob/main/.github/workflows/rambo.yml#L98
@V1EngineeringInc
Copy link
Owner

Great minds....

I was looking into this yesterday and had a issue report typed up but canceled because I found out even less than you. I looked at the PR's in marlin on the 7th and forward, someone showed and issue and a couple of days later there was supposed to be a fix. I have not dug any deeper.

Is there anyway to compile with P.io?

@jeffeb3
Copy link
Collaborator Author

jeffeb3 commented Apr 28, 2021

Yeah, it should compile with both, and only keep the pio hex file. This is just an additional check I added to have some confidence that the software would build with arduino, since we were still using that at the time. It didn't catch the windows CreateProcess error though.

If I just disable the arduino compile, I think it should work again, but I guess I haven't tested that either. But then, I will just always assume that arduino is a dead end after 2.0.7.2.

@jeffeb3
Copy link
Collaborator Author

jeffeb3 commented Apr 28, 2021

I also found where I think the library is added in platformio:

https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/ini/features.ini#L38

The library name is a little different (U8glib-HAL) so maybe that is the difference. This is where I think the same line is in 2.0.7.2:
https://github.com/MarlinFirmware/Marlin/blob/2.0.7.2/platformio.ini#L228

The version is a little different.

@V1EngineeringInc
Copy link
Owner

The git blame says that change is 7 months old you think that is really it? Worth a shot either way.

P.io won't output the source as well as the hex?

@jeffeb3
Copy link
Collaborator Author

jeffeb3 commented Apr 28, 2021

The skr only uses pio. It will be the same as that build (but with a .hex instead of a .bin).

The arduino build step doesn't do anything for the output, it just is an extra step to tell us if it would build in arduino.

The git blame says that change is 7 months old you think that is really it?

Your git foo is strong. But the first one (in bugfix-2.0.x) was 20d ago. The change in 2.0.7.2 was months ago.

@jeffeb3
Copy link
Collaborator Author

jeffeb3 commented Apr 28, 2021

This is where I think it was broken (for us):

MarlinFirmware/Marlin#21496

Useful comment:
MarlinFirmware/Marlin#21496 (comment)

@jeffeb3
Copy link
Collaborator Author

jeffeb3 commented Apr 29, 2021

Argh.

Using library U8glib in folder: /home/runner/.arduino15/packages/rambo/hardware/avr/1.0.1/libraries/U8glib (legacy)

I think I finally have the Marlin folder "installed" in the right place, and it is using the rambo version instead.

@jeffeb3
Copy link
Collaborator Author

jeffeb3 commented Apr 29, 2021

So, if I just disable the arduino build, it still works fine, and we get green check marks. The builds are with platformio and have the same contents. We just don't have any warm fuzzies that it will build at all in arduino.

Maybe that is OK? Because we have XLoader now, and anyone who wants to edit it will just have to use platformio?

@V1EngineeringInc
Copy link
Owner

Heck yes, arduino IDE is falling behind quickly. Super finicky, and very slow. P.io is easy enough and Xloader seems to bridge the gap for the stragglers that don't want to edit.

Thanks homie!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants