Search found 870 matches

by mnfisher
Fri Mar 15, 2024 10:01 am
Forum: Feature Requests
Topic: Ternary operator in calculation block?
Replies: 7
Views: 200

Re: Ternary operator in calculation block?

Autocorrect on my phone..

I read it as not(!) equal - nice that either works...
by mnfisher
Fri Mar 15, 2024 9:21 am
Forum: Feature Requests
Topic: Ternary operator in calculation block?
Replies: 7
Views: 200

Re: Ternary operator in calculation block?

True - but I've not had any issues so far. Also use if(.x) rather than if(.x !=0 ) - would be interesting to know if it actually saves any memory / or time. Must do a test...

It could come back to bite me someday :shock:

Martin
by mnfisher
Fri Mar 15, 2024 6:18 am
Forum: Feature Requests
Topic: Ternary operator in calculation block?
Replies: 7
Views: 200

Re: Ternary operator in calculation block?

One trick I use a lot - allows an imitation of the ternary operator in a lot of cases.

Boolean operations return 1 for true and 0 for false.

So use:

.v1 = (.v2 < 20) + 2. // 3 if v2 is < 20 else 2

.flag = (.v == 10) // flag true if v = 10

Martin
by mnfisher
Thu Mar 14, 2024 3:43 pm
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

Is that 'in tractor' or only on the bench?

If it's in situ - how long are the leads to the Nextion display? Interfence might be affecting that?
by mnfisher
Thu Mar 14, 2024 8:03 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

Odd, how about waiting until the value changes from 128 - it sounds as though only the start byte is being received correctly. Can you just display (or send to uart) all the data received?
by mnfisher
Wed Mar 13, 2024 5:08 pm
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

I tried this - I've used a timer interrupt to add data if running as a simulation.
V1.7.fcfx
(23.77 KiB) Downloaded 9 times
by mnfisher
Wed Mar 13, 2024 4:24 pm
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

I think the issue is - your code continually searches for 128 - and as soon as it is found - attempts to read 4 bytes from 'after' the 128.
These may not have been received yet...
So - one solution is wait for 128 to be found then wait until caunt_rx >= 4 and then display the values.

Martin
by mnfisher
Wed Mar 13, 2024 9:44 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

Just done a quick test I did PutArray(.test, 10) LookForValue(.seek, 1, true, true) Where test = {x,x,x,128,129...) where x is any value and seek[0] = 128 LookForValue just returns 1 if the search value is found. (would the index (or -1) be better?) Then GetByte returns the 'following' data So in th...
by mnfisher
Wed Mar 13, 2024 9:32 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

You can set a character in a string to 128.as above. Each character is a byte. You can set values using a number as shown or a character (in single quotes) or set the whole string.
by mnfisher
Wed Mar 13, 2024 7:48 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 5777

Re: Protocol j1587

You can use LookForValue with a byte array or a string.

byte or string .val[1] // Looking for 1 value
.val[0] = 128

Then use LookForValue(.val, 1, ...)

Martin