Difference between revisions of "HANtune/Scripting"

From OpenMBD
Jump to: navigation, search
(Signals and Parameters)
(Scripted Signals)
Line 52: Line 52:
 
mySignal.maximm = 255</nowiki>
 
mySignal.maximm = 255</nowiki>
  
''Tip: to see a full list of attributes enter '' <code>dir(mySignal)</code> '' into the console''.
+
''Tip: enter '' <code>dir(mySignal)</code> '' into the console for a full list of attributes''.
  
 
====Triggers====
 
====Triggers====

Revision as of 19:09, 8 January 2018


HANtune offers the ability to run your own scripts by integrating a Jython interpreter. Jython is a Java implementation of a Python interpreter, which means that it runs inside the Java Virtual Machine (JVM). This makes it very easy to interface with HANtune and enables us to automate its functionality.

Scripts

Adding a script to a project

To add a script to your project right click the 'Scripts folder' in the 'Project Data' side panel and click 'Add Script'. Browse to the right directory, select your script and click 'Add Script'.

Adding a script


Starting a script

To start a script right click on it in the 'Project Data' side panel and click 'Start'

Starting a script

Alternatively, you can start a script by first dragging it from the 'Project Data' side panel to the layout and clicking the newly created button.

Script running

To indicate that a script is running, its icon in the 'Project Data' side panel will change its appears.

Script running

Stopping a script

Stopping a script

Script running

Startup scripts

Console and Interactive Interpreter

HANtune Console

Signals and Parameters

Scripted Signals

Scripted Elements

Creating a new signal:

mySignal = createSignal('MySignal')

Setting its attributes:

mySignal.minimum = 0
mySignal.maximm = 255

Tip: enter dir(mySignal) into the console for a full list of attributes.

Triggers

mySignal = createSignal('MySignal')

def myTriggerFunction():
	if (mySignal.value > 50):
		print 'mySignal out of bounds'

createTrigger(mySignal, myTriggerFunction)
mySignal = createSignal('MySignal')
canSignal = getSignal('CanSignal')

def myTriggerFunction():
	mySignal.value = canSignal.value * 2

createTrigger(canSignal, myTriggerFunction)

Communication

FTP

SSH