-
Notifications
You must be signed in to change notification settings - Fork 326
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into CzechTranslation-2021-06-05
- Loading branch information
Showing
276 changed files
with
16,084 additions
and
4,462 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<!-- Sidebar.shtml --> | ||
<!-- Common sidebar for html/tools/[subdirectory] pages, mimics html/tools/Sidebar.shtml --> | ||
<!-- NOTE: subdirectory MUST have a SidebarToolLocalPart.shtml --> | ||
|
||
<hr class="hide"> | ||
|
||
<div id="side"> <!-- Block of text on left side of page --> | ||
<div style="text-align: center">JMRI® is...</div> | ||
<dl> | ||
|
||
<!-- To include specific sidebar info for this subdirectory... --> | ||
<!--#include virtual="SidebarToolLocalPart.shtml" --> | ||
|
||
<!--#include virtual="../../../parts/SidebarTools.shtml" --> | ||
|
||
<!--#include virtual="../../../parts/SidebarLayoutAutomation.shtml" --> | ||
|
||
<dt><a href="../../../hardware/">Supported Hardware</a></dt> | ||
<dd>JMRI supports a wide range of DCC systems, command stations and protocols.</dd> | ||
<!-- If someday we want to show the whole list, use #include virtual="../../../parts/SidebarSupportedHardware.shtml" --> | ||
|
||
<!--#include virtual="../../../parts/SidebarApplications.shtml" --> | ||
|
||
</dl> | ||
|
||
<!--#include virtual="../../../parts/SidebarTail.shtml" --> | ||
|
||
</div> | ||
|
||
<!-- /Sidebar.shtml --> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
<!-- SidebarToolLocalPart.shtml --> | ||
<!-- This is the local part sidebar definition for html/tools/logixng pages --> | ||
|
||
<dt class="dtheader">LogixNG</dt> | ||
<dd>LogixNG: The Next Generation | ||
<ul> | ||
<li><em style="padding-left: 1em;">Home Pages</em> | ||
<ul> | ||
<li><a href="/help/en/html/tools/logixng/LogixNG.shtml">LogixNG</a> | ||
<li><a href="/help/en/html/tools/logixng/Tutorial/index.shtml">LogixNG Tutorial</a> | ||
</ul> | ||
</li> | ||
<li><em style="padding-left: 1em;">LogixNGs Table:</em> | ||
<ul> | ||
<li><a href="/help/en/package/jmri/jmrit/beantable/LogixNGTable.shtml">LogixNG Table</a> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/LogixNGTableEditor.shtml">LogixNG Table Editor</a> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/ConditionalNGEditor.shtml">ConditionalNG Editor</a> | ||
</ul> | ||
</li> | ||
<li><em style="padding-left: 1em;">Modules Table:</em> | ||
<ul> | ||
<li><a href="/help/en/package/jmri/jmrit/beantable/LogixNGModuleTable.shtml">LogixNG Module Table</a> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/ModuleEditor.shtml">Module Editor</a> | ||
</ul> | ||
</li> | ||
<li><em style="padding-left: 1em;">Tables Table:</em> | ||
<ul> | ||
<li><a href="/help/en/package/jmri/jmrit/beantable/LogixNGTableTable.shtml">LogixNG Tables Table</a> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/LogixNGTableTableEditor.shtml">Tables Editor</a> | ||
</ul> | ||
</li> | ||
<li><em style="padding-left: 1em;">Tools:</em> | ||
<ul> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/LogixNGInitializationTable.shtml">Initialization Table</a> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/LogixImport.shtml">Logix Import</a> | ||
<li><a href="/help/en/package/jmri/jmrit/logixng/LogixNGBrowser.shtml">LogixNG Browser</a> | ||
</ul> | ||
</li> | ||
</ul> | ||
</dd> | ||
|
||
<!-- /SidebarToolLocalPart.shtml --> |
Binary file not shown.
97 changes: 97 additions & 0 deletions
97
help/en/html/tools/logixng/Tutorial/Using the debugger.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
Using the debugger | ||
|
||
|
||
All the managers (StringActionManager, DigitalExpressionManager, ...) should have the possibility to add an extra MaleSocket around the MaleSocket on registerAction, registerExpression. | ||
|
||
That way, a tool like the debugger, could add a new MaleSocket around the MaleSocket, to add extra features like step-by-step debugging. | ||
|
||
Important!! If a ConditionalNG is step-by-step debugging, no other ConditionalNG can be executed while this. | ||
|
||
Step-by-step debugging will not work for fast changes, but if the user simulates the layout, that can be handled. | ||
|
||
|
||
|
||
|
||
Using the step-by-step debugger: | ||
|
||
* Activate the debugger in the preferences _before_ loading the panel. If the panel is auto loaded during start, activate the debugger and restart JMRI. | ||
|
||
* If the layout has fast changes or is large or difficult to oversee, it's recommended to simulate external items. It's recommended in this case to run | ||
the layout in a simulator. | ||
|
||
* It's possible to override an action or expression. It's useful if you need to debug on the real layout but for example needs to keep a track open. | ||
|
||
|
||
|
||
|
||
Info for JMRI developers: | ||
|
||
How does the step-by-step debugger works? | ||
|
||
Each action and expression are embedded in a MaleSocket. When the step-by-step debugger is activated in the preferences, an extra MaleSocket is added | ||
around the MaleSocket. This extra male socket handles the stepping for the debugger. | ||
|
||
|
||
|
||
|
||
Step into | ||
|
||
Step over | ||
getParent() -> If getParent().getParent().getParent()...getParent() == "StepOver".debugMaleSocket så kör utan att step into. | ||
|
||
|
||
|
||
MaleSocket LogixNG_Manager.encapsulateMaleSocket(Class<? extends Base> clazz, MaleSocket maleSocket); | ||
|
||
|
||
|
||
|
||
public interface MaleSocketFactory { | ||
|
||
/** | ||
* Encapsulate a male socket onto another male socket. | ||
* @param clazz the type of the male socket to be encapsulated | ||
* @param maleSocket the male socket to be encapsulated | ||
public MaleSocket encapsulateMaleSocket(Class<? extends Base> clazz, MaleSocket maleSocket); | ||
|
||
} | ||
|
||
|
||
switch (clazz) { | ||
case DigitalAction.class: | ||
break; | ||
} | ||
|
||
|
||
|
||
|
||
|
||
One problem with the debugger is that when you step thru a ConditionalNG step by step, every other ConditionalNG is on | ||
hold. This can be handled by moving this conditionalng to the debug thread. By default, LogixNG uses one thread, the | ||
LogixNG thread. But it also have a secondary thread, the debug thread. You can select which conditionalngs that should | ||
be executed on the debug thread. | ||
|
||
When you open the debugger, you have the option to debug all condtionalngs or to debug only the conditionalngs on the | ||
debug thread. If you choose the later option, to only debug the conditionalngs on the debug thread, all the other | ||
conditionalngs will execute as normal. But the drawback is that if a conditionalng on the LogixNG thread is dependent | ||
on a conditionalng on the debug thread, you might get a different result than if both the conditionalngs are executed | ||
on the same thread. | ||
|
||
The reason for this is that if two conditionalngs uses the same thread, the second conditionalng will wait to be | ||
executed until the first conditionalng has finished execution. But if they are using different threads, they may be | ||
executed in parallel. | ||
|
||
|
||
|
||
|
||
|
||
Note for JMRI developers: | ||
|
||
The debugger is an example of the modularity of LogixNG. The debugger share the same editor with the ConditionalNG | ||
editor, the Module editor and the clipboard editor. And it manages to step thru the ConditionalNG and Module by adding | ||
an extra MaleSocket on top of the ordinary male socket that embed the actions and expressions. The point here is that | ||
it's easy to add new tools that do interesting stuff without the tool needs deep understanding of the things the tool | ||
works on. For example, the debugger knows nothing about the actions and expressions it debugs. | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
|
||
North yard West yard East yard South yard | ||
|
||
We have a couple of turnouts | ||
Left turnout IT_10_1 IT_10_3 IT_10_5 IT_10_7 | ||
Middle turnout IT_10_9 | ||
Right turnout IT_10_2 IT_10_4 IT_10_6 IT_10_8 | ||
|
||
And we have a couple of signal masts | ||
Left mast Mast_10_1 Mast_10_3 Mast_10_5 Mast_10_7 | ||
Middle mast Mast_10_9 | ||
Right mast Mast_10_2 Mast_10_4 Mast_10_6 Mast_10_8 | ||
|
||
And also some sensors | ||
Sensor track 1 IS_10_1 IS_10_3 IS_10_5 IS_10_7 | ||
Sensor track 2 IS_10_2 IS_10_4 IS_10_6 IS_10_8 | ||
Sensor track 3 IS_10_9 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<html> | ||
<head> | ||
<title>LogixNG Tutorial - Chapter 0</title> | ||
<script type="text/javascript" src="/web/js/jquery-2.0.3.min.js"></script> | ||
<script type="text/javascript" src="script.js"></script> | ||
<link rel="stylesheet" href="style.css"> | ||
</head> | ||
|
||
<body> | ||
|
||
<table width="800"> | ||
<tr> | ||
<td> | ||
|
||
<h1>LogixNG Tutorial - Chapter 0</h1> | ||
|
||
<h2>Setting up the profile</h2> | ||
|
||
<img src="images/chapter0/connection.png"> | ||
|
||
<ul> | ||
<li>The layout connection will use the Digitrax Simulator.</li> | ||
<li>The layout components will be without reference to any specific LocoNet hardware.</li> | ||
<li>The following description is just one of many possible workflows.</li> | ||
<li>The screenshots are made on Windows 8.1, they will look different depending on the operating system.</li> | ||
</ul> | ||
|
||
|
||
</td> | ||
</tr> | ||
</table> | ||
</body> | ||
</html> |
Oops, something went wrong.