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

Fix for cant compile when REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER ... #1303

Merged
merged 2 commits into from
Jan 4, 2015
Merged

Conversation

wgm4321
Copy link
Contributor

@wgm4321 wgm4321 commented Jan 3, 2015

...defined

Adds defines for float43 which is used for the filament menu.

@wgm4321
Copy link
Contributor Author

wgm4321 commented Jan 3, 2015

@monkeydave, can you try this fix for the compile errors?

I couldn't fully compile the source because I can't get the U8glib to be recognized by the Arduino IDE. However, I think this addresses the issues I introduced.

@monkeydave
Copy link
Contributor

Marlin now compiles when REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER is defined

I have tested this with my Azteeg X3 Pro board and reprap discount full lcd, after merging in the latest Development branch as @wgm4321 Development branch isn't upto date. It compiled successfully and uploaded successfully to my board.

@boelle
Copy link
Contributor

boelle commented Jan 4, 2015

dev branch is up to date.... we just cant merge all pull requests... some
direct fail the CI build and some cant be merged automatic...

2015-01-04 0:53 GMT+01:00 monkeydave notifications@github.com:

Marlin now compiles when REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER is
defined

I have tested this with my Azteeg X3 Pro board and reprap discount full
lcd, after merging in the latest Development branch as @wgm4321
https://github.com/wgm4321 Development branch isn't upto date. It
compiled successfully and uploaded successfully to my board.


Reply to this email directly or view it on GitHub
https://github.com/ErikZalm/Marlin/pull/1303#issuecomment-68614575.

@boelle
Copy link
Contributor

boelle commented Jan 4, 2015

oh you meant this one was not merged... it will be now.. we are not always fast as lightning

boelle added a commit that referenced this pull request Jan 4, 2015
Fix for cant compile when REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER ...
@boelle boelle merged commit 3d9f4ac into MarlinFirmware:Development Jan 4, 2015
@alexborro
Copy link
Contributor

Ok and what about all other LCDs like Viki? We need to take care when
adding something that can mess other stuffs.

Otherwise many people will have they firmware broken when upgrading to a
latest version.
Em 03/01/2015 22:29, "Bo Herrmannsen" notifications@github.com escreveu:

Merged #1303 https://github.com/ErikZalm/Marlin/pull/1303.


Reply to this email directly or view it on GitHub
https://github.com/ErikZalm/Marlin/pull/1303#event-213724188.

@wgm4321
Copy link
Contributor Author

wgm4321 commented Jan 4, 2015

@alexborro My changes were new float43 versions derived from the float32 references in ultralcd.cpp.

It seems that each controller must implement these routines. So I searched for all references to float32 and made sure that there was a float43 version on the assumption that if float32 was referenced, a compiler error would occur if the float43 form didn't exist.

There was only one other definition for float32 that didn't have a float43 and that was in dogm_lcd_implementation.h.

So where there was just:
#define lcd_implementation_drawmenu_setting_edit_float32_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32((data)))
#define lcd_implementation_drawmenu_setting_edit_float32(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(
(data)))

and

#define lcd_implementation_drawmenu_setting_edit_callback_float32_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32((data)))
#define lcd_implementation_drawmenu_setting_edit_callback_float32(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(
(data)))

there is now:
#define lcd_implementation_drawmenu_setting_edit_float32_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32((data)))
#define lcd_implementation_drawmenu_setting_edit_float32(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(
(data)))
#define lcd_implementation_drawmenu_setting_edit_float43_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr43((data)))
#define lcd_implementation_drawmenu_setting_edit_float43(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr43(
(data)))

and

#define lcd_implementation_drawmenu_setting_edit_callback_float32_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32((data)))
#define lcd_implementation_drawmenu_setting_edit_callback_float32(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(
(data)))
#define lcd_implementation_drawmenu_setting_edit_callback_float43_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr43((data)))
#define lcd_implementation_drawmenu_setting_edit_callback_float43(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr43(
(data)))

Hopefully, that catches all other LCDs.

Let me know if you think this isn't sufficient.

@monkeydave
Copy link
Contributor

@alexborro
See my PR #1304 this checks compile for most of the LCD's now with Travis CI, some need extra hardware files added and can't be automatically checked yet.
I think the only LCD I haven't been able to compile with yet is SAV_3DLCD but I haven't really looked into it yet either.

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 this pull request may close these issues.

4 participants