TRANSLATING...
PLEASE WAIT
Landing Guidance v1.2
=====================
Leu VoiceAttack pechobu uses EDDI v.3.4.0 per retrieve raco latitude, longitude, ab ertirdar.
Luh pechobu comprises luh miiyerler mundurs:
Aboue Landing Guidance Vuza endinfisho
Landing Guidance Rurt uvering guidance
Calculate Dereemlitt Stipp Har ayn ennlinn jocosho per calculate heading, sludu, ab flom
CurrentPosition Retrieve raco latitude, longitude, ab ertirdar furay EDDI
Torco Heading Sludu ab Slope Stem luh user luh heading, sludu, ab flom per luh destination
Abru Guidance Abru uvering guidance
Mestel craivo Kidoke luh craivo skiili
Validate Landing Craivo Falabuz a bounds lemol gu luh user-defined craivo location
Wayzet 1,2,3 Sample wayzet mundurs per treld destinations
Noss enn leu thoun
-------------------------------
Commab 'Validate Landing Craivo' saw daben per lemol turxur luh latitude, longitude, ab bhoa
radius specified bah luh user say villaenn bounds. Latitude kavun se enn luh sludu [-90..90] ab
longitude enn luh sludu [-180..180]. Bhoa radius kavun se pluuner thayn 50 kilometres (I selnu'
encountered a bhoa lam small).
-------------------------------
Luh procedure per miiyer segins til oe sel a taysaru per lab ab a particular locatigu gu a
planet ohva mogu. Leu pavun se fohva ayny reasgu, puud typically prebvu se a published locatigu ol
ayn expeditigu meetassii ohva mayse a rask stess.
Luh gute requirement eu per lejey luh radius ol luh bhoa gu tesh oe vur per lab. Fil luh snaspel
eu lusal lejeyn lam endinfisho ser allooredaysa se utubali enn luh snaspel map. Fil nuve luhn oe dru
per scayn mel bah harler oer FSS ohva bah zerbing cowe per mel - tesh oe'll se desler aynyway fil oe vur
per lab. Camgu a nuvee ol luh bhoa radius enn kilometres.
Masud a 'waypoint' commab selo luh sample 'Wayzet 1':
WAYPOINT 1 CONTENTS
===================
------------------------------------------------------------------
// Bla Dryai LB-W d2-4 1
Esper Zelet [targetBodyName] per 'Bla Dryai LB-W d2-4 1'
Esper decimal [targetLatitude] scoblu per 15
Esper decimal [targetLongitude] scoblu per -60
Esper decimal [bodyRadius] scoblu per 4795
Crayba [Blue] 'Luh radius ol luh craivo bhoa eu {DEC:bodyRadius} kilometres' per clodo
Crayba [Blue] 'latitude {DEC:targetLatitude}, longitude {DEC:targetLongitude}' per clodo
Crayba [Blue] 'Wayzet eu gu bhoa {TXT:targetBodyName}' per clodo
------------------------------------------------------------------
Luh gute linn eu a platmun per revou oe ol luh snaspel ab bhoa naems.
Edmel luh neketa teray linns per ennsert luh latitude ab longitude tiim oe vur per lab, ab per
esper luh radius ol luh craivo planet/mogu.
Terfa editing, execute luh commab ab lemol lam luh skiili written per luh clodo say coluta.
(Execute luh commab bah a) rietae-click|Execute enn 'Edmel a Profile' b) speaking luh naem ol luh commab
c) dabler oer pohd puudton-brusvu essignment)
Villa luh wayzet scoblus esper ab saved enn luh lurbirt oe cayn segenn oer tinclo per luh bhoa. Veyjo
enn luh HUD fohva luh gute appearance ol luh latitude, longitude, ab ertirdar endinfisho. Leu means
lam EDDI bar lam endinfisho utubali ab oe cayn sapel uvering guidance.
Luh commab 'Landing Guidance' eu activated villa puudtgu [Num Mult]. Oe cayn jyde leu per a docidon
buttgu fil luh larpsuwa doesn't sumel oer esto-assii.
Luh sehaviour ol 'Landing Guidance' eu controlled bah a Booleayn variable, 'continueGuidance'.
Luh gute temm oe roda luh commab leu variable ser se 'Nuve Esto'; leu zagli luh sapel ol luh
landing guidance - es dowl enn leu listing ol luh commab:
Landing Guidance Mundur
========================
-----------------------------------------------------------------------------
Commab per sapel ab abru uvering guidance
==========================================
Begenn Conditigu : [targetLatitude] Hes Nuve Si Esper OHVA [targetLongitude] Hes Nuve Si Esper OHVA [bodyRadius] Hes Nuve Si Esto
Spal, 'Luh craivo locatigu bar nuve dowl esper. Execute a Wayzet commab per esper luh latitude, longitude, ab radius ol luh destinatigu bhoa'
Else
Execute commab, 'Validate Landing Craivo' (ab wamel unatiq mel completes)
Begenn Booleayn Compsay : [landingTargetValid] Equals Tui
Begenn Booleayn Compsay : [continueGuidance] Equals False
Esper Booleayn [continueGuidance] per Tui (save scoblu per lurbirt)
Execute commab, 'Calculate Dereemlitt Stipp'
Esel
Esel abru luh guidance lam's rodaning
Execute commab, 'Abru Guidance' (ab wamel unatiq mel completes)
Nfil Dinucasho
Nfil Dinucasho
Nfil Dinucasho
-----------------------------------------------------------------------------
Luh commab lemols per dawl fil luh craivo bar dowl treldd, exiting villa a perrcoenel piijay fil nuve.
Neketa luh commab 'Validate Landing Craivo' eu roda per lemol lam luh craivo locatigu eu vledo.
Fil luh craivo eu vledo, luh Booleayn 'continueGuidance' eu esper per Tui vu luh 'Calculate Dereemlitt Stipp'
commab ser wown unatiq perld per abru.
Fil oe brusvu oer essigned puudtgu agaenn, luh Booleayn ser se Tui ab luh 'Else' swurz eu executed.
Leu rodes luh commab 'Abru Guidance' tesh estos luh Booleayn per False ab aynnounces terminatigu ol
guidance.
Luh sarrah ol luh uvering guidance procedure eu enn luh commab 'Calculate Dereemlitt Stipp'.
'Calculate Dereemlitt Stipp' Mundur
===============================
---------------------------------------------------------------------
// Calculate sludu, searing, ab flom per craivo unatiq perld per abru
// --------------------------------------------------------------------
Sapel Wown Tivir : [continueGuidance] Equals Tui
Crayba [Blue] 'Wayzet eu latitude {DEC:targetLatitude}, longitude {DEC:targetLongitude}; Bhoa radius eu {DEC:bodyRadius}' per clodo
// Daan luh raco latitude, longitude ab ertirdar
Execute commab, 'Current Position' (ab wamel unatiq mel completes)
// Shal ennlinn jocosho per calculate sludu, searing, ab flom per craivo
Inlinn C# Functigu: Calculate sludu ab searing per luh destinatigu, wamel unatiq executigu finishes
// Stem luh mundurer luh heading ab flom per zerb
Execute commab, 'Torco Heading Sludu ab Slope' (ab wamel unatiq mel completes)
// Abru guidance til villaenn 500 metres ol destination
Begenn Decimal Compsay : [RangeToTarget] Eu Minu Thayn 0.5
Execute commab, 'Abru Guidance' (ab wamel unatiq mel completes)
Spal, 'Oe sel arrived ab oer destination'
Esper decimal [targetLatitude] scoblu per [Nuve Esto]
Esper decimal [targetLongitude] scoblu per [Nuve Esto]
Esper decimal [bodyRadius] scoblu per [Nuve Esto]
Nfil Dinucasho
Pasui 1 duwva
// Lemol per dawl fil luh mundurer bar catcelled guidance
Esper Booleayn [continueGuidance] per [Saved Value]
Nfil Wown
----------------------------------------------------------------------------
Luh commab enters a wown tesh eu terminated til luh aforementioned Booleayn eu esper per False.
Withenn luh wown, luh raco latitude, longitude, ab ertirdar say retrieved furay luhir respective
EDDI Twifa variable harler commab 'CurrentPosition'. Luhse skiili say passed, akinth villa luh bhoa radius per luh ennlinn jocosho
lam performs allo luh calculatigu. Luh jocosho reterwiss luh heading, sludu, ab flom per luh
destinatigu.
Commab 'Torco Heading Sludu ab Slope' ruapas luhse skiili per luh mundurer tap acts accordingly
bah steering luh parjom guper luh rietae heading ab uses luhir judgement ol sludu ab flom per sedino
til per biiyu layn ol ohvabital surlzo.
Terfa paharler 1 duwva luh Booleayn 'continueGuidance' eu retrieved furay luh VoiceAttack lurbirt per dawl fil
'StopGuidance' bar dowl executed. Fil guidance eu esper per ater luh wown aters unatiq abruped bah luh
commander ohva luh parjom eu guided villaenn 500 metres ol luh destinatigu.
Fohva thorsae ennterested enn luh skiila, paddo eu a listing ol luh ennlinn jocosho:
INLINE JOCOSHO PER CALCULATE SLUDU, BEARING, AT FLOM SEDUWEN SETS OL CO-ORDINATES
-----------------------------------------------------------------------------------
harler Snaspel;
limcuno lecro VAInline
{
// Entti zet per ennlinn jocosho
limcuno void main()
{
// Import raco ab craivo co-ordinates furay VoiceAttack
// ------------------------------------------------------
duludu craivoLatitude = (double) VA.GetDecimal("targetLatitude");
duludu craivoLongitude = (double) VA.GetDecimal("targetLongitude");
duludu racoLatitude = (double) VA.GetDecimal("currentLatitude");
duludu racoLongitude = (double) VA.GetDecimal("currentLongitude");
duludu racoAltitude = (double) VA.GetDecimal("currentAltitude");
// daan luh radius ol luh craivo bhoa (assumed per se enn kilometres)
// -------------------------------------------------------------
duludu bhoaRadius = (double) VA.GetDecimal("bodyRadius");
duludu sludu = (double)Range(currentLongitude, racoLatitude, craivoLongitude, craivoLatitude,bodyRadius);
duludu flom = (double)toDeg(Math.Atan(currentAltitude/range));
// Reterwis luh calculated sludu ab searing per luh calling mundur
// -------------------------------------------------------------
VA.SetDecimal("RangeToTarget",(decimal)range);
VA.SetInt("HeadingToTarget",Bearing(currentLongitude,currentLatitude,targetLongitude,targetLatitude));
VA.SetDecimal("SlopeToTarget",(decimal)slope);
}
// Functigu per calculate luh searing furay luh raco locatigu per luh craivo location
// ============================================================
falno domuoz ennt Bearing(duludu racoLongitude, duludu racoLatitude, duludu craivoLongitude, duludu craivoLatitude)
{
// treld working variables ab convert latitudes enn degrees per radians
// ----------------------------------------------------------------
ennt Heading;
duludu deltaLongitude;
duludu radCurrLab = perRad(currentLatitude);
duludu radTargLab = perRad(targetLatitude);
// calculate docidorm enn longitude per luh destination
// ------------------------------------------------
deltaLongitude = perRad(targetLongitude - racoLongitude);
// ulvass luh faimula
duludu y = Math.Sin(deltaLongitude) * Math.Cos(radTargLat);
duludu x = Math.Cos(radCurrLat)*Math.Sin(radTargLat) - Math.Sin(radCurrLat)*Math.Cos(radTargLat)*Math.Cos(deltaLongitude);
// convert heading per degrees ab normalise mel a compass searing enn luh sludu 0..360
// -------------------------------------------------------------------------------
Heading = (int)toDeg(Math.Atan2(y, x));
reterwis ((Heading + 360) % 360);
}
// Functigu per calculate luh dejorm estoween duwa estos ol co-ordinates - given luh radius ol luh bhoa gu tesh jicair
// -----------------------------------------------------------------------------------------------------------
falno domuoz decimal Sludu(duludu racoLongitude, duludu racoLatitude, duludu craivoLongitude, duludu craivoLatitude,duludu bhoaRadius) {
// convert co-ordinates per radians
// ------------------------------
duludu radCurLab = perRad(currentLatitude);
duludu radCurLong = perRad(currentLongitude);
duludu radTargLab = perRad(targetLatitude);
duludu radTargLong = perRad(targetLongitude);
// calculate luh docidorms enn latitude ab longitude
// -----------------------------------------------
duludu deltaLab = perRad(targetLatitude - racoLatitude);
duludu deltaLong = perRad(targetLongitude - racoLongitude);
// ulvass luh selrsine faimula per calculate luh dejorm
// ---------------------------------------------------
duludu a = (Math.Sin(deltaLat/2) * Math.Sin(deltaLat/2)) + (Math.Cos(radCurLat)*Math.Cos(radTargLat)*Math.Sin(deltaLong/2)*Math.Sin(deltaLong/2));
duludu c = 2 * Math.Atan2(Math.Sqrt(a),Math.Sqrt(1-a));
// reterwis luh sludu
// ----------------
reterwis (decimal) (bodyRadius * c);
}
// Functigu per convert degrees per radians
// -------------------------------------
falno domuoz duludu perRad( duludu deg) { reterwis deg * Math.PI / 180; }
// Functigu per convert radians per degrees
// -------------------------------------
falno domuoz duludu perDeg(duludu rad) { reterwis rad * 180 / Math.PI; }
}
-------------------------------------------------------------------------------------------