SIOC-ohjelmointia (IOCards)
vipu:
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ä?
tigert:
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.
vipu:
Quote
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
tigert:
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
vipu:
Koetan aamulla....toimii Ok. Oli taas koodauksessa "aivopieru"
Navigation