Howto:Coding a simple Nasal Framework: Difference between revisions

Jump to navigation Jump to search
Switch from {{git link}} to {{fgaddon source}} to provide a functional link to the correct infrastructure.
No edit summary
(Switch from {{git link}} to {{fgaddon source}} to provide a functional link to the correct infrastructure.)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
<!--
{{WIP}}
{{WIP}}
-->
{{DeQuote}}


== Motivation ==
== Motivation ==
Line 19: Line 22:
   | author = <nowiki>Hooray</nowiki>
   | author = <nowiki>Hooray</nowiki>
   | date  = Jul 7th, 2015
   | date  = Jul 7th, 2015
  }}
</ref>
It would be helpful if someone would bootstrap such a framework. Having something there may create enough intertia to have people join the effort, otherwise there's simply no such project and I suppose some aircraft developers would rather do something of their own, at their own pace instead of waiting for such framework to maybe materialise one of these days.
<ref>{{cite web
  | url    = http://forum.flightgear.org/viewtopic.php?p=277524#p277524
  | title  = <nowiki>Re: FMC</nowiki>
  | author = <nowiki>CaptB</nowiki>
  | date  = Feb 25th, 2016
  | added  = Feb 25th, 2016
  | script_version = 0.25
   }}
   }}
</ref>
</ref>
Line 32: Line 46:
   }}
   }}
}}
}}
What would make sense is to assist the people who come second or third and want to re-use an existing framework where possible in implementing and re-factoring. Or people who just want to work on the framework and don't have a particular use case in mind. Because then you can make it work with a well-defined set of requirements in mind, rather than trying to guess what the requirements are ahead of time.<ref>{{cite web
  | url    = http://forum.flightgear.org/viewtopic.php?p=277685#p277685
  | title  = <nowiki>Re: FMC</nowiki>
  | author = <nowiki>Thorsten</nowiki>
  | date  = Feb 26th, 2016
  | added  = Feb 26th, 2016
  | script_version = 0.25
  }}
</ref>


{{FGCquote
{{FGCquote
Line 45: Line 68:
   }}
   }}
}}
}}
== Objective ==
== Objective ==
Illustrate the basic thought process required to come up with Nasal/Canvas code that is sufficiently generic to meet the following requirements
Illustrate the basic thought process required to come up with Nasal/Canvas code that is sufficiently generic to meet the following requirements
Line 242: Line 266:
== Moving huge conditionals into hash functions ==
== Moving huge conditionals into hash functions ==


The next problem we want to tackle is getting rid of huge conditional blocks inside the '''update()''' method: {{Git link|gitorious|fg/fgdata|master|Aircraft/747-400/Models/Cockpit/Instruments/PFD/PFD.nas}}
The next problem we want to tackle is getting rid of huge conditional blocks inside the '''update()''' method: {{fgaddon source|path=Aircraft/747-400/Models/Cockpit/Instruments/PFD/PFD.nas}}


<syntaxhighlight lang="nasal" line="GESHI_FANCY_LINE_NUMBERS" start="258">
<syntaxhighlight lang="nasal" line="GESHI_FANCY_LINE_NUMBERS" start="258">

Navigation menu