-
Notifications
You must be signed in to change notification settings - Fork 331
/
index.shtml
77 lines (60 loc) · 3.59 KB
/
index.shtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 15.17), see www.w3.org">
<!-- Copyright Bob Jacobsen 2008 -->
<meta name="keywords" content="custom jmri script, jython, automation, combine java python,
user scripts, jython examples">
<title>JMRI: Scripting</title>
<!-- Style -->
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
<link rel="stylesheet" type="text/css" href="/css/default.css"
media="screen">
<link rel="stylesheet" type="text/css" href="/css/print.css"
media="print">
<link rel="icon" href="/images/jmri.ico" type="image/png">
<link rel="home" title="Home" href="/">
<!-- /Style -->
</head>
<body>
<!--#include virtual="/Header.shtml" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<!-- Page Body -->
<h2>JMRI: Scripting</h2>
<p>Writing and executing a "script" (program in Python/Jython or other language - see below)
is a way of telling JMRI to execute commands specific to your JMRI environment and to partially
or even fully automate your layout and train operations. Scripts can be as simple as telling
JMRI to set a single sensor or as complex as setting up multiple objects and running multiple
trains based on feedback from your layout. While there is no comprehensive JMRI scripting manual,
the examples provided in the pages linked below will be a primary source of information on how to
use scripting to great advantage with JMRI.
The "How To" and "What-Where" sections also provide many ideas and hints gleaned from the JMRI
community on scripting features and capabilities.</p>
<p>The following pages discuss scripting JMRI using the Jython version of Python:</p>
<ul>
<li><a href="Start.shtml">Getting started with simple scripts</a></li>
<li><a href="Python.shtml">The Python/Jython language</a></li>
<li><a href="ex_set_turnouts.shtml">Example script: Setting the default state of turnouts</a></li>
<li><a href="Examples.shtml">Many other example scripts (Links)</a></li>
<li><a href="HowTo.shtml">Lots of "How To..." for JMRI scripting</a></li>
<li><a href="WhatWhere.shtml">"What...Where" interesting tidbits about creating Jython scripts for use with JMRI</a></li>
<li><a href="Jynstruments.shtml">Modifying the GUI with Jynstruments</a></li>
<li><a href="AppleScript.shtml">Open Scripting Architecture (available for Mac)</a></li>
</ul>
<p>See also the help section on <a href="Python.shtml">Python and JMRI.</a></p>
<p>Any <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/api.html" target="_blank">
Java Scripting API </a> (commonly refered to JSR-223) compliant scripting language can be added to JMRI,
however, only JavaScript and Python (Jython) are directly supported in the default installation.
If you want to add another scripting language, find a JSR-223 compliant interpreter and add it to
the JMRI classpath as <a href="../../doc/Technical/StartUpScripts.shtml" target="_blank">documented for your operating system</a>
(different operating systems have different launchers that are configured differently).</p>
<!--#include virtual="/Footer.shtml" -->
</div><!-- closes #mainContent-->
</div><!-- closes #mBody-->
</body>
</html>