Nasal optimisation: Difference between revisions

Line 93: Line 93:
Each module that wish to be executes needs to implement itself as a receiver or have a receiver wrapper (as follows). Generally I prefer to use a receiver wrapper as it helps to isolate the code that does the work from the code that interfaces to the scheduler.
Each module that wish to be executes needs to implement itself as a receiver or have a receiver wrapper (as follows). Generally I prefer to use a receiver wrapper as it helps to isolate the code that does the work from the code that interfaces to the scheduler.


<syntaxhighlight lang="nasal">
var ModuleRecipient =
var ModuleRecipient =
{
{
Line 119: Line 120:
emesary.GlobalTransmitter.Register(ModuleRecipient.new("MODULE-NAME"));
emesary.GlobalTransmitter.Register(ModuleRecipient.new("MODULE-NAME"));
</syntaxhighlight>
</syntaxhighlight>
This is the code that is used in the F-15 (Nasal/M_exec.nas) that provides the simple real time frame based executive.


<syntaxhighlight lang="nasal">
<syntaxhighlight lang="nasal">
Line 139: Line 142:
  #
  #
  #---------------------------------------------------------------------------*/
  #---------------------------------------------------------------------------*/


# to add properties to the FrameNotification simply send a FrameNotificationAddProperty
# to add properties to the FrameNotification simply send a FrameNotificationAddProperty
306

edits