public class Joystick extends TypedAtomicActor implements com.centralnexus.input.JoystickListener
http://sourceforge.net/projects/javajoystick/
and generates output ranging between -1.0 and 1.0 on the x
and x ports.
Currently, this actor will only work under Windows, though the Joystick interface also supports Linux.
Under Windows, jjstick.dll
must be in your path
and joystick.jar
must be in the classpath.
By default, $PTII/configure looks for the Joystick
interface in $PTII/vendors/misc/joystick/lib
, so you could either
add that directory to your path, or copy jjstick.dll
to $PTII/bin
:
cp $PTII/vendors/misc/joystick/lib/jjstick.dll $PTII/binBy default, if configure finds
joystick.jar
, then
vergil will include joystick.jar
in the classpath.SerialComm
red (cxh) |
red (cxh) |
Entity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
Parameter |
deadZone
The deadzone of the Joystick: Under this absolute value, the
joystick coordinate is 0.0.
|
Parameter |
isPolling
Set to true if polling is used to access the Joystick, false if
we use a JoystickListener.
|
Parameter |
pollingInterval
The polling interval in milliseconds of how often the
JoystickListeners get notified of joystick events.
|
TypedIOPort |
x
The output port for the x coordinate, which has type DoubleToken.
|
TypedIOPort |
y
The output port for the y coordinate, which has type DoubleToken.
|
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
Joystick(CompositeEntity container,
java.lang.String name)
Construct a Joystick actor with the given container and name.
|
Modifier and Type | Method and Description |
---|---|
void |
attributeChanged(Attribute attribute)
If the attribute is deadZone and the joystick has already been
initialized by calling initialize() then update the
appropriate value in the joystick interface.
|
void |
fire()
Get the current location values from the joystick
and generate a DoubleMatrixToken on the output.
|
void |
initialize()
Get the values of the parameters and initialize the joystick.
|
void |
joystickAxisChanged(com.centralnexus.input.Joystick j) |
void |
joystickButtonChanged(com.centralnexus.input.Joystick j)
This method gets called periodically when a joystick button
changes its value.
|
void |
wrapup()
Wrap up deallocates resources, specifically the serial port.
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, preinitialize, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public Parameter deadZone
public Parameter isPolling
public Parameter pollingInterval
public TypedIOPort x
public TypedIOPort y
public Joystick(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name of this actor.IllegalActionException
- If the actor cannot be contained
by the proposed container.NameDuplicationException
- If the container already has an
actor with this name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.IllegalActionException
- Not thrown in this base class.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown in this base class.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class AtomicActor<TypedIOPort>
IllegalActionException
- If the joystick cannot
be initialized or if the parent class throws it.public void joystickAxisChanged(com.centralnexus.input.Joystick j)
joystickAxisChanged
in interface com.centralnexus.input.JoystickListener
public void joystickButtonChanged(com.centralnexus.input.Joystick j)
joystickButtonChanged
in interface com.centralnexus.input.JoystickListener
public void wrapup() throws IllegalActionException
wrapup
in interface Initializable
wrapup
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown in this base class.