Problem with Matrix Keypad

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
stco_1575631
Level 2
Level 2
10 replies posted 5 replies posted 5 sign-ins

Sorry to trouble you Bob (unless anyone else can answer)

Okay firstly I admit to being a relative newbie to PSOC. This is my first attempt to download a community library.

I HAVE watched all (I think) the videos , and been over all the postings, but still getting errors.

Firstly I downloaded the library according to this video as a general  library for all projects according to this: Pretty sure Ive tried with and without code in the dependencies, but which should it be??

https://www.cypress.com/video-library/PSoC-Software/psoc-creator-tutorialcomponent-creation-adding-l...

Then tried opening your example and got same errors as my next test which was to open a new project with a blank schematic, and import just the keypad. Added a clock and a pin (doesnt matter if IRQ or not,) and get errors shown in attachment. Its also independant of no of keys  tried 2x2 to 8x8.

Net 116 is not Clock or Pressed so where is it??

Help greatly appreciated

Steve

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.

Internet works again.

You probably did a bit too much. The component to download is not up to date and must be changed a little bit.

Have a look into this thread.

  • Check your Creator for latest version
  • check for new devices and components (Tools...)
  • Load the library project
  • Right click on the Project and select "Update Components"
  • Build and close
  • Open the example project and update as above

I batched a corrected example project.

Happy coding

Bob

View solution in original post

0 Likes
8 Replies
BoMa_4329931
Level 3
Level 3
First like received

Can you please post your complete project so that we all can have a look at all of your settings. To do so, use

Creator->File->Create Workspace Bundle (Complete)

and attach the resulting file.

Bob

0 Likes
lock attach
Attachments are accessible only for community members.

Hi Bob,

Attached is bundle and report of what it didnt include.

Thanks

Steve

0 Likes

I must admit having serious trouble with my internet connection (living on the countryside). I am at this time not able to download your project files. As soon as possible I'll be right back to you.

Bob

0 Likes

OK Bob,

Understood. I was a bit surprised how big it is for 1 component.

Ive got a ton of stuff to sort with this project, so dont worry too much. I am just glad to know that it will get sorted in a week or so.

Thanks

Steve

0 Likes
lock attach
Attachments are accessible only for community members.

Internet works again.

You probably did a bit too much. The component to download is not up to date and must be changed a little bit.

Have a look into this thread.

  • Check your Creator for latest version
  • check for new devices and components (Tools...)
  • Load the library project
  • Right click on the Project and select "Update Components"
  • Build and close
  • Open the example project and update as above

I batched a corrected example project.

Happy coding

Bob

0 Likes
lock attach
Attachments are accessible only for community members.

Thanks for the response, glad your internet is back

example now builds OK, but if I try to use in my own program I get errors that looks like its trying to use your code.

I basically loaded and updated your library, then added to blank workspace under Tools so it appears under Community library.

Except it doesn't  with your example.

Could you clarify if Library dependency shoul be loaded with Code or not?

Whats my 'deliberate' mistake please

Thanks for your help Bob. New download is a lot smaller, so hopefully wont strain your internet too much.

Steve.

0 Likes

Replace #include <device.h> with <project.h>

You get the bunch of errors because the component's names do not match the API names.

omponent: KeyPad_1

API MyKeyPad

So easiest is to change component name to "MyKeyPad"

Bob

0 Likes

Thanks Bob,

Now compiles OK ( 2 warnings) after change you suggest, also change LCD_xx  to just LCD.

Warnings were

implicit conversion of int to uint8 in

uint8 MyKeyPad_Readswitches(void) CYREENTRANT;

lines

MyKeyPad_Columns_Write(~KEYCOLMASK);
MyKeyPad_Rows_Write(~KEYROWMASK);

Have to wait till I get some hardware to test but thanks, I have confidence to build board now.

Steve

0 Likes