Implementing a Menu

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

cross mob
Anonymous
Not applicable

Hello guys,

I'm using the PSoC 5LP board for my thesis and, I'd like to know if it is advisable to implement a menu with it.

I'm mainly using it to send data over USBUART, but I'd like the user to control part of the process, like, for example:

1 - turn LED on

2 - turn LED off

3 - start data conversion

4 - send data over UART.

I've sort of implemented it, but went against a wall as the program got stuck in a condition I wrote. So, my question is, should I implement a menu (like the one above) in the firmware?

Best regards

0 Likes
3 Replies
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

Check two demo projects of menu implementation using rotary encoder with button switch, including 2x16 Character LCD and Nextion touchscreen display:

Quad Decoder with Button Switch component for rotary shaft encoders

Read provided App Note for details.

odissey1

Nextion-32-Enhanced-HMI_01c.jpg

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

I've seen your implementation and , sadly for me, it does not apply to my situation. I'm going to attach my project in order to show what sort of solution I'm trying to create.

Also, so far, I can only send 64 bytes (due to limitation with the USBUART component) but my data array has 1024 samples. Before I had a way to make the psoc continuously sending data, so that my python interface could retrieve it.

Basically, how can I increment the array position, after sending the first 64 bytes (DMA or another solution)?

p.s the project's name is "memoryTOusbfs"

0 Likes
Anonymous
Not applicable

The sample16 array has 1024 samples.

Here is where I send the data over USBFS. Since I can only do it 64 bytes at a time, I'd like to know if there is a way to assign the pointer to the begining of the next 64 bytes inside the sample16 array. Something like a counter.

while(1){

   USBUART_PutData((uint8*)sample16,BUFFER);

    LED_Write(1);

}

0 Likes