Jump to content
The simFlight Network Forums

rickalty

Members
  • Posts

    163
  • Joined

  • Last visited

Posts posted by rickalty

  1. Rudder pedals are probably the easiest piece of hardware to make for yourself. There's nothing in there but a single 100k-Ohm potentiometer. No electronics, no circuits or anything. If you're using a gameport yoke, which pins to hook the wires from the pedals to is posted all over the net. I'm not used the USB versions, but I'm sure that's out there too.

    Couple of hours and a hanfull of guilders and uou'll have better pedals than you could buy, and cheaper too.

    if you look in the cockpit builders forum on http://www.avsim.org, there's several links to pedals people have made, including pictures, scematics and everything.

    Richard

  2. OK.... this may be a really silly question, but since I switched to the registered version of FSUIPC I can't access WideFS anymore, so I can't check for myself....

    Does a computer running WideFS have to be running MSFS itself?

    I'm writing a stand-alone application to display a "Project Magenta" type instrument panel on an outside computer, but it's all in Visual Basic, so no OpenGL / 3D acceleration will be needed on the client. If they don't need to run MSFS even, then I can use REALLY cheap old laptops for this.

    Richard

  3. Thanks, Ulysses.

    I also found this site....

    http://mikkila.wabbits.org/fsbus/lcd/

    with the wiring diagram for wiring two LCD's to a single Parallel port. There's also a link to download a freeware program to interface with FSUIPC and drive the displays.

    Here's what I'm planning to do...

    lcdpanel.bmp

    Total cost should be around $40. I got five 2x24 LCD's for $20, of which I'll only use 2, a 25 pin connector, some wire and half a dozen $3 knitter switches.

    Richard

  4. Hi everyone, this isn't strictly FSUIPC related, but I have great faith in the assembled genius of the regulars, so here we go anyway.....

    I have found around the net numerous sites telling how to wire a cheap 44780 driven LCD display to a parallel port. The LCDs can be picked up for around $3 for a one line x 16 char display, and no electronics are needed to conect them to a parallel port. Four or five of them would be enough for a basic GA radio stack, making this a cheap solution if it's possible.

    My question is, though, is it even possible to wire more than one such display to a single parallel port? Getting the data from FSUIPC to the port shouldn't be too tricky, but I don't know if the hardware side is even doable. Does anyone know ?

    Rick

  5. Thanks very much, guys, I've got it now.

    I had actually just finished a routine using the full mathematical explanation Doug posted when I saw Chris' post

    I hadn't even looked for a "hex" function, because when I was searching the forum for this info, I had found a post from someone in which he had stated that VB didn't HAVE a hex function, so I hadn't even checked. :-(

    I got it to work, but it was long. using Hex() is far easier.

    This code works fine....

    Private Sub cmdConvert_Click()
    
    Dim Answer As String
    Dim valanswer As Double
    Dim bcdinput As Long
    
    bcdinput = txtInput.Text
    Answer = Hex(bcdinput)
    
    txtAnswer2.text = Answer
    ' this displays the answer in hex, just as a visual check
    valanswer = Val(Answer)
    valanswer = 100 + (valanswer / 100)
    txtAnswer.Text = valanswer
    ' this is the answer that would actually show on the radio panel
    
    End Sub
    

    now to work on the interface to the LCD's

    Richard

  6. Hi Doug, thanks.

    Changing the byte size to two did indeed give me the four digit number that, I can tell, equates to the actual frequency. The 34E was actually deliberate - in my fiddling around I was trying reading the COM1 frequency rather than the ADF but had left the variable named as ADF since this was still just at the 'try it out' stage.

    However..... I still don't know how to readily convert the BCD value to what I actually want to show. If I set the COM1 to 121.90 for example, the stored value should be Ox2190. The value I get (confirmed by FSInterogate) is 8592. How do I take the value 8592 and get 2190 fom it? (From 2190 to 121.90 even I can figure out :-))

    Richard

  7. Well, "DUH"........ I realised why it keeps showing "0" as the value - I hadn't included a line to assign the value to the variable fADF!

    Changing it slightly to read....

    Dim iADFfreq As Long 
    Dim fADF As Double 
    
    Call FSUIPC_Read(&H34E, 4, VarPtr(iADFfreq), dwResult) 
    Call FSUIPC_Process(dwResult) 
    
    fADF=iADFfreq
    
    lblADFfreq.Caption = fADF 
    

    results in my getting the correct value out....... "except" that the result is in 32bit format. in other words, I get a result of 3282129E+08

    How do I convert this to the 2190 that I need for the display ?

    Thanks,

    Richard

  8. Hi everyone. I'm trying to write an app to display the Avionics settings, and I've hit a block. My app is returning 0 for all the values :-(

    It is connecting, because I can read non-BDC values.

    Here's the relevant bits of code.....

    Dim iADFfreq As Long
    Dim fADF As Double
    
    Call FSUIPC_Read(&H34C, 4, VarPtr(iADFfreq), dwResult)
    Call FSUIPC_Process(dwResult)
    
    lblADFfreq.Caption = fADF
    

    This returns 0 :-(

    This, however, returns the IAS no problem....

    Dim iIAS128 As Long
    Dim fIAS As Single
    
    Call FSUIPC_Read(&H2BC, 4, VarPtr(iIAS128), dwResult)
    Call FSUIPC_Process(dwResult)
    
    fIAS = iIAS128 / 128
    fIAS = Int(fIAS)
    
    LblSpeed.Caption = "IAS is " & fIAS
    

    so I know I'm connecting to FSUIPC and getting data out.

    Can someone tell me what I'm doing wrong?

    Thanks,

    Richard

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.