vinman1000 0 Posted January 22 Report Share Posted January 22 (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 by vinman1000 Quote Link to post Share on other sites
John Dowson 134 Posted January 22 Report Share Posted January 22 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 Quote Link to post Share on other sites
vinman1000 0 Posted January 22 Author Report Share Posted January 22 I will give it a go and report back. Thanks! Quote Link to post Share on other sites
vinman1000 0 Posted January 23 Author Report Share Posted January 23 Works like a charm! I had to look up the two dots thing but now I know. Thanks again! Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.