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, LINKSCOMPLETED, 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, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListisFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminateaddInitializable, preinitialize, removeInitializabledescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic 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 NamedObjattribute - The attribute that changed.IllegalActionException - Not thrown in this base class.public void fire()
throws IllegalActionException
fire in interface Executablefire in class AtomicActor<TypedIOPort>IllegalActionException - Not thrown in this base class.public void initialize()
throws IllegalActionException
initialize in interface Initializableinitialize 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.JoystickListenerpublic void joystickButtonChanged(com.centralnexus.input.Joystick j)
joystickButtonChanged in interface com.centralnexus.input.JoystickListenerpublic void wrapup()
throws IllegalActionException
wrapup in interface Initializablewrapup in class AtomicActor<TypedIOPort>IllegalActionException - Not thrown in this base class.