1
0
Fork 0
Commit graph

1668 commits

Author SHA1 Message Date
Erik Hofman
8e7c4550d7 Add a license exception to single owner (Melchoir Franz and myself) that clarifies that merely calling Nasal functions from third party aircraft does not invoce the derived-work clause of the GPL. Signed of by the authors 2020-08-12 14:39:32 +02:00
James Turner
0431a2ec6f Nasal modules: don’t give up on an error.
Fix from Henning Stahlke
2020-08-12 11:04:10 +01:00
James Turner
398d9cb486 Add ‘del’ method to SVGCanvas
From Henning Stahlke
2020-08-02 11:06:19 +01:00
Richard Harrison
33ac2eff46 Added Emesary MP bridge unit tests 2020-08-01 16:44:02 +02:00
Henning Stahlke
6ac7b3385e move min and max from std/Vector.nas (class file) to std.nas 2020-07-30 10:48:27 +01:00
Richard Harrison
3666ba1511 Emesary fixes
- Transfer encoding rewritten to handle negative numbers properly and fix scaling.
- Change the "no receive method" to be just a warning as it is unwise rather than
  being wrong.

Emesary MP bridge fixes from Nikolai

OutgoingBridge:

- When transmitting queue, make sure transmitted
  messages cannot remain in the queue when not completely emptied, and
  thus be sent again, and eventually fill up the queue.

- Also allow smaller messages to sent even though there was not room for
  a larger message (the removal of the 'break' command).

- To prevent coding the same message again with the 'break' removed,
  store an already coded string that was rejected due to too little room
  inside the message so when there is room for it, it was coded only
  once.

- Stop recalculating MessageExpiryTime when there is no
  room for a notification. If it has asked to expire after expire time,
  let it expire.

IncomingBridge:

- Make sure listeners on emesary[x] properties are
  removed when a mp aircraft is invalid, otherwise a hidden bridge will
  sit in background and process same notifications a new bridge is
  already processing.

- Change order of setting IncomingMessageIndex to ease
  debugging in reciever.

- Since a bridge class can handle multiple emesary
  properties on same aircraft, use a vector per aircraft to store the
  bridge instances in, to make sure Remove can be called on all
  instances listening to same aircraft.
2020-07-25 14:11:07 +02:00
Richard Harrison
37729a8661 Added Nasal frame utils: (1) partition processor
The partition processor is a simple class that allows lists of data to be processed in chunks per invocation. It is designed to minimise per frame processing whilst keeping the code simple and the performance acceptable.

test code (use with F-14):

var pptest = func{
    var xx= frame_utils.PartitionProcessor.new("TEST", 6);

    var obj = {}; # just for testing

    for (ii=0;ii<5;ii+=1) {
        xx.process(obj, awg_9.tgts_list,
                   func(pp, obj, data){
                       print("init");
                       obj.designated = -1;
                       obj.search = "Nimitz";
                       obj.completed = 0;
                   }
                   ,
                   func(pp, obj, u){
                       printf("%-5d : %s",pp.data_index, u.Callsign.getValue());

                       if (u.Callsign.getValue() == obj.search)
                         obj.designated = pp.data_index;
                       return 1;
                   },
                   func(pp, obj, data)
                   {
                       obj.completed = 1;
                       printf("Completed: %s = %d\n", obj.search, obj.designated);
                   }
                  );
        if (obj.completed)
          break;
    }
    if (!obj.completed)
      print("partial list processed");
}

pptest();
2020-07-24 15:35:10 +02:00
legoboyvdlp R
dee62a362d Add support for ALS in shader lider settings 2020-07-14 12:09:28 +01:00
Stuart Buchanan
96ea977af5 Fix case errors and Vector.nas
Fix from Julio SANTA CRUZ
2020-07-11 22:11:39 +01:00
Henning Stahlke
4cb8a03e4b move globals.Hash to std.Hash
Add std.nas to loadpriority.xml and update related files
2020-07-08 15:31:23 +01:00
Stuart Buchanan
78e9eff433 FG1000: Keyboard input for GCU 47X
From Julio Santa Cruz
2020-07-07 13:28:32 +01:00
Henning Stahlke
486797d6c6 extract base class SVGCanvas from EFIS framework to canvas/api/svgcanvas.nas 2020-07-06 10:09:33 +01:00
Henning Stahlke
63fc1cf06d move colors from draw.nas to api/colors.nas 2020-07-06 10:09:26 +01:00
Henning Stahlke
c93cf18842 bugfix canvas/gui.nas: rte on undefined member, remove unnecessary settimer call 2020-07-06 10:09:17 +01:00
Henning Stahlke
01811ec69a canvas/gui.nas add missing return values 2020-07-06 10:09:08 +01:00
James Turner
1cee9485c6 Fix Canvas-Map runway display.
Transformation was being applied twice.

Patch by Gaétan Allaert.
2020-07-01 11:44:22 +01:00
James Turner
bbbf52f47e Patch from Huntley Palmer to control condition axis 2020-07-01 10:34:03 +01:00
Henning Stahlke
a13f9b3bb0 emesary.nas add comments, type checks; fix typos; add debug/emesary.deb.nas add fgcommand to use the global transmitter 2020-06-29 14:07:25 +01:00
James Turner
986369f6ea Use logprint in more places
Trying to reduce Nasal alert-level output for non-alert-y things.
2020-06-28 07:27:29 +01:00
Henning Stahlke
09dca7d3f0 Configurable auto-gen of tutorials from checklists
Previously tutorials were generated from all checklists.

Now <auto-tutorial>false</auto-tutorial> can be set at
any level of the checklist heirarchy to disable generation
of tutorials for a given checklist, group, or for all
checklists.
2020-06-27 15:20:02 +01:00
Richard Harrison
7795efe340 Added Nasal unit tests for Emesary.
This tests
* basic functions of register/degregister
* ensures that transmit/receive work correctly
* Transfer encoding methods (byte, double, norm, int) work properly
2020-06-15 13:31:54 +02:00
Richard Harrison
077d44f347 Emesary : rework transfer encoding
This better supports -ve numbers by using -range/2 to range/2 instead of prepending a '-' to the start of the encoded value for -ve numbers.
2020-06-15 13:31:53 +02:00
Richard Harrison
8b03cb4e60 Added queued transmitter.
This is a normal transmitter than doesn't act synchronously and instead queues messages for future processing.

Can be useful to implement thread safe receive/transmit logic where a sub thread is requiring property changes that can be sent to a queued transmitter that is then processed in the main thread.
2020-06-15 13:31:49 +02:00
Henning Stahlke
717ae92b23 canvas_efis/efis-canvas.nas bugfix 2020-06-15 11:17:56 +01:00
Erik Hofman
027d1e4e61 Add a license exception to single owner Nasal libraries which clarifies that merely calling Nasal functions from third party aircraft does not invoke the derived-work clause of the GPL. Signed off by the authors. 2020-06-09 16:05:10 +02:00
Henning Stahlke
92fe425e0a efis-canvas.nas sanitize string 2020-06-08 19:52:48 +01:00
Henning Stahlke
ed1deacce8 props.nas: add isValidPropName and makeValidPropName; add props.nut 2020-06-08 19:52:48 +01:00
Erik Hofman
f8ce9398b9 Add a license exception to single owner Nasal libraries which clarifies that merely calling Nasal functions from third party aircraft does not invoke the derived-work clause of the GPL. Signed off by Thomas Geymayer 2020-06-08 15:07:28 +02:00
Erik Hofman
6604cad250 Add a license exception to single owner Nasal libraries which clarifies that merely calling Nasal functions from third party aircraft does not invoke the derived-work clause of the GPL. Signed off by Thorsten 2020-06-08 15:07:10 +02:00
Erik Hofman
6a4c9a2a81 Add a license exception to single owner (Melchoir Franz and myself) that clarifies that merely calling Nasal functions from third party aircraft does not invoce the derived-work clause of the GPL. Signed of by Melchoir. 2020-06-05 11:31:57 +02:00
Henning Stahlke
2f0f99826a remove unused function floor from geo.nas
Signed-off-by: Stuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
2020-06-03 23:20:01 +01:00
Henning Stahlke
b5f00cb50e replace typeof() by is<type>()
Signed-off-by: Stuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
2020-06-03 22:55:51 +01:00
Henning Stahlke
148328d793 Nasal loadpriority; remove nasal-dir-initialized listeners;
add more dependencies to loadpriority.xml and remove _setlistener stuff
2020-06-03 21:57:14 +01:00
Nikolai V Chr
b23d866690 Some fixes for Emesary MP Bridge (approved by Richard)
Make listeners for MP properties only fire when properties changes.
Enherit the notification before propagating to avoid StartMessageIndex being shared and thereby messages can get held back.
Some improvements to logging.
2020-05-31 05:18:04 +02:00
James Turner
f5f2a8fd33 Route-manager: sync with C++ approach trans API
When an explicit approach transition is used, route to it, otherwise
keep using the automatic selection based on IAF.
2020-05-28 09:08:30 +01:00
Stuart Buchanan
f0a999cb2c Nasal library load order
Control the order in which fgdata/Nasal/*.nas files are loaded
on startup.

Previously all the files were loaded in order based on filename.
This was problematic for aaa.nas which might want to call
props.getNode(), and generally resolved by using
_setlistener("/sim/signals/nasal-dir-initialized")

This change allows us to configure a list of Nasal files that are
loaded first on startup - loadpriority.xml.
2020-05-25 19:47:50 +01:00
James Turner
d0d55ccb04 Route-manager: use Flightplan transition data
Explicitly use the flight-plan transition data when building the
routes for the SID and STAR. Previously we didn’t actually pick
this up reliably.
2020-05-21 22:34:28 +01:00
Henning Stahlke
11e36dd8a9 debug.nas subdir per probe class 2020-05-17 20:04:05 +01:00
Henning Stahlke
ec3cef2183 aircraft.nas data use maketimer instead of settimer loop; replace typeof by isType 2020-05-17 20:03:53 +01:00
Henning Stahlke
5a5d958dd9 replace typeof() == foo with isFoo 2020-05-17 20:03:43 +01:00
Henning Stahlke
627530cf5b props.nas prevent endless recursion in copy if destination is a subnode of source 2020-05-17 20:03:30 +01:00
Henning Stahlke
eeb1b5e3d5 debug.nas add helpers for adding probes at runtime; add subnode to _debug for hit counters
add dumpProbeStats() and Breakpoint.dumpTrace()
dumpTrace to XML file separate tracer class
2020-05-17 20:01:43 +01:00
fly
b44a1c1a7c Added autopush
Signed-off-by: fly <merspieler@airmail.cc>
2020-05-15 11:29:07 +01:00
James Turner
acd37379ea Add sample test file to Nasal/ 2020-05-06 15:41:18 +01:00
Henning Stahlke
d1d3b6559e compass.nas: add font to style hash; efis-canvas.nas: improve font mapping 2020-05-05 13:52:06 +01:00
Henning Stahlke
67c83d020f make font_mapper more configurable 2020-05-05 13:52:00 +01:00
Henning Stahlke
49c8dcd442 modules/canvas_efis/efis.nas replace typeof(), use log constants, add {} 2020-05-05 13:51:56 +01:00
Henning Stahlke
17e3ba6698 debug.nas add dumpProbeStats() and Breakpoint.dumpTrace() 2020-05-05 13:51:52 +01:00
Henning Stahlke
bef5de6e81 debug.nas add helpers for adding probes at runtime; add subnode to _debug for hit counters 2020-05-05 13:51:45 +01:00
Henning Stahlke
a65cb738e5 re-enable reload prop on modules.nas 2020-04-30 11:47:25 +01:00
Henning Stahlke
551f4dab62 canvas/api/element.nas add getType 2020-04-30 08:59:25 +01:00
Henning Stahlke
e16bf79e91 move "hidden" constructor from api.nas to api/canvas.nas; add destructor support 2020-04-30 08:59:25 +01:00
Henning Stahlke
3892d2eddd move fontmapper function from svg.nas to api/text.nas so it is generally avail 2020-04-30 08:59:25 +01:00
Henning Stahlke
e996f4c8c6 add getTranslation and setGeoPosition to transform.nas, adapt element.nas accordingly;
improve readability and comments
2020-04-30 08:59:25 +01:00
Henning Stahlke
2eb4c78794 improve code readability 2020-04-30 08:59:25 +01:00
Henning Stahlke
1094e5214e split classes into separate files 2020-04-30 08:59:25 +01:00
James Turner
f074504326 setlistener: tolerate being call()-ed
Fix bug https://sourceforge.net/p/flightgear/codetickets/2219/
Changes to logging mean than setlistener breaks when invoked via
call(), which occurs in the Warthog Nasal scripting. The problem is
that call() forces caller() to return nil, which the setlistener()
debug code did not check for.
2020-04-27 22:50:34 +01:00
Henning Stahlke
95d0aa032e bugfixes for debug.nas and props.nas 2020-04-24 16:00:09 +02:00
Henning Stahlke
4c867a79f0 adjust setlistener default in modules/addons to match globals.nas 2020-04-24 16:00:09 +02:00
Henning Stahlke
fba17e4d34 Replace printlog by logprint 2020-04-21 09:07:20 +02:00
Henning Stahlke
6078cff6b1 extend debug.Probe and debug.Breakpoint classes with trace option 2020-04-21 09:06:09 +02:00
Henning Stahlke
ed3568554d Add toggleBool() to props.nas 2020-04-21 09:02:16 +02:00
James Turner
d1998f27ff Default GPS handling of DISCON waypoints
When a DISCON is sequencing, revert to OSB mode at the current heading.
Also fix heading capture when reverting to OBS mode in various other
places.
2020-04-19 17:05:29 +01:00
James Turner
fc50680694 Use logprint() in various places
This reduces Nasal console spamming to match to the set log-level
2020-04-19 16:46:57 +01:00
Henning Stahlke
251a376f68 modules.nas: change reload trigger from property to fgcommand, fix a logprint call, add module name to debug output 2020-04-19 12:39:33 +01:00
Henning Stahlke
1035ed4269 add skip parameter to debug.nas breakpoint class 2020-04-19 12:29:01 +01:00
Henning Stahlke
93c48818fd debug.nas: prevent stack overflow in dump; print function names in backtrace; 2020-04-16 16:25:20 +01:00
Henning Stahlke
8f6fd3cb79 props.nas add adjustValue() 2020-04-16 16:25:20 +01:00
Henning Stahlke
b4eaa3e438 props.nas add increment and decrement for int props 2020-04-16 16:25:17 +01:00
Henning Stahlke
f210a38011 addons.nas add fgcommand addon-reload 2020-04-16 16:23:51 +01:00
Henning Stahlke
2a48a3012b add approx_eq to math.nas and is_regular_file io.nas 2020-04-16 16:19:29 +01:00
Henning Stahlke
d2d1fead76 modified output of debug.backtrace 2020-04-16 16:18:15 +01:00
James Turner
838ba8230b Local-weather: Remove a debug print()
This caused random ‘0’ to appear on the console. Checked with
Thorsten R, okay to disable this.
2020-04-10 11:24:32 +01:00
Richard Harrison
f9eacd8be0 Nasal Debug.dump tweaks to make it readable as JSON 2020-04-09 23:56:43 +02:00
Richard Harrison
5f1784937e Added Joystick Sensitivity Reduction to dialog.
This allows the setting of the <power> tag - which in turn will decreases the sensitivity around the zero position
2020-04-09 23:56:37 +02:00
James Turner
7a3a36eab2 Nasal modules: expose reload as a command 2020-04-07 14:28:30 +01:00
Richard Harrison
2dbe28d43b Emesary MP bridge: fix lost messages on MP bridge.
When more than one message type being transmitted on the bridge only one of the types would be reliably received. Bug caused because the message index is per notification type (on MP bridge outgoing) but was being treated as per incoming bridge (rather than notification).
2020-03-24 17:13:37 +01:00
Eatdirt
f0a23d6ab1 Implement Earthview tiles loading based on visibility in spherical geometry 2020-03-23 23:47:31 +01:00
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
James Turner
556c19e1ee Merge /u/dirteat/flightgear/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/172/
2020-03-11 09:44:21 +00:00
Henning Stahlke
f547786fe4 add canvas/draw.nas library 2020-03-08 21:02:44 +01:00
Henning Stahlke
8b0fa9a08d update canvas_efis/main.nas to get namespace via module API 2020-03-08 20:57:04 +01:00
Henning Stahlke
a1664a4759 add 'available' node for reloadable Nasal modules 2020-03-08 20:56:05 +01:00
Henning Stahlke
ce848ff916 remove dead code from addons.nas (forgotten when moving code out to modules.nas) 2020-03-08 20:48:28 +01:00
Henning Stahlke
4108652c94 remove unnecessary userarchive flags from defaults.xml 2020-03-08 20:46:56 +01:00
Henning Stahlke
11b05ebab2 modules.nas fix type in path; update comments 2020-02-23 19:39:42 +01:00
Henning Stahlke
6c92220d18 Merge branch 'next' of git://git.code.sf.net/p/flightgear/fgdata into next 2020-02-23 19:37:17 +01:00
Richard Harrison
1d0129bdd9 Fixed timers in wildfire 2020-02-22 19:51:41 +01:00
Eatdirt
5310734d4c Add two new methods for geo objects
The method horizon() returns the distance to the horizon, along earth
surface, starting from current location. The method
greatcircle_distance_to(A,B) returns the shortest distance to a great
circle passing by A and B, along earth surface and from current location.
2020-02-20 21:36:54 +01:00
Henning Stahlke
b69f460ee5 Canvas EFIS framework 2020-02-20 00:02:33 +01:00
Henning Stahlke
c6e5244b13 update defaults.xml
add repair_config.nas to fix old userarchive flags
2020-02-15 14:39:36 +01:00
Stuart Buchanan
4b0d08975c Merge /u/jsb1685/fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/164/
2020-02-12 19:38:43 +00:00
Henning Stahlke
1b2014ed04 minor improvements to modules.nas 2020-02-03 09:59:38 +01:00
James Turner
53e3bac6ee Merge /u/deltaecho/flightgear_fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/163/
2020-01-30 10:40:01 +00:00
Henning Stahlke
e39ebd79e3 add Nasal loadable module support (modules.nas) 2020-01-26 18:13:08 +01:00
jano
c982d3e333 added a page with the unit toggle, to display lag statistics, to help diagnose and address lag issues 2020-01-14 11:58:26 +01:00
Richard Harrison
e9b12b302f Fix Tanker when no offset specificed 2020-01-10 20:00:55 +01:00
Richard Harrison
94c9f3b428 Fix failure manager warning
ironically the warning message was causing a more serious failure.
2019-12-11 17:53:35 +01:00
Henning Stahlke
5676ce6c68 add is_directory(path) and subdirectories(path) to Nasal/io.nas 2019-11-09 23:26:49 +01:00