Your comments

In general, designs with large state machines tend to take up more memory when calculation objects are duplicated in different states. 


For this particular example of a text conversion workaround, a solution based on one integer math channel feeding into one State parameter channel is probably more efficient than creating a large SMC to identify the individual character. 


A built-in function for this would most probably be a lot more memory efficient still.


No updates, but this might be something to consider for future versions

You can add a VDIN to an adjust group, but only in the case when it is toggle and store value, so it does not give the momentary action you asked for. 


One problem that one gets when using a DP to temporary activate something is that it is easy to forget to leave it on. 

There is a solution library example that shows how to make an automatic reset function on DP and other adjustable channels: 

\IQAN Files\Solution Library\Parameter reset automatic.ids4


Another thing that is good to know about the VDIN that is configured to not be toggling is that on the MD4 there is a timeout on the button, there is a limit on how long it can be pressed before it automatically resets to false. 

I assume that when you write "VDIN menu button", you mean the text/symbol/custom button linked directly to the enter menu system, adjust group or adjust item action? 

By going via the VDIN channel, one would have to link this to the External buttons action for entering menu system. 


The reason that the MD4 automatically selects the spinner when using the External buttons is that the interface for the keypad style PIN code entry only works with the touch interface, while the spinner works on both touch and with external buttons encoder control. 

This method gives a solution that works on MD4-5-T0 without introducing any new properties.

Also see: http://forum.iqan.se/topics/555-iqandesign-404-released/



But I see the point, for an MD4-7 there is always a touch interface, so there another property to select between keypad and spinner for the PIN entry could be of use. 

All the handling of the different processes that run on an IQAN module is done by the lower level embedded SW, and is not available on the application layer. 

All application functionality is executed once every cycle (with the exception of TSC1 and fast JFOUT, that may run faster)


I believe the question is about achieving something like this other topic?  

http://forum.iqan.se/topics/610-setting-cycle-time-for-individual-function-groups/

Using one state channel and combining the characters using a TFC is the workaround I have used too. A variant I used was to first run each byte through a math channel to skip the first non-printing characters, and then use this math channel as input to a state parameter. 


I have come across several applications where some built-in support for string handling functions would be useful. I'll convert this topic from "question" to "idea"

Thanks Gary, I had already forgotten about this one.


The problem was solved in IQANdesign 4.07. 

The status "J1939 error" is logged for the JPIN channel, you will see it when the JFIN is received, the value of the JPIN is in the J1939 range for errors, and the JPIN is configured to use J1939 error check. 

The log record will show the channel name, in this case "Instantaneous Fuel Economy", and the status "J1939 error". 


Without knowing the application it is hard to say, but I would guess you have a channel reading the Engine Instantaneous Fuel Economy (SPN 184), this would be connected to a JFIN with PGN 65266


It would look something like this, and have the property J1939 Error check set to Yes:



For a 2-byte JPIN, values above 64255 (0xFAFF) are seen as errors. 


Assuming that it is this Engine Instantaneous Fuel Economy (SPN 184), it would be better to set this property to No. 

The SAE J1939DA states the following about this parameter: 

"Current fuel economy at current vehicle velocity.

0xFB00 = Infinite (for example, during engine motoring)"


Thanks, good to hear that you solved it.