SIOC-ohjelmointia (IOCards)
Jaketus:
TOIMII!!!
Tosin, jalka kertoin on ilmeisesti väärä, mutta metrit oikein (kokeilin poistamalla jalka kertojan, ja se näytti oikeaa metrilukua - 30000ft, n.10000)
Löysin vian! Se jalka lasku olisi pitänyt tehdä jakona, ei kertona.
Saisko noi näyttämään lentokoneen realiaikaisia asioita, eikä apeen lukuja?
Eli siis näyttämään samaa korkeutta millä kone juuri sillä hetkellä lentää, siis ALT display.
Mistä löytää sen manuaalin jossa offsetit?
tigert:
Quote from: Jaakko Airasmaa on 21.08.05, 17:53
TOIMII!!!
Tosin, jalka kertoin on ilmeisesti väärä, mutta metrit oikein (kokeilin poistamalla jalka kertojan, ja se näytti oikeaa metrilukua - 30000ft, n.10000)
Löysin vian! Se jalka lasku olisi pitänyt tehdä jakona, ei kertona.
Saisko noi näyttämään lentokoneen realiaikaisia asioita, eikä apeen lukuja?
Eli siis näyttämään samaa korkeutta millä kone juuri sillä hetkellä lentää, siis ALT display.
Mistä löytää sen manuaalin jossa offsetit?
Hienoa! Joo toi oli ihan testaamaton koodinpätkä, joten bugeja takuulla on
Se dokkari löytyy täältä: www.schiratti.com/dowson.html (eli samasta paikkaa kun FSUIPC.dll itsekin. Siellä on se "FSUIPC SDK 25'th release" -paketti - ota se. Se file on nimeltään "FSUIPC for Programmers.doc" ja on siinä zipissä. Hommahan menee niin että etsit siitä offsetin, katsot sen pituuden myös (length) ja tutkit mimmoisia lukuja se on. Sitten luku ehkä pitää muuntaa sopivaan muotoon jakamalla tms ja sen voi tunkea näyttöön.
Perusideahan on hirveän yksinkertainen, sitten noista voi rakentaa melkein mitä vain. Periaatteessahan tällä voi rakentaa itse oman "lisäosakoneen" niin että esim. Default 737:aan rakentaisi oman overhead-paneelin ja koodaisi sen logiikan sioc:illa jne..
//Tuomas
tigert:
Kolvasinpa laippakytkimeen johdot. Kyseessä on kolmiasentoinen vipu. Ylös-asennossa tulee signaali pinnipariin A ja alas-asennossa pinnipariin B. Keskellä ei tule signaalia mihinkään. Eli ON-OFF-ON -kytkin.
Huomenna pähkin sen toimimaan kotiohjaamopäivillä, ja pistän koodin tänne. Tuossa on tavallaan kaksi kytkintä - "Laipat Sisällä" -kytkin ja "Laipat täysin ulkona" -kytkin. Väliasento on sitten silloin kun kumpikaan noista ei ole päällä. Tarvittaneen kaksi muuttujaa, joiden tilaa tutkitaan, eli jos molemmat "kytkimet" ovat 0, laippavipu on keskiasennossa.
//Tuomas
tigert:
Kohta tulee laippavivun ja vähän muunkin kytkentää siocilla.. Samoin voin suositella noita uusia iocardsin "input/output-connections" -kortteja. Helpottavat kytkentää kummasti. Toki toinen tapa on ottaa IDE-kaapeli, katkaista toinen pää ja tinata siitä kytkimet kiinni. Kunhan muistaa että joka kymmenes johdin on maa.
Mutta tää connections-kortti on ihan kätevä, pinnit on numerojärjestyksessä. Siinäkin sitten on sama juttu eli ilmeisesti (kohta nähdään, siis ) yhdeksää inputtia/outputtia kohtaan on aina yksi maa.
Mulla tuossa värillisessä lattakaapelissa siis aina tuo musta johdin on maa. Muut sitten numerojärjestyksessä kytkimistä. Eli yhdeksän kytkintä voi aina kytkeä samaan "maahan" - ryhmien yli ei voi oikosulkea maata, vain ryhmän sisällä saa ja kannattaa yhdistää. Eli teen niin että paneelissa on 9 (tai tässä tapauksessa kytkintä, vedän yhdellä johdolla kytkinten toiset liittimet yhteen, ja siitä johto tuohon maa-liittimeen. Ja kytkinten toiset pinnit sitten jokainen erikseen vierekkäisiin liittimiin.
//Tuomas
tigert:
Okei. Katsotaanpas sitten taas..
Quote
// *** FLAP SWITCH ***
Var 0006, Link FSUIPC_OUT, Offset $0BDC, Length 4 // flaps, 0=up, 16383=dwn
Var 0106, Link IOCARD_SW, Input 37 // flaps UP
{
IF V0106 = 1 // flap switch up
{
V0006 = 0
}
ELSE
{
IF V0107 = 0
{
V0006 = 3000
}
}
}
Var 0107, Link IOCARD_SW, Input 36 // flaps down
{
IF V0107 = 1 // flaps down
{
V0006 = 16383
}
ELSE
{
IF v0106 = 0
{
V0006 = 3000
}
}
}
Noita numeroita joutuu tietty omassa koodissa säätämään että ei ole päällekkäisiä. Tulisi vaan se seuraava version pian, niin voisi käyttää kunnollisia muuttujan nimiä..
Tuo laippa-akseli on 0-16383 välillä ja "suunnilleen" oikea arvo asettaa laipat lähimpään pykälään. Logiikka on siten, että kytkin on kolmiasentoinen, "ylös", "keskellä" ja "alhaalla". Keskiasento ei anna mitään signaalia, ylös-asento on kytkin 37, alas-asento on 36. Ideana siis, että jos kytkin on ylhäällä, se ei voi olla alhaalla jne. Ja jos se ei ole ylhäällä, tarkistetaan onko se alhaalla vai välissä.
//Tuomas
Navigation