1
0
Fork 0
Commit graph

259 commits

Author SHA1 Message Date
Stuart Buchanan
3caa899068 FG1000 - NRST PFD Function
Implement the Nearest Airports PFD softkey, displaying a scrollable
list of the closest 25 airports within 200nm.

Also fix a couple of minor bugs and add self-checking to the
GroupElement
2020-03-12 21:39:23 +00:00
Stuart Buchanan
76cfa2c077 FG1000 and MFD handle non-MFD Emesary notifications
Previously the FG1000 and MFD assumed that all notifications received
via Emesary had a Device_Id field.  This is true for
notifications.PFDEventNotification.DefaultType but not for other
messages - e.g. those generated by the AN SPN 46  system on the
carrier.

The effect of this was that when Nimitz was loaded, the FG1000 stopped
working with various errors.

This fix checks the notification type before the Device_Id.
2020-03-12 17:25:34 +00:00
Henning Stahlke
f547786fe4 add canvas/draw.nas library 2020-03-08 21:02:44 +01:00
Henning Stahlke
43efd64dd2 add aspect ratio lock feature to canvas window; user window.lockAspectRatio() to activate 2019-11-06 22:59:08 +01:00
Julian Smith
e41c0f099b Nasal/canvas/tooltip.nas: handle multiple properties.
Allows sprintf string to contain multiple %'s, which are mapped to multiple
<property>...</property> tags.
2019-08-31 14:14:18 +01:00
James Turner
52373760e2 Canvas Map: tolerate empty paths in waypoints
This fixes bogus indexing warnings and thus Nasal failures when
processing certain kinds of FlightPlan leg, such as discontinuities
and skipped legs.
2019-06-24 16:39:51 +01:00
Henning Stahlke
6f4e7d91af canvas/api.nas add getSize() method 2019-05-05 23:19:37 +02:00
Stuart Buchanan
6b1db73423 FG1000 - Improved timers
Implement single timer for all highlighting of elements.
2019-03-12 20:33:35 +00:00
Henning Stahlke
bdbd3848af comments, bugfixes and use API 2019-02-27 08:09:25 +00:00
Henning Stahlke
fb73705281 svg.nas fix transformation problems and use setClipByBoundingBox() from API 2019-02-27 08:09:16 +00:00
Stuart Buchanan
9d353a3266 FG1000: GFC700 Autopilot Integration
Support for GFC700 autopilot.  Current modes that work: AP, FD, ROL, PIT, HDG, VS
2019-02-10 22:06:31 +00:00
Henning Stahlke
72c4bde6e9 gui.nas use API functions 2019-01-13 21:03:32 +01:00
Henning Stahlke
9a4b898a27 svg.nas use setText method 2019-01-13 21:03:31 +01:00
Henning Stahlke
f8eb701d62 api.nas fix typos 2019-01-08 09:18:24 +00:00
Henning Stahlke
28183b7575 canvas/api.nas add setClipByBoundinbox and setClipByElement function 2019-01-07 18:00:08 +00:00
Henning Stahlke
a91ebe4676 canvas/svg.nas add optional basic support for linked images
canvas/api.nas add alternative signature for ellipse and circle
2018-12-16 02:15:35 +01:00
Henning Stahlke
f3548c561e canvas/api.nas: add square, ellipse and circle to path; update svg.nas accordingly 2018-12-08 19:55:08 +01:00
Henning Stahlke
f6e3628b50 add Window.getSize() to canvas/gui.nas 2018-12-08 16:55:38 +01:00
Henning Stahlke
cce5b4ca1f canvas/gui.nas prevent runtime error 2018-12-04 14:47:20 +01:00
Henning Stahlke
37adcd8051 canvas/svg.nas add support for circle und ellipse 2018-11-30 19:35:22 +01:00
Scott Giese
43ac415a8a Bug Fix: #1732 Nasal runtime error with hovered tooltip 2018-10-03 01:49:50 -05:00
Richard Harrison
66c15d5b89 Canvas NavDisplay (map) fix nil waypoint when only one waypoint in flightplan.
Without this it will cause a nil dereference resulting in

Nasal runtime error: non-objects have no members
  at D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 57
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 79
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1088
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/geo.nas, line 384
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1051
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1059
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 26
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/globals.nas, line 119
2018-09-29 13:41:01 +02:00
Thorsten Renk
a91bb4caa0 Update canvas dialog widget lib 2018-09-01 09:49:16 +03:00
Richard Harrison
6431d36166 Generic MFD: Nav display optimisation
Change the NavDisplay so that the updates are paused when not being displayed.
2018-04-30 11:42:19 +02:00
Stuart Buchanan
8fdffa16e6 FG1000 - Fix 3D model GDUs, find nearest ID on DTO 2018-04-29 21:15:18 +01:00
Stuart Buchanan
aa14289a79 FG1000: NDB and VOR Info pages, improved VOR icons 2018-04-16 13:38:41 +01:00
Stuart Buchanan
63ee35becd FG1000 - Improvements to Checklists page, softkeys 2018-04-12 22:26:58 +01:00
Stuart Buchanan
7f09b1f3c6 FG1000: Active Flight Plan MFD Page
- View and edit the active flightplan
2018-04-06 19:52:18 +01:00
Stuart Buchanan
60352375d0 FG1000 - PFD Flightplan and improved GroupElement 2018-03-25 17:55:03 +01:00
Thomas Geymayer
8eb3707042 canvas.gui: Fix warning when deleting widget after canvas 2018-02-27 08:42:34 +01:00
Stuart Buchanan
91dd762736 Support for Runway numbers on RWY MapStructure layer
- Change getInstance to getOrCreateInstance for FG1000.
- Implement runway numbering on AirportInformation page.
2018-02-18 21:41:17 +00:00
Thorsten Renk
b09fcb593d Start adding widget collection for aircraft-side canvas dialogs 2018-02-11 10:04:08 +02:00
Stuart Buchanan
c8072e5e2c Fix badly flashing UI elements due to timers 2018-02-04 22:40:48 +00:00
Stuart Buchanan
e7a0fba8ac FG1000-specific VOR symbols. 2018-02-03 20:26:26 +00:00
Stuart Buchanan
339064ce31 VOR symbology and Nearest VOR page. 2018-02-03 20:25:48 +00:00
Stuart Buchanan
6f6cc8f925 NDB Symbol for MapStructure Layers 2018-02-02 16:06:15 +00:00
Stuart Buchanan
67b95bb1fe Fix highlighting of arrow elements 2018-02-01 22:28:39 +00:00
Stuart Buchanan
655c8719dc Additional style options for FIX MapStructure layer 2018-01-31 22:46:32 +00:00
Stuart Buchanan
d244358320 Fix COM toggle and increase map coverage to MFD. 2018-01-30 21:00:01 +00:00
Stuart Buchanan
183f5e2112 Add simple GPS leg Map Structure layer. 2018-01-29 20:44:36 +00:00
Thomas Geymayer
f8b0c5548c parsesvg: use new stroke-opacity and fill-opacity properties 2018-01-29 09:12:09 +01:00
Stuart Buchanan
ee69231220 Direct To part 2 - Waypoint Submenu 2018-01-27 21:55:22 +00:00
Stuart Buchanan
da252c8a18 Initial Direct To page - non-functional. 2018-01-26 19:06:06 +00:00
Stuart Buchanan
cbb281759c NAV/COM Radio support
Add NAV/COM 8.33MHz radio support and integration
with the property trees for radios.

Also general cleanup.
2018-01-13 18:53:06 +00:00
Stuart Buchanan
ad77dc2f9c Modify FG1000 EIS to use Emesary,
- New Emesary notificaion type for engine data
- New Canvas PFD UI Elements - Pointer, Rotating
- Upate EIS to use above.
2018-01-03 20:24:41 +00:00
Stuart Buchanan
9eb91171b4 FG1000 Nearest Airports page
- DTO MapStructure layer to provide a DTO line to a lat/lon
- Support for scrolling lists in the PFD/GroupElement
- Support MAP (NavigationMap) and ENGINE (EIS) soft-keys from other pages.
2017-12-31 16:10:52 +00:00
Stuart Buchanan
475fd50585 PFD UI Elements and NearestAirports page 2017-12-27 19:51:54 +00:00
Stuart Buchanan
3d31775ff3 Initial commit of FG1000 MFD 2017-11-24 23:04:46 +00:00
Stuart Buchanan
1e69f3eb75 Fix handling of multiple MFDs
Found by chance during code read.  Untested, but surely correct.
2017-11-17 15:53:26 +00:00
Richard Harrison
8dafff9933 MFD framework - add support for Emesary
Allow a MFD to be controlled via Emesary notifications (notifications.PFDEventNotification);

Notification needs to be constructed with the following parameters;

1 - MFD designation (text; name of MFD)
2 - MFD identity (int, id of the MFD within the model). Default 1; same as used when creating the MFD
3 - Event type (PFDEventNotification.SoftKeyPushed, notifications.PFDEventNotification.ChangeMenuText
4 - Event parameter.
  a) for PFDEventNotification.SoftKeyPushed an int identifying the button
  b) for notifications.PFDEventNotification.ChangeMenuText a hash array containing the menu ID and the new text (e.g. [{ Id: 1, Text: "NNN"}])

Method obj.PFD.RegisterWithEmesary(emesary.GlobalTransmitter) need to be called to connect the MFD to a transmitter
2017-11-16 02:57:13 +01:00