vinman1000 Posted January 22, 2021 Report Posted January 22, 2021 (edited) I have a transponder that sends digits from arduino via serial which FSUIPC reads. I can parse the serial and see the digits (i.e.:1200) but have a problem controlling the setting. If I look for a specific string (like 1200) I can then send something specific in ipc.control, like 0x1200 . For example, this works: function Arduino_Data(Arduino_Com_Port, datastring, length) if (string.find(datastring, "1200")) then ipc.control(65715,0x1200) end end However, doing it this way I would have to look for all variations ox 0000 thru 7777 and write each ipc.control manually. So I am trying this: function Arduino_Data(Arduino_Com_Port, datastring, length) if (string.find(datastring, "%d")) then xpdrcode=tonumber(datastring) ipc.control(65715,xpdrcode) end end The problem is ipc.control requires 0x. I seem to be unable to pass it a variable successfully I have even tried this to no avail. function Arduino_Data(Arduino_Com_Port, datastring, length) if (string.find(datastring, "%d")) then xpdrcode=tonumber(datastring) xpdrcodehex=string.format("%x",xpdrcode) ipc.control(65715,xpdrcodehex) end end Can anyone provide direction on how to get the proper format for the ipc.control parameter? This is my first foray into LUA and I have very limited programming knowledge but it is fun. Thanks, Vin Edited January 22, 2021 by vinman1000
John Dowson Posted January 22, 2021 Report Posted January 22, 2021 You are mixing things up a bit. If your argument string is a hex number (without the leading '0x', try this: function Arduino_Data(Arduino_Com_Port, datastring, length) if (string.find(datastring, "%d")) then xpdrcode=tonumber("0x"..datastring) ipc.control(65715,xpdrcode) end end John
vinman1000 Posted January 22, 2021 Author Report Posted January 22, 2021 I will give it a go and report back. Thanks!
vinman1000 Posted January 23, 2021 Author Report Posted January 23, 2021 Works like a charm! I had to look up the two dots thing but now I know. Thanks again!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now