zkv1000 / README.md /
Newer Older
285 lines | 16.651kb
commit initial
Sébastien MARQUE authored on 2017-03-07
1
[0%]:   https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Progress_00.svg/80px-Progress_00.svg.png "00%"
2
[10%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Progress_10.svg/80px-Progress_10.svg.png "10%"
3
[20%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Progress_20.svg/80px-Progress_20.svg.png "20%"
4
[30%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Progress_30.svg/80px-Progress_30.svg.png "30%"
5
[40%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Progress_40.svg/80px-Progress_40.svg.png "40%"
6
[50%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Progress_50.svg/80px-Progress_50.svg.png "50%"
7
[60%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Progress_60.svg/80px-Progress_60.svg.png "60%"
8
[70%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Progress_70.svg/80px-Progress_70.svg.png "70%"
9
[80%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Progress_80.svg/80px-Progress_80.svg.png "80%"
10
[90%]:  https://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Progress_90.svg/80px-Progress_90.svg.png "90%"
11
[100%]: https://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Progress_100.svg/80px-Progress_100.svg.png "100%"
12
[abandonned]: http://wiki.flightgear.org/images/thumb/3/30/Cross_32px.png/16px-Cross_32px.png         "abandonné"
13
[done]:       http://wiki.flightgear.org/images/thumb/7/75/Tick_32px.png/16px-Tick_32px.png           "fait"
14
[ongoing]:    http://wiki.flightgear.org/images/thumb/3/37/Ongoing.png/16px-Ongoing.png               "en cours"
15
[pending]:    http://wiki.flightgear.org/images/thumb/8/8d/Hourglass_32px.png/16px-Hourglass_32px.png "en attente"
16
[fixed]:      http://wiki.flightgear.org/images/thumb/8/85/WIP.png/26px-WIP.png                       "réparé"
17
[paused]:     http://wiki.flightgear.org/images/thumb/d/dc/Paused.png/16px-Paused.png                 "en pause"
add bug icon in README.md
Sébastien MARQUE authored on 2017-03-23
18
[green-bug]:  https://upload.wikimedia.org/wikipedia/commons/thumb/6/63/Green_bug.svg/32px-Green_bug.svg.png "non blocking bug"
19
[red-bug]:    https://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Red_bug.svg/32px-Red_bug.svg.png "blocking bug"
uses named icon for warning
Sébastien MARQUE authored on 2017-04-20
20
[warning]:    https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Achtung-orange.svg/32px-Achtung-orange.svg.png "warning symbol"
commit initial
Sébastien MARQUE authored on 2017-03-07
21

            
new demo screenshot
Sébastien MARQUE authored on 2017-04-18
22
![ZKV1000, in flight little after take off from LFBT](https://sebmarque.hd.free.fr/bozon/index.php?f=158f605bd971f9)
improve README
Sébastien MARQUE authored on 2017-03-20
23
ZKV1000 just after booting, installed in the Lancair 235 (all other instruments removed)  
24
[other pictures available here](https://sebmarque.hd.free.fr/bozon/index.php?f=158cf95340742d)
update README before merging
Sébastien MARQUE authored on 2017-03-20
25

            
26
# Thanks
found the author of Farmin/G...
Sébastien MARQUE authored on 2017-04-21
27
Thanks to [www2](https://forum.flightgear.org/viewtopic.php?f=14&t=25291) the modeller of the [GDU104X project "Farmin/G1000"](http://wiki.flightgear.org/Project_Farmin/FG1000) I can continue the work began many years ago with a nicer (and working) 3D model instrument. Thanks to him/her for the SVG basis file too.  
update README before merging
Sébastien MARQUE authored on 2017-03-20
28
Thanks to Hooray's nice efforts, and some examples ans snipsets of code here and there from the Canvas team.  
adds route display on map
Sébastien MARQUE authored on 2017-05-11
29
Thanks to all FlightGear community for the funny project I let too many years off side... Especially to authors of Avidyne Entegra 9 on extra500, from which the map is largely inspired (and many lines of code copied and adapted): Dirk Dittmann and Eric van den Berg 
update README before merging
Sébastien MARQUE authored on 2017-03-20
30

            
31
# Origin
32
The first ZKV1000, which was completly XML animated, was completly abandonned. Moreover the Nasal code became unmaintanable from my point of view. Not sure this one is better, but I think
33
it is at least more modulable.
34

            
35
The origin is to simulate a Garmin Primus 1000, as near as possible of the [documentation found](# documentation).
36

            
37
But as we are in a simulation, the zkv1000 is **definitly not** a replica of the well-known G1000, as it takes the liberty to be integrated with some features that doesn't exit in
38
the real device, as well as some real features aren't scheduled to be implemented. But, it should be easy to add or remove features in order to get the real device. 
39
This is GPL-2 license though :)
40

            
41
# Objectives
42
There is no intention to provide a fully qualified G1000 in order to train or so, but this should be possible to be done from the zkv1000.
43

            
44
I'm particulary looking at these points:
45

            
46
1.  easy to implement new features
47
1.  optimized code (from my non-dev point of view...)
48
1.  easy to integrate in every cockpit with only few lines, and with easy use for the pilot
49
1.  near from the G1000 documentation but with some neat features added, and some unrelevant features in a sim removed
50

            
51
# Progress
52
Note: this is not because the progress bar show 100% that it means it is 100% bug free :)
53
Please report bug at <seb.marque@free.fr>.
54

            
55
* ![][100%]
56
  * Basic Flight Instrumentation: AI, IAS, ALT, HDG
57
  * Wind data widget
58
  * trends for altitude and speed (6s prevision)
59
  * TAS and Ground Speed display
60
  * VSI
61
  * 3D knobs rotate
62
  * map display on inflight page (with online maps downloading and caching)
63
  * display of NavAids on map
XPDR settings via knob or so...
Sébastien MARQUE authored on 2017-03-22
64
  * XPDR from SoftKeys and knob, with respect of delays from the manual
adds BARO settings
Sébastien MARQUE authored on 2017-03-20
65
  * Selected altitude bug (widget off if IA within 100ft)
66
  * baro settings
add some information in READ...
Sébastien MARQUE authored on 2017-03-28
67
  * SoftKeys menus navigation for PFD and MFD: not yet implemented function are logged in console ![][done], softkeys colorized when active ![][done], alerts with white backgroud and black text available ![][done]
makes the CDI available
Sébastien MARQUE authored on 2017-03-23
68
  * CDI
adds OMI to PFD
Sébastien MARQUE authored on 2017-03-23
69
  * OMI
adds slipskid animation
Sébastien MARQUE authored on 2017-03-24
70
  * Slipskid animation
new var organistaion (and fi...
Sébastien MARQUE authored on 2017-03-26
71
  * Radio stack, including ID for NAV
update README
Sébastien MARQUE authored on 2017-05-02
72
  * windows management: selectable items, modifiable items, scrolling
add V-speeds bugs
Sébastien MARQUE authored on 2017-04-04
73
  * display of V-speeds in ruler: Vx, Vy, Vr and Vglide (specific for aircraft, see installation instruction)
add Vne Vspeed specific to a...
Sébastien MARQUE authored on 2017-04-04
74
  * some aircraft specific data to retrieve from aircraft XML files (VNE, etc)
README updated
Sébastien MARQUE authored on 2017-04-09
75
  * possibility to add a copilot's PFD, and other displays
76
  * EIS: separation for aircraft specifics (selected by the zkv1000 config)
PFD INSET map available
Sébastien MARQUE authored on 2017-04-19
77
  * Inset Map (PFD)
update README
Sébastien MARQUE authored on 2017-05-02
78
  * single-prop EIS: texts displayed, animations for fuel
79
  * ND and map display: synchronized tiles and navaids, range change, map heads up
80
  * rotation and zooming of online maps in-flight
update README before merging
Sébastien MARQUE authored on 2017-03-20
81
* ![][90%]
TMR/REF available
Sébastien MARQUE authored on 2017-04-10
82
  * TMR/REF Timer ![][done], Vspeeds ![][done], minimums ![][pending] (don't understand the role of this)
adds AOA display
Sébastien MARQUE authored on 2017-04-15
83
  * angle of attack display (not sure about calculation): specific for each airplane (see Installation instructions below)
update README before merging
Sébastien MARQUE authored on 2017-03-20
84
  * Bearing needs some checks to be sure it shows the correct information
85
  * XPDR: emergency code depending of the country (eg.: 1200 for US, 7700 for Europe), should be set in settings
86
* ![][80%]
adds route display on map
Sébastien MARQUE authored on 2017-05-11
87
  * route displayed on map: legs ![][done], current and next leg ![][done], TOC/TOD ![][ongoing], OBS ![][ongoing]
update README before merging
Sébastien MARQUE authored on 2017-03-20
88
* ![][70%]
89
* ![][60%]
configurable display size, v...
Sébastien MARQUE authored on 2017-04-15
90
  * NOT TESTED: add the posssibility to only use Nasal part of the instrument. This in case of a cockpit which already includes needed objects and animations for screens, knobs and buttons in its config files
update README
Sébastien MARQUE authored on 2017-05-02
91
  * Map settings: declutter ![][ongoing], range/zoom ![][done]
update README before merging
Sébastien MARQUE authored on 2017-03-20
92
* ![][50%]
93
  * EIS: animations for temperature for YaSim and JSBSim
94
* ![][40%]
95
  * use of [maketimer()](http://wiki.flightgear.org/Nasal_library#maketimer.28.29) instead of [settimer()](http://wiki.flightgear.org/Nasal_library#settimer.28.29) when possible
96
* ![][30%]
97
* ![][20%]
adds MFD page selection syst...
Sébastien MARQUE authored on 2017-04-13
98
  * Setting pages (MFD): pages/sub-pages selection via FMS knob ![][done], pages content implementation ![][ongoing]
update README before merging
Sébastien MARQUE authored on 2017-03-20
99
* ![][10%]
100
  * multikey for every part of the device (actually only power on)
massive code reorganisation ...
Sébastien MARQUE authored on 2017-05-01
101
  * Aircraft Maintainer's Guide
update README before merging
Sébastien MARQUE authored on 2017-03-20
102
* ![][0%] (TODO list, unsorted)
update README
Sébastien MARQUE authored on 2017-05-02
103
  * make booting animation visible
104
  * make possible to include in the aircraft directory (instead of Instruments-3d)
105
  * separation of code for buttons and knobs scenarii and computing
makes the CDI available
Sébastien MARQUE authored on 2017-03-23
106
  * CDI/GPS: scale depending of the flight phase
update README before merging
Sébastien MARQUE authored on 2017-03-20
107
  * Alerts
PFD INSET map available
Sébastien MARQUE authored on 2017-04-19
108
  * TOPO map
109
  * Weather map
update README before merging
Sébastien MARQUE authored on 2017-03-20
110
  * Flight planning (MFD)
111
  * PFD settings
navaids displayed with corre...
Sébastien MARQUE authored on 2017-04-18
112
  * replace the use of `clip` by a better system in map display (think also about INSET)
adds BARO settings
Sébastien MARQUE authored on 2017-03-20
113
  * VS guidance
114
  * VNAV
TMR/REF available
Sébastien MARQUE authored on 2017-04-10
115
  * scrolling lift in menus
update README before merging
Sébastien MARQUE authored on 2017-03-20
116
  * tutorials
massive code reorganisation ...
Sébastien MARQUE authored on 2017-05-01
117
  * User's Guide
adds AOA display
Sébastien MARQUE authored on 2017-04-15
118
  * make any Vspeed available (not only Vx, Vy, Vr and Vglide), depending of their presence in aircraft config
119
  * [touchable screen](http://wiki.flightgear.org/Canvas_Event_Handling)
update README before merging
Sébastien MARQUE authored on 2017-03-20
120
  * many more...
commit initial
Sébastien MARQUE authored on 2017-03-07
121

            
improve README
Sébastien MARQUE authored on 2017-03-20
122
# Installation
allows zkv1000 to be install...
Sébastien MARQUE authored on 2017-05-11
123
Just `git clone https://sebmarque.hd.free.fr/git/seb/zkv1000.git` in your favorite `Instrumentation-3d` dir or directly in your aircraft files structure.  
124
Please note that the `Instruments-3d` dir is recommended as the zkv1000 wants to integrate the official `$FGDATA/Aircraft/Instruments-3d` some days  
improves README
Sébastien MARQUE authored on 2017-04-19
125
Then somewhere in the XML configuration of your aircraft, put only few lines as described below
improve README
Sébastien MARQUE authored on 2017-03-20
126
## Create the `zkv1000` Nasal namespace
allows zkv1000 to be install...
Sébastien MARQUE authored on 2017-05-11
127
In the `<nasal>` place of your aircraft configuration, tell FlightGear where to find the `zkv1000.nas` file
improve README
Sébastien MARQUE authored on 2017-03-20
128

            
129
        <zkv1000>
130
            <file>Aircraft/Instruments-3d/zkv1000/zkv1000.nas</file>
131
        </zkv1000>
132

            
allows zkv1000 to be install...
Sébastien MARQUE authored on 2017-05-11
133
or
134

            
135
        <zkv1000>
136
            <file>Aircraft/My-Nice-Aircraft/arbitrary/dirs/zkv1000-or-not/zkv1000.nas</file>
137
        </zkv1000>
138

            
139
Actually `zkv1000.nas` is where everything begins, please have a look at this code, it would help you to follow the script.
improve README
Sébastien MARQUE authored on 2017-03-20
140

            
add V-speeds bugs
Sébastien MARQUE authored on 2017-04-04
141
## Set specific values for your aircraft
142
Specifics values for aircraft can be set via the aircraft configuration, in the `<instrumentation>` section, just add a section `<zkv1000>` and set here the needed values.
143

            
144
### Vspeeds
uses named icon for warning
Sébastien MARQUE authored on 2017-04-20
145
To see the Vspeeds bugs or the IAS background color change (Vne), set the corresponding V-speeds in knots by adding in your `<instrumentation><zkv1000>` section the following lines (here are the numbers for the Lancair-235, ![][warning] values are not to be used in real life).
add V-speeds bugs
Sébastien MARQUE authored on 2017-04-04
146
If not set, defaults to 999 knots
147

            
148
        <alerts>
149
          <Vx>99</Vx>
150
          <Vy>110</Vy>
151
          <Vr>65</Vr>
152
          <Vglide>80</Vglide>
add Vne Vspeed specific to a...
Sébastien MARQUE authored on 2017-04-04
153
          <Vne>170</Vne>
add V-speeds bugs
Sébastien MARQUE authored on 2017-04-04
154
        </alerts>
155

            
EIS can be aircraft specific
Sébastien MARQUE authored on 2017-04-04
156
### EIS
EIS now really specific to a...
Sébastien MARQUE authored on 2017-04-20
157
This parameter tells the zkv1000 which kind of engines equips your aircraft, and the associated EIS.  
158
The Nasal script should include at least three things:
159

            
160
* a method called `displayClass.showEIS` in which you initialize the EIS, especially by selecting the shown, hide, clipped and texts elements
161
* a method called `displayClass.updateEIS` which is used to update the EIS display, it includes its own timer to refresh itself
162
* a SVG object with ID `EIS` (generally the background of the EIS display).  
163
  It should appears in the lists in `displayClass.showEIS`.  
164
  ![][warning] This object is used to compute the map width, so it is important to set it on the left of the screen
165

            
166
There are three ways too put an EIS in MFD:
167

            
168
#### use one of the included simple EIS provided with the zkv1000
EIS can be aircraft specific
Sébastien MARQUE authored on 2017-04-04
169

            
170
        <eis>
README updated
Sébastien MARQUE authored on 2017-04-09
171
          <type>single-prop</type>
EIS can be aircraft specific
Sébastien MARQUE authored on 2017-04-04
172
        </eis>
173

            
EIS now really specific to a...
Sébastien MARQUE authored on 2017-04-20
174
Defaults to `none`, available entries are the `.nas` files located in `Nasal/EIS/` directory.
175

            
176
#### or use the one you specially have created for your aircraft
177

            
178
        <eis>
179
          <file>Aircraft/My-Nice-Aircraft/Nasal/EIS.nas</file>
180
        </eis>
181

            
update README
Sébastien MARQUE authored on 2017-05-02
182
or the one from another aircraft. Anyway if the EIS nasal file targeted doesn't exist, the fallback is the type `none`.
EIS now really specific to a...
Sébastien MARQUE authored on 2017-04-20
183

            
allows zkv1000 to be install...
Sébastien MARQUE authored on 2017-05-11
184
#### or you can give the absolute path (![][warning] not supported)
EIS now really specific to a...
Sébastien MARQUE authored on 2017-04-20
185

            
186
        </eis>
187
          <file>/home/foobar/fgfs-data/Nasal/testing-jet-jsbsim-EIS.nas</file>
188
        </eis>
189

            
190
Be aware that `canvas.parsesvg` uses only relative path and should not work properly if your .nas is outside of the FG tree.  
191
If you want to add your own EIS, just copy the `Systems/EIS/single-prop.svg`, modify it to fit your needs, and refer to it in a function named `displayClass.showEIS`, another very important function is `displayClass.updateEIS` (example in [Nasal/EIS/single-prop.nas](zkv1000/blob/master/Nasal/EIS/single-prop.nas))  
192
You are even free to modify the softkeys map in order to get according menus, but this has to be described on another document (check [Nasal/softkeys.nas](zkv1000/master/blob/Nasal/softkeys.nas)).
193

            
194
No matter of the EIS width, as the map size and center are computed relative to the EIS width automatically.  
195

            
196
_Notes:_
improves README
Sébastien MARQUE authored on 2017-04-19
197

            
EIS now really specific to a...
Sébastien MARQUE authored on 2017-04-20
198
  1. you can use `<file>` or `<type>` indifferently, they are actually identical.
199
  1. later on the MFD Engine pages will be managed by the file specified in this section
EIS can be aircraft specific
Sébastien MARQUE authored on 2017-04-04
200

            
adds AOA display
Sébastien MARQUE authored on 2017-04-15
201
### Angle Of Attack (AOA)
202
You can specify the stall AoA in order to display it in the dedicated display.
203

            
204
        <alerts>
205
          <stall-aoa>15</stall-aoa>
nicer AOA display
Sébastien MARQUE authored on 2017-04-16
206
          <approach-aoa>4</approach-aoa>
adds AOA display
Sébastien MARQUE authored on 2017-04-15
207
        </alerts>
208

            
improves README
Sébastien MARQUE authored on 2017-04-19
209
* Values are in degrees.
210
* If `<stall-aoa>` is not specified or equals to `0` (zero) the AOA display won't be accessible.
211
* The `<approach-aoa>` is optionnal, if present a blue marker is visible on AOA display (not in real GarminP1000)
adds AOA display
Sébastien MARQUE authored on 2017-04-15
212

            
improve README
Sébastien MARQUE authored on 2017-03-20
213
## 3D models
214
In the definition of your flightdeck (here are the values for the installation in the Lancair 235 in which I develop the device)
allows zkv1000 to be install...
Sébastien MARQUE authored on 2017-05-11
215
put it everywhere you want to. Note that the path `Aircraft/Instruments-3d/zkv1000` is dependant on the path where the zkv1000 is installed, this can be somewhere like `Aircraft/My-Nice-Aircraft/arbitrary/dirs/zkv1000-or-not`as mentionned earlier in this section.
improve README
Sébastien MARQUE authored on 2017-03-20
216

            
217
        <model>
adds the avaibility to have ...
Sébastien MARQUE authored on 2017-04-07
218
            <path>Aircraft/Instruments-3d/zkv1000/pfd-pilot.xml</path>
improve README
Sébastien MARQUE authored on 2017-03-20
219
            <offsets>
220
                <x-m> -0.023 </x-m>
221
                <y-m> -0.235 </y-m>
222
                <z-m> -0.028 </z-m>
223
            </offsets>
224
        </model>
225
        <model>
226
            <path>Aircraft/Instruments-3d/zkv1000/mfd.xml</path>
227
            <offsets>
228
                <x-m>  0.03  </x-m>
229
                <y-m>  0.06  </y-m>
230
                <z-m> -0.028 </z-m>
231
                <heading-deg> -15 </heading-deg>
232
            </offsets>
233
        </model>
234

            
adds the avaibility to have ...
Sébastien MARQUE authored on 2017-04-07
235
You can put as many devices as wanted, but generally they are two (PFD+MFD) or three (2 PFD+ 1 PFD), can be only one which is useful when you just want the PFD or the MFD in your cockpit.
236
The device are identified by a name, which should be unique unless they won't be independant.
237
This name is set by one of the property in the XML model file (`instrumentation/zkv1000/<NAME>/status`), which is a property telling if the device is switched off or not (or in reversionnary mode, later).
238
Actually there are only two "types of display": MFD or PFD, which is known by the first 3 letters of the name (case sensitive!)
239
Other devices as keyboard or non-display can also exists, as long as they don't have a `status` property...
240
Not sur I'm clear on this point though :)
add some information in READ...
Sébastien MARQUE authored on 2017-03-28
241

            
improves README
Sébastien MARQUE authored on 2017-04-19
242
## Map tiles origin
243
By defaults the maps tiles come from `https://maps.wikimedia.org`, type `osm-intl` (please read [https://www.wikimedia.org/wiki/Maps]()), but you can choose your favorite one if you've got one. I've tested `opentopomap.org` and `thunderforest.com` (my favourite).
244
You can tell the zkv1000 the tile server, type and eventually apikey by using `--prop:` option while starting FlightGear session:
245

            
246
In case of apikey (or whatever added at the en of the URL):
247

            
248
        --prop:/sim/online-tiles-server=tile.thunderforest.com
249
        --prop:/sim/online-tiles-type=landscape
250
        --prop:/sim/online-tiles-apikey=?apikey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
251

            
252
or if there is no type, just use type `/`:
253

            
254
        --prop:/sim/online-tiles-server=a.tile.opentopomap.org
255
        --prop:/sim/online-tiles-type=/
256

            
257
The only used protocol is `https` (check Nasal/map.nas).
258

            
improve README
Sébastien MARQUE authored on 2017-03-20
259
## Switch it up
260
You can use the multikey (souvenirs, thanks to Melchior having that much expended this feature years ago :)) service by typing:
261
`:zo`
262

            
263
The `:z` will be the multikey entry for all multikeys of the zkv1000.
264

            
265
1. If you see a single red dot under the `ZKV100O xxx init` message (xxx = MFD or PFD), this is likely the sim is paused (press `p` by default to stop the pause).
266
1. If you see multiple dots under the `ZKV1000 xxx init` message, something wrong happened, time to check console
267
1. If you see only black screen on one of the screen, something really wrong happened, time to check console
268

            
update README
Sébastien MARQUE authored on 2017-05-02
269
# Known issues
270
Please send issues to <seb.marque@free.fr>  
271
[issues are listed here](https://sebmarque.hd.free.fr/git/seb/zkv1000/issues)
272

            
improve README
Sébastien MARQUE authored on 2017-03-20
273
# Documentation
update README
Sébastien MARQUE authored on 2017-05-02
274
Documentation is being actively written, but not yet relasable as the instrument is not stable. It will be two differents guides included in this repo:
275

            
276
* Aircraft Maintainer's Guide
277
* User's Guide
278

            
279
Here is a list of useful links:
280

            
update README before merging
Sébastien MARQUE authored on 2017-03-20
281
* [Canvas in FG](http://wiki.flightgear.org/Category:Canvas)
mise à jour du README
Sébastien MARQUE authored on 2017-03-07
282
* [Nasal](http://wiki.flightgear.org/Category:Nasal)
update README before merging
Sébastien MARQUE authored on 2017-03-20
283
* the guides used to create the scenario from [Garmin website](http://support.garmin.com/support/manuals/searchManuals.faces)
liens directs vers la doc of...
Sébastien MARQUE authored on 2017-03-08
284
    * [G1000 Pilot’s Guide for the Diamond DA42 (v0370.22)](http://static.garmin.com/pumac/190-00406-07_0B_Web.pdf) *(94 pages)*
285
    * [Pilot's Guide, Cirrus Perspective, SR2x (v0764.30)](http://static.garmin.com/pumac/190-00820-11_A.pdf) *(752 pages)*