FSnordic.net
Home Help Rules Login Register
Welcome, Guest. Please login or register.
23.07.17, 12:39

Login with username, password and session length
+  FSnordic.net Forums
|-+  Finnish Discussion / Lentosimulaattorit
| |-+  Kotiohjaamot / Home Cockpits (Moderators: Jari Mikkilä, Joni Öfverström, Tuomas Kuosmanen)
| | |-+  SIOC-ohjelmointia (IOCards)
:  

« previous thread next thread »
Pages: 1 2 3 [4] Reply Print
Author Topic: SIOC-ohjelmointia (IOCards)  (Read 48372 times)
Ville Pietilä
Offline Offline

Posts: 745
Date Registered: 17.05.06

WWW
Re: SIOC-ohjelmointia (IOCards)
« Reply #60 on: 24.12.11, 11:21 »

Moi!

Nyt olisi tarvetta ohjata avioniikkakytkimellä (tai sen tilalla) radion taustavaloja ja lcd-paneeleiden taustavaloja.

Meillä on avioniikkakytkin liitettynä Simkitsin CCU2-lautaan. Mutta ilmeisesti se käyttää samoja Offsetteja kuin SIOC.

Eli ideana on lukea simusta tuon avioniikkakytkimen tila, jolloin sen muutoksella ohjataan noita  kolmea outputtia.


Tälläistä koodia koetin:

Var 0001, name avio_on_off, Link FSUIPC_INOUT, Offset $3103, Length 1     // Avionics on/off

Var 0002, name avio_light, Link USB_RELAYS, Output 1     // Avionics backlight on/off

Var 0003, name lcd_back1, Link USB_RELAYS, Output 2     // Lcd backlight1

Var 0004, name lcd_back2, Link USB_RELAYS, Output 3     // Lcd_backlight2
{
  IF &avio_on_off = 1
  {
    &avio_light = 1   
    &lcd_back1 = 1   
    &lcd_back2 = 1   
  }
  ELSE
  {
    &avio_light = 0   
    &lcd_back1 = 0   
    &lcd_back2 = 0   
  }
}

Tämä koodi toimii siten, että kun simusta kääntää hiirellä avioniikkakytkintä niin IOCP:n kautta katsottuna sen tila vaihtelee 0 ja 1 välillä. Mutta outputtien tila ei muutu? 

Missä vika? Ei ymmärrä?
« Last Edit: 24.12.11, 11:29 by Ville Pietilä »

//Vipu
Tuomas Kuosmanen
Moderator
Offline Offline

Posts: 10450
Date Registered: 18.06.02

WWW
Re: SIOC-ohjelmointia (IOCards)
« Reply #61 on: 24.12.11, 17:07 »

Veikkaan että se yleisin aivopieru: koodi sinne missä bitti vilkkuu, eli fsuipc-offsettiin mitä tutkitaan.

Tuollainen koodi kirjoittuu muuten yksinkertaisimmin muotoon:

muuttuja määrittelyt..;
(
foo = muuttuja;
bar = muuttuja;
zoo = muuttuja;
)

ilman noita if...else juttuja.
 

Ville Pietilä
Offline Offline

Posts: 745
Date Registered: 17.05.06

WWW
Re: SIOC-ohjelmointia (IOCards)
« Reply #62 on: 24.12.11, 18:44 »

Veikkaan että se yleisin aivopieru: koodi sinne missä bitti vilkkuu, eli fsuipc-offsettiin mitä tutkitaan.

Tuollainen koodi kirjoittuu muuten yksinkertaisimmin muotoon:

muuttuja määrittelyt..;
(
 foo = muuttuja;
bar = muuttuja;
zoo = muuttuja;
)

ilman noita if...else juttuja.
 

Eli käytännössä näinkö?


Var 0001, name avio_on_off, Link FSUIPC_INOUT, Offset $3103, Length 1     // Avionics on/off
{
avio_light = avio_on_off
lcd_back1 = avio_on_off   
lcd_back2 = avio_on_off
}

Var 0002, name avio_light, Link USB_RELAYS, Output 1     // Avionics backlight on/off

Var 0003, name lcd_back1, Link USB_RELAYS, Output 2     // Lcd backlight1

Var 0004, name lcd_back2, Link USB_RELAYS, Output 3     // Lcd_backlight2

//Vipu
Tuomas Kuosmanen
Moderator
Offline Offline

Posts: 10450
Date Registered: 18.06.02

WWW
Re: SIOC-ohjelmointia (IOCards)
« Reply #63 on: 24.12.11, 20:38 »

Joo jotain tuollaista sen pitäisi olla. Toimiko?

Mutta nimenomaan noin, että se koodi pitää olla siellä muuttujassa missä se muutos tapahtuu mitä seurataan.

//Tuomas

Ville Pietilä
Offline Offline

Posts: 745
Date Registered: 17.05.06

WWW
Re: SIOC-ohjelmointia (IOCards)
« Reply #64 on: 24.12.11, 21:18 »

Koetan aamulla....toimii Ok. Oli taas koodauksessa "aivopieru" laugh

« Last Edit: 25.12.11, 11:00 by Ville Pietilä »

//Vipu
Pages: 1 2 3 [4] Reply Print 
« previous thread next thread »
Jump to:  

1