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

How to use Wire.h and another lcd lib? #26

Closed
alx opened this issue Dec 5, 2011 · 11 comments
Closed

How to use Wire.h and another lcd lib? #26

alx opened this issue Dec 5, 2011 · 11 comments

Comments

@alx
Copy link

alx commented Dec 5, 2011

Hi,

In the following commit, I'm trying to use the current implementation of ultralcd with another lcd system that uses i2c, that uses an arduino lib compatible with LiquidCrystal method calls:

alx@1842ef0

Compiling under arduino 0022, I've got this error:

In file included from Marlin.cpp:35:
ultralcd.h:19:22: error: Wire.h: No such file or directory
ultralcd.h:20:26: error: Deuligne.h: No such file or directory
In file included from Marlin.cpp:35:
ultralcd.h:20: error: 'Deuligne' does not name a type
ultralcd.h: In member function 'void MainMenu::updateActiveLines(const uint8_t&, volatile int&)':
ultralcd.h:95: error: 'lcd' was not declared in this scope
ultralcd.h: In member function 'void MainMenu::clearIfNecessary()':
ultralcd.h:131: error: 'lcd' was not declared in this scope

It seems that Wire.h is not found, I've tried to place Wire.h and Deuligne.h in Marlin.pde, then it finds it during compilation, but I hit another issue:

In file included from planner.cpp:66:
ultralcd.h:18: error: 'Deuligne' does not name a type
ultralcd.h: In member function 'void MainMenu::updateActiveLines(const uint8_t&, volatile int&)':
ultralcd.h:93: error: 'lcd' was not declared in this scope
ultralcd.h: In member function 'void MainMenu::clearIfNecessary()':
ultralcd.h:129: error: 'lcd' was not declared in this scope

Would you have some hints about how to do this modification properly?

More details about Snootlab Deuligne:

Thanks :)

Alex

@bkubicek
Copy link
Contributor

bkubicek commented Dec 5, 2011

Why don't you use a recent arduino env, i.e. 1.0 or at least 23? Maybe that would help. Apart from that, I cannot really help you, as I don't have this hardware and cannot test/try, and have really not so much time. However, the actual used routines of the LiquidCrystal are very limited, and could be easily replaced: Do a file search for "lcd."

@alx
Copy link
Author

alx commented Dec 5, 2011

Hi Bernhard,

Thanks for the comment, I've already tried with arduino 0023 and 1.0, without success. I've tried with 0022 because it was mentionned in the Makefile available in Marlin folder.

I'll let you know if I succeed to use ultralcd with deuligne hardware, otherwise I'll continue to use my own lcd lib - https://github.com/alx/Marlin/blob/deuligne/Marlin/lcd.pde - but that's ashame, yours seems a lot more usable :)

@ErikZalm
Copy link
Contributor

ErikZalm commented Dec 5, 2011

Hello Alex,

I never looked at this display but I will look at it this week.
If it looks ok I will try to add it to Marlin and try too check where the compile errors are coming from.

Best regards,

Erik van der Zalm

On Dec 5, 2011, at 2:08 PM, Alexandre Girard wrote:

Hi,

In the following commit, I'm trying to use the current implementation of ultralcd with another lcd system that uses i2c, that uses an arduino lib compatible with LiquidCrystal method calls:

alx@1842ef0

Compiling under arduino 0022, I've got this error:

In file included from Marlin.cpp:35:
ultralcd.h:19:22: error: Wire.h: No such file or directory
ultralcd.h:20:26: error: Deuligne.h: No such file or directory
In file included from Marlin.cpp:35:
ultralcd.h:20: error: 'Deuligne' does not name a type
ultralcd.h: In member function 'void MainMenu::updateActiveLines(const uint8_t&, volatile int&)':
ultralcd.h:95: error: 'lcd' was not declared in this scope
ultralcd.h: In member function 'void MainMenu::clearIfNecessary()':
ultralcd.h:131: error: 'lcd' was not declared in this scope

It seems that Wire.h is not found, I've tried to place Wire.h and Deuligne.h in Marlin.pde, then it finds it during compilation, but I hit another issue:

In file included from planner.cpp:66:
ultralcd.h:18: error: 'Deuligne' does not name a type
ultralcd.h: In member function 'void MainMenu::updateActiveLines(const uint8_t&, volatile int&)':
ultralcd.h:93: error: 'lcd' was not declared in this scope
ultralcd.h: In member function 'void MainMenu::clearIfNecessary()':
ultralcd.h:129: error: 'lcd' was not declared in this scope

Would you have some hints about how to do this modification properly?

More details about Snootlab Deuligne:

Thanks :)

Alex


Reply to this email directly or view it on GitHub:
https://github.com/ErikZalm/Marlin/issues/26

@alx
Copy link
Author

alx commented Mar 12, 2012

After a new try, I've succeeded in removing the compilation errors by moving Wire.h and Deuligne.h in Marlin folder, and quickly make the code dirtier than it should.

But then the lcd is not switching on, and it's not possible to connect to the arduino via Printrun.

I suspect that the uploaded code is failing on the board and is not able to open a serial connection, I'll move back to my custom lcd lib to implement it with the new Marlin, even if I dream to use ultra_lcd lib one day :)

@alx
Copy link
Author

alx commented Mar 12, 2012

Here is the different call when compiling an example from Deuligne lib, and Marlin:

https://raw.github.com/gist/2023450/c23a5ca8fb9e038f38238d5992bfbab8fd0e5b0e/gistfile1.txt

As you can see, the exemple gets the Wire and Deuligne lib locations in its option, but nothing appears during the compilation of Marlin. Where do these options are created inside arduino?

@alx
Copy link
Author

alx commented Mar 12, 2012

ok, I need to declare the call to Wire and Deuligne lib inside Marlin.pde for them to be fetch during compilation, one step closer to ultra_lcd support :)

@alx
Copy link
Author

alx commented Mar 12, 2012

Good, it compiles and upload correctly (still dirty), but it's then impossible to connect to the printer using Printrun.

Here is the compilation log: https://gist.github.com/2023523

I'll try to find a way to know what happens when the arduino is initializing, and find the possible error.

@ErikZalm
Copy link
Contributor

Hello Alex.

Thanks for porting it. I will check it in a few days.

@alx
Copy link
Author

alx commented Mar 13, 2012

Hello Erik,

Do you think it could be a memory issue?

Here is the memory footprint after the compilation:

#define LCD
Binary sketch size: 85794 bytes (of a 258048 byte maximum)

//#define LCD
Binary sketch size: 63024 bytes (of a 258048 byte maximum)

#define BLOCK_BUFFER_SIZE 4
//#define LCD
Binary sketch size: 62646 bytes (of a 258048 byte maximum)

#define BLOCK_BUFFER_SIZE 4
#define LCD
Binary sketch size: 85416 bytes (of a 258048 byte maximum)

I've committed the current non-working code on https://github.com/alx/Marlin
It's compiling/uploading, but when activating the LCD config, I'm still not able to connect to the serial port.

Unfortunately, I haven't try activating just the ULTRA_LCD config, to be sure the same issue doesn't appear with this config. I'll try it as soon as I return to the machine.

@nothinman
Copy link
Contributor

(issue created a long time ago; reopen if there's no fix in place)

rosenhouse pushed a commit to rosenhouse/Marlin that referenced this issue Feb 16, 2015
…eases

Upload binary blob to S3 on release branches
kgilliam2 pushed a commit to kgilliam2/Marlin that referenced this issue Oct 29, 2020
tonokip pushed a commit to ultimachine/Marlin that referenced this issue Jan 24, 2022
Resolve "Cool down after auto calibration"

Closes MarlinFirmware#26

See merge request lulzbot3d/marlin!20
@github-actions
Copy link

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.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants