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

16x2 LCD won't compile #87

Open
NickClark opened this issue Dec 12, 2019 · 2 comments
Open

16x2 LCD won't compile #87

NickClark opened this issue Dec 12, 2019 · 2 comments

Comments

@NickClark
Copy link

I'm using a LCD1602 module (non-shield). Two things of note:

  1. There's no clear pin listing, just a statement that it just works. For guys like me, knowing what the pins are can be quite helpful.

  2. The code doesn't compile. It complains about memory_start not being defined. (k3ng_keyer.ino
    line 7559)

For now I commented out that portion of the code and I figured out the pins (at least the screen seems to work fine). Everything seems fine, but I thought I'd file the issue here to make it better for others in the future if you can tidy it up.

Awesome project btw, thanks so much! 😄

@VK2EFL
Copy link
Collaborator

VK2EFL commented Dec 18, 2019

Nick,
The code supports quite a few different display types with different connection methods. 4 bit, 8 bit, I2C etc.
And yes the generic schematic just does not show any pins connected to a display. Perhaps because there are so many choices and perhaps because you don't necessarily require a display to use the keyer.
Assuming you are using the 4 bit connection to your LCD display then a search in the sketch shows that feature appears in only a few places. Mainly to include the necessary libraries and once to declare the variable 'lcd' and initialise it. The declaration line has a number of pins used, lcd_rs, lcd_enable, lcd_d4, lcd_d5, lcd_d6, lcd_d7, and they are defined in the file keyer_pin_settings.h. So that is where you can find which arduino pins are in use. I know, it is a bit of a circuitous search to get the answers.
There is some information in the wiki section on displays at -
https://github.com/k3ng/k3ng_cw_keyer/wiki/330-Feature:-Display

memory_start is a function. If FEATURE_MEMORIES is defined, memory_start is declared on line 16167 of version 2019.11.13.01
I don't see any listing for a call to that function near line 7559. There is a call at line 4687 and the next one down is on line 10136 (but it is commented out and so would not be included in a compile) and the next uncommented call is on line 14991.
When you attempt to compile is that error the very first one in the listing that gets produced. An error somewhere in the code can produce a rather lengthy sequence of errors and the last one to be listed is the one you see in the window where the errors get displayed, but it isn't necessarily the root cause of the problem.
Fred VK2WS

@k3ng
Copy link
Owner

k3ng commented Apr 24, 2020

Hi Nick. The memory_start error was fixed in version 2020.04.13.01.

I'll admit that documentation is lacking in areas, a lot of areas, in fact. Sorry you had to go through some detective work, but if you'd like to contribute some documentation on this and help out the next person, I'd be happy to publish it in the wiki and give you credit, of course.

73
Goody
K3NG

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

No branches or pull requests

3 participants