VisiD1 component

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 8.

Moderator: Benj

Post Reply
markavo
Posts: 33
Joined: Wed Apr 11, 2018 11:10 pm
Has thanked: 10 times
Been thanked: 2 times
Contact:

VisiD1 component

Post by markavo »

Been using the Visi4D component no code changes and suddenly (was working) i get no ACK from a onscreen userButton i can update digits for example i also see a new function within the component ChangeHWBaud

As anything else changed to stop this function working as expected and was functioning.

markavo
Posts: 33
Joined: Wed Apr 11, 2018 11:10 pm
Has thanked: 10 times
Been thanked: 2 times
Contact:

Re: VisiD1 component

Post by markavo »

Ok not sure why but very strange that i start a simulation to check all again then write back to the F746 and now i see a ACK

Back to the issue i was trying to sort out im getting slow or no ACK to the MCU using VisiD1 object the more code i add the slower it appears
Any ideas why please (i have also requested several times for help on this subject in General)

First image shows the button selection
Second image shows the missing ACK from pressing the button on the display
Third image is the loop the fist image sits in with a delay and reset for the display.
Attachments
2.png
(23.14 KiB) Downloaded 1224 times
1.png
(10.33 KiB) Downloaded 1224 times
4.png
(13.63 KiB) Downloaded 1224 times

markavo
Posts: 33
Joined: Wed Apr 11, 2018 11:10 pm
Has thanked: 10 times
Been thanked: 2 times
Contact:

Re: VisiD1 component

Post by markavo »

Matrix

I’m getting no support on this subject the visi recive object is not always working / stops working altogether to receive the data from the display to give no ack back to the display or nak.

The issue above was due to to many visiReceve if statements create one and it stops the missing of ack.
Then request within this if the id, type, lsb, msb for all buttons keyboard and so on.

But once ack is lost it’s lost until a reset.
I’ve proved this out with minimal code in a loop with a visiRecive to a if statement to display a digit via a user button keep pressing the user button over and over again the acknowledgement stops once it stops that’s it no more ack no mater how many times the userbutton sends the command (the command is getting to the mcu I display a sting to prove to me it’s still going round the loop)

where are the files that the code for visi component is generated from I would like to take a look at the c code specifically for visi receive

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: VisiD1 component

Post by Benj »

Hello,

The C code should be available by clicking Build -> View C code.

The 4D display you're using likely has a slightly different version of the 4D systems API built in. Can you use the UART component instead and communicate directly with the display. This should allow you to use which ever version of the API that is built into the display.

markavo
Posts: 33
Joined: Wed Apr 11, 2018 11:10 pm
Has thanked: 10 times
Been thanked: 2 times
Contact:

Re: VisiD1 component

Post by markavo »

Hi

Is there a way to change the c code that is generated for the Visi4D component i see from the view C in build that the VisiReceive says if a 0x06 is returned this then equals 0 but anything else equals 255.

When you send a object to the display it sends an acknowledgment back of 0x06 this is fine to be equal to 0
But if the screen sends a Not acknowledgment of 0x15 or anything else i get 255 back i need to be able to differentiate a 0x06 = 0 (all ok) 0x15 = maybe 1 or leave at 15 everything else can be 255 is fine.

The reason for this is that 0x06 i can process and get other data and do as required.
When a 0x15 is returned the display if out of sync and i need to re-sync i'm unable to do this as anything but 0x06 is classed as 255 as far as i can see.

Can anything be do here please.
Thanks.

Post Reply