News:

Precision Simulator update 10.173 (24 February 2024) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

PSXSeecon with Opencockpits NAV / ADF radios not working

Started by Wardie, Fri, 13 Sep 2019 21:03

Wardie

Can anyone help please - I am trying to get the Opencockpits NAV 1, NAV 2 and ADF modules working in PSX using PSXSeecon software. It sees my COM 1, MCP, EFIS, ATC Module - they all work perfectly. I have picked up that when I run the setup module in PSXCockpit, it is there already that the NAV and ADF modules are not recognized. Any advice appreciated, I am pulling my hair out! Could it be possible that PSXSeecon does not support these modules? Thanks in advance!

Roddez

Hi ??

Unfortunately I have never used Open Cockpits hardware so I can't say for certain but perhaps the OC NAV & ADF units won't work because there are no such units on the 747 flight deck?  As I'm sure you know, this data is usually entered via the MCDU.  Unless of course the NAV radios are operating in automatic mode and auto-tuning.

I am sure that others can clarify.

Cheers,

Rod.
Rodney Redwin
YSSY
www.simulatorsolutions.com.au

Wardie

Hi Rod,

I am sure you are quite right, that's why they are not supported. I have the units for use with the PMDG 737-800 and have been using this setup now with PSX using PSXSeecon. As I already have the units anyway I was hoping I could get them to work, not to be I suppose......

Thanks for your reply,

Brian

kiek

Quote from: Wardie on Mon, 16 Sep 2019 06:28
Hi Rod,

I am sure you are quite right, that's why they are not supported. I have the units for use with the PMDG 737-800 and have been using this setup now with PSX using PSXSeecon. As I already have the units anyway I was hoping I could get them to work, not to be I suppose......

Thanks for your reply,

Brian
Hi Brian,

Surely you can use these modules in PSX with PSXseecon, all SIOC variables are available. You only have to write a script and to use the right device number.

Is not my script 5_RCP_L.txt from the PSXCockpit sub folder a nice starting point?

Regards,
Nico

Wardie

Hi Nico, just saw your post now... I'll give it a try, thank you!

Wardie

Hi Nico, please could you help me. I have spent the whole of today trying to edit, compile and run 5_RCP_L.txt but somewhere along the line I have horribly confused myself. Everything that I have tried has not worked, and the more I try the more I confuse myself. The compiling and running is the easy part, but I can't get the script right.  Please could I ask you to assist me in adding in the necessary script to my existing PSXocm.txt file which I have attached to allow these to work. My Nav1 is Device 35, my Nav2 is Device 39 and my ADF is Device 37. Neither of these units have an IDX number assigned as yet. I wanted to attach images of my SIOC Config, SIOC Devices and SIOC Monitor screenshots but I'm not sure how to attach them here. I don't expect you to do this for nothing, I will certainly contribute a PayPal donation towards your site costs. Apologies for troubling you, if you can help it would be much appreciated! My PSXocm.txt file follows:-

// *****************************************************************************
// * Config_SIOC ver 5.2   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : PSXocm.txt
// * Date : 2019/09/19



Var 0000, Value 0
{
  &SpdIntBut = 0   
  &SpdBut = 0   
  &HdgHldBut = 0   
  &HDGSelBut = 0   
  &CfgMachSCtrl = 1   
}

Var 0001, name Digit

Var 0002, name CalcDigit, Link SUBRUTINE
{
  L0 = &CalcDigit   
  IF L0 = 6
  {
    L0 = -999997         // 6 with horizontal dash please also read
  }
  ELSE
  {
    IF L0 >= 10
    {
      IF L0 = 10     // A
      {
        L0 = -999999         // blank
      }
      ELSE
      {
        IF L0 = 11     // minus
        {
          L0 = -999998         // -
        }
        ELSE
        {
          L0 = 9   
        }
      }
    }
  }
  &Digit = L0   
}

Var 0003, name Digit0

Var 0004, name Digit1

Var 0005, name Digit2

Var 0006, name Digit3

Var 0007, name Digit4

Var 0008, name Digit5

Var 0009, name DecBCD2, Link SUBRUTINE
{
  L0 = &DecBCD2   
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit0 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit1 = &Digit   
}

Var 0010, name DecBCD3, Link SUBRUTINE
{
  L0 = &DecBCD3   
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit0 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit1 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit2 = &Digit   
}

Var 0011, name DecBCD4, Link SUBRUTINE
{
  L0 = &DecBCD4   
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit0 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit1 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit2 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit3 = &Digit   
}

Var 0012, name DecBCD5, Link SUBRUTINE
{
  L0 = &DecBCD5   
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit0 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit1 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit2 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit3 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit4 = &Digit   
}

Var 0013, name DecBCD6, Link SUBRUTINE
{
  L0 = &DecBCD6   
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit0 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit1 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit2 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit3 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit4 = &Digit   
  L0 = DIV L0 ,16
  L1 = MOD L0 ,16
  CALL &CalcDigit, L1
  &Digit5 = &Digit   
}

Var 0014, name XPDRFreqLow, Value 11

Var 0015, name XPDRFreqHigh, Value 11

Var 0016, name XPDRFreq, Value 1111

Var 3489, static, Link IOCARD_SW, Device 11, Input 12, Type P     // ident push button

Var 0017, name Dialling, Link SUBRUTINE
{
  IF &Dialling = 0
  {
    &D_FAIL = -999999         // blank
  }
  ELSE
  {
    &D_FAIL = -999995         // d from dialing
  }
}

Var 0018, name RO_RIGHT, Link IOCARD_ENCODER, Device 11, Input 10, Aceleration 1, Type 2
{
  L0 = TESTBIT &XPDR ,24
  IF L0 = 0     // not blank or lights test so a valid freq
  {
    L0 = &RO_RIGHT * -1
    &XPDRFreqLow = ROTATE 0 ,77 ,L0
    CALL &CalcXPDRFreqL
    &Dialling = 1   
  }
}

Var 0019, name RO_LEFT, Link IOCARD_ENCODER, Device 11, Input 5, Aceleration 1, Type 2
{
  L0 = TESTBIT &XPDR ,24
  IF L0 = 0     // not blank or lights test so a valid freq
  {
    L0 = &RO_LEFT * -1
    &XPDRFreqHigh = ROTATE 0 ,77 ,L0
    CALL &CalcXPDRFreqH
    &Dialling = 1   
  }
}

Var 0020, name CalcXPDRFreqL, Link SUBRUTINE
{
  L0 = &XPDRFreqLow   
  L2 = DIV L0 ,10
  L1 = MOD L0 ,10
  IF L1 = 8
  {
    IF &CalcXPDRFreqL > 0
    {
      L2 = L2 + 1
      L1 = 0   
    }
    ELSE
    {
      L1 = 6   
    }
  }
  ELSE
  {
    IF L1 = 9
    {
      IF &CalcXPDRFreqL > 0
      {
        L2 = L2 + 1
        L1 = 1   
      }
      ELSE
      {
        L1 = 7   
      }
    }
  }
  L0 = L2 * 10
  &XPDRFreqLow = L0 + L1
  L2 = &XPDRFreqHigh * 100
  L1 = &XPDRFreqLow   
  &XPDRFreq = L1 + L2
  &D_XPDR = &XPDRFreq   
}

Var 0021, name CalcXPDRFreqH, Link SUBRUTINE
{
  L0 = &XPDRFreqHigh   
  L2 = DIV L0 ,10
  L1 = MOD L0 ,10
  IF L1 = 8
  {
    IF &CalcXPDRFreqH > 0
    {
      L2 = L2 + 1
      L1 = 0   
    }
    ELSE
    {
      L1 = 6   
    }
  }
  ELSE
  {
    IF L1 = 9
    {
      IF &CalcXPDRFreqH > 0
      {
        L2 = L2 + 1
        L1 = 1   
      }
      ELSE
      {
        L1 = 7   
      }
    }
  }
  L0 = L2 * 10
  &XPDRFreqHigh = L0 + L1
  L2 = &XPDRFreqHigh * 100
  L1 = &XPDRFreqLow   
  &XPDRFreq = L1 + L2
  &D_XPDR = &XPDRFreq   
}

Var 0022, name I_XPNDR, Link IOCARD_SW, Device 11, Input 7, Type I     // XPNDR toggle switch
{
  IF &Dialling = 1
  {
    CALL &DecBCD4, &XPDR
    C0 = &Digit0 <> -999999
    C1 = &Digit0 <> 8
    IF C0 AND C1
    {
      &X_KeyClr = CHANGEBITN 0 ,&X_KeyClr     // clear
      L0 = &XPDRFreq   
      L1 = DIV L0 ,1000
      &Del0Out = DELAY L1 ,50
      L0 = MOD L0 ,1000
      L1 = DIV L0 ,100
      &Del1Out = DELAY L1 ,100
      L0 = MOD L0 ,100
      L1 = DIV L0 ,10
      &Del2Out = DELAY L1 ,150
      L0 = MOD L0 ,10
      &Del3Out = DELAY L0 ,200
      &Dialling = 0   
    }
  }
}

Var 0023, name Del0Out, Link SUBRUTINE
{
  L0 = &Del0Out   
  IF L0 < 8
  {
    CALL &OutKey
  }
}

Var 0024, name Del1Out, Link SUBRUTINE
{
  L0 = &Del1Out   
  IF L0 < 8
  {
    CALL &OutKey
  }
}

Var 0025, name Del2Out, Link SUBRUTINE
{
  L0 = &Del2Out   
  IF L0 < 8
  {
    CALL &OutKey
  }
}

Var 0026, name Del3Out, Link SUBRUTINE
{
  L0 = &Del3Out   
  IF L0 < 8
  {
    CALL &OutKey
  }
}

Var 0027, name OutKey, Link SUBRUTINE
{
  L0 = &OutKey   
  IF L0 = 0
  {
    &X_Key0 = CHANGEBITN 0 ,&X_Key0
  }
  IF L0 = 1
  {
    &X_Key1 = CHANGEBITN 0 ,&X_Key1
  }
  IF L0 = 2
  {
    &X_Key2 = CHANGEBITN 0 ,&X_Key2
  }
  IF L0 = 3
  {
    &X_Key3 = CHANGEBITN 0 ,&X_Key3
  }
  IF L0 = 4
  {
    &X_Key4 = CHANGEBITN 0 ,&X_Key4
  }
  IF L0 = 5
  {
    &X_Key5 = CHANGEBITN 0 ,&X_Key5
  }
  IF L0 = 6
  {
    &X_Key6 = CHANGEBITN 0 ,&X_Key6
  }
  IF L0 = 7
  {
    &X_Key7 = CHANGEBITN 0 ,&X_Key7
  }
}

Var 3480, name X_Key0, static

Var 3481, name X_Key1, static

Var 3482, name X_Key2, static

Var 3483, name X_Key3, static

Var 3484, name X_Key4, static

Var 3485, name X_Key5, static

Var 3486, name X_Key6, static

Var 3487, name X_Key7, static

Var 3488, name X_KeyClr, static

Var 2204, name XPDR, static
{
  &DIS_1 = 0   
  &DIS_2 = 0   
  &DIS_ATC = 1   
  &LED_FAIL = 0   
  CALL &DecBCD4, &XPDR
  IF &Digit0 = -999999
  {
    &D_XPDR = -999999   
  }
  ELSE
  {
    IF &Digit0 = 8
    {
      &D_XPDR = 8888   
    }
    ELSE
    {
      L0 = &Digit1 * 10
      L0 = L0 + &Digit0
      &XPDRFreqLow = L0   
      L0 = &Digit3 * 10
      L0 = L0 + &Digit2
      &XPDRFreqHigh = L0   
      L0 = &XPDRFreqHigh * 100
      L0 = L0 + &XPDRFreqLow
      &XPDRFreq = L0   
      &D_XPDR = &XPDRFreq   
      &Dialling = 0   
    }
  }
}

Var 0028, name DIS_ATC, Link IOCARD_OUT, Device 11, Output 20

Var 0029, name DIS_1, Link IOCARD_OUT, Device 11, Output 21

Var 0030, name DIS_2, Link IOCARD_OUT, Device 11, Output 22

Var 0031, name LED_FAIL, Link IOCARD_OUT, Device 11, Output 23

Var 0032, name D_XPDR, Link IOCARD_DISPLAY, Device 11, Digit 0, Numbers 4

Var 0033, name D_FAIL, Link IOCARD_DISPLAY, Device 11, Digit 4, Numbers 1

Var 3011, name TcasPanSelOff, static

Var 3012, name TcasPanSelOn, static

Var 0034, name OpenCOFF, Link IOCARD_SW, Device 11, Input 1, Type I
{
  IF &OpenCOFF = 1
  {
    &TcasPanSelOff = 1   
    &TcasPanSelOn = 0   
  }
}

Var 3018, name TcasPanSelStby, static, Link IOCARD_SW, Device 11, Input 0, Type I
{
  IF &TcasPanSelStby = 1
  {
    &TcasPanSelOff = 0   
    &TcasPanSelOn = 1   
  }
}

Var 3019, name TcasPanXpdr, static, Link IOCARD_SW, Device 11, Input 2, Type I
{
  IF &TcasPanXpdr = 1
  {
    &TcasPanSelOff = 0   
    &TcasPanSelOn = 1   
  }
}

Var 3020, name TcasPanTA, static, Link IOCARD_SW, Device 11, Input 3, Type I
{
  IF &TcasPanTA = 1
  {
    &TcasPanSelOff = 0   
    &TcasPanSelOn = 1   
  }
}

Var 3021, name TcasPanRATA, static, Link IOCARD_SW, Device 11, Input 4, Type I
{
  IF &TcasPanRATA = 1
  {
    &TcasPanSelOff = 0   
    &TcasPanSelOn = 1   
  }
}

Var 0035, name PrevKeyL, Value 0

Var 0036, name lek_KeyL, Link IOCARD_KEYS, Device 5
{
  L0 = &lek_KeyL   
  IF L0 <> 0
  {
    IF L0 = &PrevKeyL
    {
      &KeybCduL = 0   
      &KeybCduL = DELAY L0 ,3
    }
    ELSE
    {
      &KeybCduL = L0   
    }
    &PrevKeyL = L0   
  }
}

Var 1401, name KeybCduL, static     // lekseecons OC keyboard controller for PS

Var 2086, name B_FMCLiL, static
{
  &O_FmcExcL = TESTBIT &B_FMCLiL ,14
  &O_FmcMsgL = TESTBIT &B_FMCLiL ,17
  &O_FmcDspyL = TESTBIT &B_FMCLiL ,15
  &O_FmcFailL = TESTBIT &B_FMCLiL ,16
  &O_FmcOfstL = TESTBIT &B_FMCLiL ,18
}

Var 0037, name O_FmcMsgL, Link IOCARD_OUT, Device 5, Output 1

Var 0038, name O_FmcExcL, Link IOCARD_OUT, Device 5, Output 2

Var 0039, name O_FmcDspyL, Link IOCARD_OUT, Device 5, Output 3

Var 0040, name O_FmcFailL, Link IOCARD_OUT, Device 5, Output 4

Var 0041, name O_FmcOfstL, Link IOCARD_OUT, Device 5, Output 0

Var 2092, static

Var 3022, name RcpLa, static
{
  CALL &DecBCD6, &RcpLa
  &D_COM1L0 = &Digit0   
  &D_COM1L1 = &Digit1   
  &D_COM1L2 = &Digit2   
  &D_COM1L3 = &Digit3   
  &D_COM1L4 = &Digit4   
  L0 = TESTBIT &RcpLa ,24     // VHF DP
  IF L0 = 1
  {
    &D_COM1L5 = &Digit5   
    &O_DPCOM1L = 1   
  }
  ELSE
  {
    L0 = TESTBIT &RcpLa ,25     // HF DP
    IF L0 = 1
    {
      &D_COM1L5 = -999999         // blank
      &O_DPCOM1L = 1         // same DP as for VHF
    }
    ELSE
    {
      &D_COM1L5 = &Digit5   
      &O_DPCOM1L = 0   
    }
  }
}

Var 3023, name RcpLs, static
{
  CALL &DecBCD6, &RcpLs
  &D_COM1R0 = &Digit0   
  &D_COM1R1 = &Digit1   
  &D_COM1R2 = &Digit2   
  &D_COM1R3 = &Digit3   
  &D_COM1R4 = &Digit4   
  L0 = TESTBIT &RcpLs ,24     // VHF DP
  IF L0 = 1
  {
    &D_COM1R5 = &Digit5   
    &O_DPCOM1R = 1   
  }
  ELSE
  {
    L0 = TESTBIT &RcpLs ,25     // HF DP
    IF L0 = 1
    {
      &D_COM1R5 = -999999         // blank
      &O_DPCOM1R = 1         // same DP as for VHF
    }
    ELSE
    {
      &D_COM1R5 = &Digit5   
      &O_DPCOM1R = 0   
    }
  }
}

Var 3607, static, Link IOCARD_SW, Device 8, Input 6, Type P

Var 0042, name TestCOM1, Link IOCARD_SW, Device 8, Input 2, Type P
{
  IF &TestCOM1 = 1
  {
    &VHFLR_but = CHANGEBITN 0 ,&VHFLR_but
  }
  ELSE
  {
    &VHFLL_but = CHANGEBITN 0 ,&VHFLL_but
  }
}

Var 3601, name VHFLL_but, static

Var 3603, name VHFLR_but, static

Var 3691, name BigFreqL, static, Link IOCARD_ENCODER, Device 8, Input 0, Aceleration 1, Type 2

Var 3692, name SmaFreqL, static, Link IOCARD_ENCODER, Device 8, Input 4, Aceleration 1, Type 2

Var 0043, name D_COM1L0, Link IOCARD_DISPLAY, Device 8, Digit 0, Numbers 1

Var 0044, name D_COM1L1, Link IOCARD_DISPLAY, Device 8, Digit 1, Numbers 1

Var 0045, name D_COM1L2, Link IOCARD_DISPLAY, Device 8, Digit 2, Numbers 1

Var 0046, name D_COM1L3, Link IOCARD_DISPLAY, Device 8, Digit 3, Numbers 1

Var 0047, name D_COM1L4, Link IOCARD_DISPLAY, Device 8, Digit 4, Numbers 1

Var 0048, name D_COM1L5, Link IOCARD_DISPLAY, Device 8, Digit 5, Numbers 1

Var 0049, name D_COM1R0, Link IOCARD_DISPLAY, Device 8, Digit 6, Numbers 1

Var 0050, name D_COM1R1, Link IOCARD_DISPLAY, Device 8, Digit 7, Numbers 1

Var 0051, name D_COM1R2, Link IOCARD_DISPLAY, Device 8, Digit 8, Numbers 1

Var 0052, name D_COM1R3, Link IOCARD_DISPLAY, Device 8, Digit 9, Numbers 1

Var 0053, name D_COM1R4, Link IOCARD_DISPLAY, Device 8, Digit 10, Numbers 1

Var 0054, name D_COM1R5, Link IOCARD_DISPLAY, Device 8, Digit 11, Numbers 1

Var 0055, name O_DPCOM1L, Link IOCARD_OUT, Device 8, Output 20

Var 0056, name O_DPCOM1R, Link IOCARD_OUT, Device 8, Output 21

Var 1026, name EcpRstCp, static, Link IOCARD_SW, Device 3, Input 25, Type P

Var 1029, static, Value 0     // EcpMinsModeCP fixed at RADIO

Var 1028, name EcpMinsCp, static, Link IOCARD_ENCODER, Device 3, Input 23, Aceleration 6, Type 2

Var 1022, name EcpFpvCp, static, Link IOCARD_SW, Device 3, Input 34, Type P

Var 1023, name EcpMtrsCp, static, Link IOCARD_SW, Device 3, Input 38, Type P

Var 1030, name EcpBaroCp, static, Link IOCARD_ENCODER, Device 3, Input 20, Aceleration 6, Type 2

Var 1025, name EcpStdCp, static, Link IOCARD_SW, Device 3, Input 22, Type P

Var 3903, name EcpNdModeCpAp, static, Link IOCARD_SW, Device 3, Input 9, Type I

Var 3904, name EcpNdModeCpVo, static, Link IOCARD_SW, Device 3, Input 10, Type I

Var 3905, name EcpNdModeCpMa, static, Link IOCARD_SW, Device 3, Input 11, Type I

Var 3906, name EcpNdModeCpPL, static, Link IOCARD_SW, Device 3, Input 12, Type I

Var 3907, name EcpNdRCp5, static, Link IOCARD_SW, Device 3, Input 0, Type I

Var 3908, name EcpNdRCp10, static, Link IOCARD_SW, Device 3, Input 1, Type I

Var 3909, name EcpNdRCp20, static, Link IOCARD_SW, Device 3, Input 2, Type I

Var 3910, name EcpNdRCp40, static, Link IOCARD_SW, Device 3, Input 3, Type I

Var 3911, name EcpNdRCp80, static, Link IOCARD_SW, Device 3, Input 4, Type I

Var 3912, name EcpNdRCp160, static, Link IOCARD_SW, Device 3, Input 5, Type I

Var 3913, name EcpNdRCp320, static, Link IOCARD_SW, Device 3, Input 6, Type I

Var 3914, name EcpNdRCp640, static, Link IOCARD_SW, Device 3, Input 7, Type I

Var 1015, name EcpWxrCp, static, Link IOCARD_SW, Device 3, Input 27, Type P

Var 1016, name EcpStaCp, static, Link IOCARD_SW, Device 3, Input 28, Type P

Var 1017, name EcpWptCp, static, Link IOCARD_SW, Device 3, Input 29, Type P

Var 1018, name EcpArptCp, static, Link IOCARD_SW, Device 3, Input 30, Type P

Var 1019, name EcpDataCp, static, Link IOCARD_SW, Device 3, Input 31, Type P

Var 1020, name EcpPosCp, static, Link IOCARD_SW, Device 3, Input 32, Type P

Var 1021, name EcpTerrCp, static, Link IOCARD_SW, Device 3, Input 33, Type P

Var 3758, name VorLCp, static, Link IOCARD_SW, Device 3, Input 36, Type I

Var 3757, name AdfLCp, static, Link IOCARD_SW, Device 3, Input 37, Type I

Var 3760, name VorRCp, static, Link IOCARD_SW, Device 3, Input 18, Type I

Var 3759, name AdfRCp, static, Link IOCARD_SW, Device 3, Input 19, Type I

Var 1064, name SpdIntBut, static     // emulated type P button

Var 1060, name SpdBut, static     // emulated Type P button

Var 1068, name HdgHldBut, static     // emulated type P button

Var 1061, name HDGSelBut, static     // emulated type P button

Var 0057, name Button_0, Link IOCARD_SW, Device 2, Input 28, Type I     // = OC HDG SEL button
{
  IF &Button_0 = 1
  {
    IF &SButton_0 = 0
    {
      &SButton_0 = 1   
      &Double_0 = 0   
      &SButton_0 = DELAY 3 ,70
    }
    ELSE
    {
      IF &SButton_0 = 1
      {
        &SButton_0 = 2   
      }
    }
  }
  ELSE
  {
    IF &SButton_0 = 2
    {
      &Double_0 = 1   
      &HdgHldBut = CHANGEBITN 0 ,&HdgHldBut     // DOUBLE CLICKED: HDG HLD
    }
  }
}

Var 0058, name Double_0

Var 0059, name SButton_0     // state of Button_0
{
  IF &SButton_0 = 3
  {
    &SButton_0 = 0         // reset
    IF &Double_0 <> 1
    {
      &HDGSelBut = CHANGEBITN 0 ,&HDGSelBut     // SINGLE CLICKED: HDG SEL
    }
  }
}

Var 0060, name Button_1, Link IOCARD_SW, Device 2, Input 31, Type I     // = OC SPD Button
{
  IF &Button_1 = 1
  {
    IF &SButton_1 = 0
    {
      &SButton_1 = 1   
      &Double_1 = 0   
      &SButton_1 = DELAY 3 ,70
    }
    ELSE
    {
      IF &SButton_1 = 1
      {
        &SButton_1 = 2   
      }
    }
  }
  ELSE
  {
    IF &SButton_1 = 2
    {
      &Double_1 = 1   
      &SpdIntBut = CHANGEBITN 0 ,&SpdIntBut     // DOUBLE CLICKED: SPD Intervention
    }
  }
}

Var 0061, name Double_1

Var 0062, name SButton_1     // state of Button_1
{
  IF &SButton_1 = 3
  {
    &SButton_1 = 0         // reset
    IF &Double_1 <> 1
    {
      &SpdBut = CHANGEBITN 0 ,&SpdBut     // SINGLE CLICKED: SPD
    }
  }
}

Var 5013, name CfgMachSCtrl, static

Var 1055, name McpApDis, static, Value 1

Var 0063, name ApDisSw, Link IOCARD_SW, Device 2, Input 15, Type I
{
  IF &ApDisSw = 1
  {
    &McpApDis = 0   
  }
  ELSE
  {
    &McpApDis = 1   
  }
}

Var 1056, name McpFdCp, static, Link IOCARD_SW, Device 2, Input 16, Type I

Var 1057, name McpFdFo, static, Link IOCARD_SW, Device 2, Input 14, Type I

Var 1058, name McpAtArm, static, Link IOCARD_SW, Device 2, Input 33, Type I

Var 1059, name McpPshMachSel, static, Link IOCARD_SW, Device 2, Input 13, Type P

Var 1062, name McpPshAltSel, static, Link IOCARD_SW, Device 2, Input 20, Type P     // CWS A at 737 MCP

Var 1077, name TurnSpd, static, Link IOCARD_ENCODER, Device 2, Input 0, Aceleration 2, Type 2

Var 1078, name TurnHdg, static, Link IOCARD_ENCODER, Device 2, Input 6, Aceleration 4, Type 2

Var 1079, name TurnVs, static, Link IOCARD_ENCODER, Device 2, Input 11, Aceleration 1, Type 2

Var 1080, name TurnAlt, static, Link IOCARD_ENCODER, Device 2, Input 2, Aceleration 4, Type 2

Var 1063, name McpPshThr, static, Link IOCARD_SW, Device 2, Input 32, Type P

Var 3063, static
{
  &O_ThrLed = TESTBIT V3063 ,16
}

Var 3064, static
{
  &O_SpdLed = TESTBIT V3064 ,16
}

Var 1065, name McpPshLnv, static, Link IOCARD_SW, Device 2, Input 27, Type P

Var 3065, static
{
  &O_LnvLed = TESTBIT V3065 ,16
}

Var 1066, name McpPshVnv, static, Link IOCARD_SW, Device 2, Input 30, Type P

Var 3066, static
{
  &O_VnvLed = TESTBIT V3066 ,16
}

Var 1067, name McpPshFlc, static, Link IOCARD_SW, Device 2, Input 29, Type P

Var 3067, static
{
  &O_FlchLed = TESTBIT V3067 ,16
}

Var 3068, static
{
  &O_HdgHldLed = TESTBIT V3068 ,16
}

Var 1069, name McpPsVs, static, Link IOCARD_SW, Device 2, Input 22, Type P

Var 3069, static
{
  &O_VsLed = TESTBIT V3069 ,16
}

Var 1070, name McpPshAltHld, static, Link IOCARD_SW, Device 2, Input 23, Type P

Var 3070, static
{
  &O_AltHldLed = TESTBIT V3070 ,16
}

Var 1071, name McpPshLoc, static, Link IOCARD_SW, Device 2, Input 25, Type P

Var 3071, static
{
  &O_LocLed = TESTBIT V3071 ,16
}

Var 1072, name McpPshApp, static, Link IOCARD_SW, Device 2, Input 24, Type P

Var 3072, static
{
  &O_AppLed = TESTBIT V3072 ,16
}

Var 1073, name McpPshCmdL, static, Link IOCARD_SW, Device 2, Input 21, Type P

Var 3073, static
{
  &O_CmdLLed = TESTBIT V3073 ,16
}

Var 1074, name McpPshCmdC, static, Link IOCARD_SW, Device 2, Input 19, Type P

Var 3074, static
{
  &O_CmdCLed = TESTBIT V3074 ,16
}

Var 1075, name McpPshCmdR, static, Link IOCARD_SW, Device 2, Input 18, Type P

Var 3075, static
{
  &O_CmdRLed = TESTBIT V3075 ,16
}

Var 2032, name WdoSpd, static
{
  L0 = &WdoSpd   
  &O_MachDP = TESTBIT L0 ,12
  IF &O_MachDP = 1
  {
    L0 = DIV L0 ,16     // divide by 16 because I have only two mac
    L0 = MOD L0 ,256     // skip DP bit
  }
  CALL &DecBCD3
  &D_Spd0 = &Digit0   
  &D_Spd1 = &Digit1   
  &D_Spd2 = &Digit2   
}

Var 2033, name WdoHdg, static
{
  CALL &DecBCD3, &WdoHdg
  &D_Hdg0 = &Digit0   
  &D_Hdg1 = &Digit1   
  &D_Hdg2 = &Digit2   
}

Var 2034, name WdoVs, static
{
  CALL &DecBCD5, &WdoVs
  &D_Vs0 = &Digit0   
  &D_Vs1 = &Digit1   
  &D_Vs2 = &Digit2   
  &D_Vs3 = &Digit3   
  &D_Vs4 = &Digit4   
}

Var 2035, name WdoAlt, static
{
  CALL &DecBCD5, &WdoAlt
  &D_Alt0 = &Digit0   
  &D_Alt1 = &Digit1   
  &D_Alt2 = &Digit2   
  &D_Alt3 = &Digit3   
  &D_Alt4 = &Digit4   
}

Var 0064, name O_MachDP, Link IOCARD_OUT, Device 2, Output 20

Var 0065, name O_ThrLed, Link IOCARD_OUT, Device 2, Output 21

Var 0066, name O_SpdLed, Link IOCARD_OUT, Device 2, Output 23

Var 0067, name O_LnvLed, Link IOCARD_OUT, Device 2, Output 29

Var 0068, name O_VnvLed, Link IOCARD_OUT, Device 2, Output 25

Var 0069, name O_FlchLed, Link IOCARD_OUT, Device 2, Output 24

Var 0070, name O_HdgHldLed, Link IOCARD_OUT, Device 2, Output 26

Var 0071, name O_VsLed, Link IOCARD_OUT, Device 2, Output 31

Var 0072, name O_AltHldLed, Link IOCARD_OUT, Device 2, Output 30

Var 0073, name O_LocLed, Link IOCARD_OUT, Device 2, Output 28

Var 0074, name O_AppLed, Link IOCARD_OUT, Device 2, Output 27

Var 0075, name O_CmdLLed, Link IOCARD_OUT, Device 2, Output 33

Var 0076, name O_CmdCLed, Link IOCARD_OUT, Device 2, Output 35

Var 0077, name O_CmdRLed, Link IOCARD_OUT, Device 2, Output 34

Var 0078, name D_Spd0, Link IOCARD_DISPLAY, Device 2, Digit 3, Numbers 1

Var 0079, name D_Spd1, Link IOCARD_DISPLAY, Device 2, Digit 4, Numbers 1

Var 0080, name D_Spd2, Link IOCARD_DISPLAY, Device 2, Digit 5, Numbers 1

Var 0081, name D_Hdg0, Link IOCARD_DISPLAY, Device 2, Digit 6, Numbers 1

Var 0082, name D_Hdg1, Link IOCARD_DISPLAY, Device 2, Digit 7, Numbers 1

Var 0083, name D_Hdg2, Link IOCARD_DISPLAY, Device 2, Digit 8, Numbers 1

Var 0084, name D_Vs0, Link IOCARD_DISPLAY, Device 2, Digit 14, Numbers 1

Var 0085, name D_Vs1, Link IOCARD_DISPLAY, Device 2, Digit 15, Numbers 1

Var 0086, name D_Vs2, Link IOCARD_DISPLAY, Device 2, Digit 16, Numbers 1

Var 0087, name D_Vs3, Link IOCARD_DISPLAY, Device 2, Digit 17, Numbers 1

Var 0088, name D_Vs4, Link IOCARD_DISPLAY, Device 2, Digit 18, Numbers 1

Var 0089, name D_Alt0, Link IOCARD_DISPLAY, Device 2, Digit 9, Numbers 1

Var 0090, name D_Alt1, Link IOCARD_DISPLAY, Device 2, Digit 10, Numbers 1

Var 0091, name D_Alt2, Link IOCARD_DISPLAY, Device 2, Digit 11, Numbers 1

Var 0092, name D_Alt3, Link IOCARD_DISPLAY, Device 2, Digit 12, Numbers 1

Var 0093, name D_Alt4, Link IOCARD_DISPLAY, Device 2, Digit 13, Numbers 1


kiek

Hi,
Do not try to integrate the "NAV"script in your other scripts immediately, but test 5_RCP_L.txt, after you have made corrections to your input and output numbers, in isolation together with 1_Digit.txt with the .lst method.

Nico

Wardie

Thanks for your quick reply Nico. I'm in South Africa so off to sleep now but will try first thing in the morning! You are a star! Much appreciated!

Jeroen Hoppenbrouwers



Wardie

#10
Hi Nico,
I've been trying, still not making a lot of headway, I've taken the liberty of uploading screenshots of my setup (Thanks Jeroen), I'm hoping you may see something that doesn't look right....... As far as the script goes I have not been able to compile the correct script as yet. Will keep trying over the next few days...hoping for a break through!  Many thanks in advance!

http://www.hoppie.nl/forum/var/Brian's_Inputs_+_Outputs.pdf







http://www.hoppie.nl/forum/var/Brian's_PSXocm.txt


Edit by HH: PDF and TXT files are no image files, so they can only be linked, not displayed as images.


kiek

This is what you have to do:

Assign a free IDX  number for your NAV module with device number 35, e.g 15 (If that one is free, otherwise higher ...)

In the script 5_RCP_L.txt replace all occurences of Device 0 bij Device 15.

In sioc.ini make sure you have a MASTER statement for this NAV Module:
MASTER=15,9,1,35


Make a file test.lst in the same folder as sioc.ini containing these two lines:
1_Digit.txt
5_RCP_L.txt

Make sure 1_Digit.txt and 5_RCP_L.txt are in the same folder as sioc.ini

Change in sioc.ini:
CONFIG_FILE=test.lst


Then compile and run.
That's all.

Nico

Wardie

Thanks a million Nico for laying it out so clearly, I will certainly try that and make it work. I have been called out to fly this weekend (my day job is a pilot), back on Monday so I will give it a bash on Tuesday! I really appreciate your patience with me, I'm doing my best to get up to speed with programming but I come from a generation that grew up without computers....... never too old to learn though! Thanks again!

asboyd

Nico,
I always get a compile error in 1_Digit.txt.... I have had to extract the individual parts and copy them in the RCP.txt file in order for it to compile......
I may try and get a copy of the screen displayed when the compile fails...

Cheers,
Alex B
Alex Boyd... Sydney, Australia

kiek

Quote from: asboyd on Sat, 21 Sep 2019 09:11
I always get a compile error in 1_Digit.txt.... I have had to extract the individual parts and copy them in the RCP.txt file in order for it to compile......
I may try and get a copy of the screen displayed when the compile fails...

Hi Alex,

That surprises me, the file has not changed for 6 years! ;-)
Always compile that file together with other files in a .lst approach.

Regards,
Nico

Wardie

Hi Nico, I'm back early today so I've given it a go! I've changed everything as you have told me, the only thing that I'm a little unsure of is that you say finally "compile and run". I take it that I open SIOC, import the text file, and allow it to compile itself? Can I confirm in this case I import "test.1st" ?

kiek

Quote from: Wardie on Sat, 21 Sep 2019 17:11
I take it that I open SIOC, import the text file, and allow it to compile itself? Can I confirm in this case I import "test.1st" ?
No, no no. Just double click on the file sioc.exe! Then it will automatically compile the two files in your test.lst and run it. See the LOG subwindow in the SIOC main window.
Have you not made any compilations before?

Wardie


Hi Nico, just tried but compilation error........

kiek

Could you post your sioc.ini, test.lst and 5_RCP_L.txt, or better p.m. me your mail address the i'll give you mine.