A32X Posted April 12, 2012 Report Posted April 12, 2012 I use readSW(0x0350) to read nav1 but all i get is a number like 4976 (for 113.700). Can someone explain me what i am doing wrong here? I am a PHP developer and this is going to me my first try with lua so dont blame me for not know that please :)
Pete Dowson Posted April 12, 2012 Report Posted April 12, 2012 I use readSW(0x0350) to read nav1 but all i get is a number like 4976 (for 113.700). Can someone explain me what i am doing wrong here? It is all precisely as documented, FS stored the frequencies in "BCD" (binary coded decimal), and only the 4 digits: 1370 in your example. The 100 digit is taken as read. Hex 0x1370 = decimal 4976. But you don't want the decimal. You want the separate groups of 4 bits for each digit. Hes 1370 is made up of 16 bits which are viewed in groups of 4, each running for 0 to F (A-F are used to represent 10-15). In this case, because they represent decimal numbers, you'll never see A-F in any case. If you want to convert to a string for display, you either need to use logical shifts and 'ands' to isolate each 4 bits and convert those to characters, or more easily, use the string.format function in Lua to get the hex digits in printable form, like: str = string.format("1%02X.%02X", math.floor(value/256), math.mod(value,256)) I've not tested that, mind, but you should get the idea. Pete
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