org.mbari.siam.foce.devices.elmo.base
Class ElmoSolo

java.lang.Object
  extended by org.mbari.siam.foce.devices.elmo.base.Elmo
      extended by org.mbari.siam.foce.devices.elmo.base.ElmoSolo

public class ElmoSolo
extends Elmo

Elmo Solo Motor controller hardware abstraction. Used by SIAM instrument services to access Elmo motor controller


Field Summary
protected static org.apache.log4j.Logger _log4j
          Log4j logger
 
Fields inherited from class org.mbari.siam.foce.devices.elmo.base.Elmo
_doubleBuf, _intBuf, _junk32, _longBuf, _serialMode, _serialPort, _serialRx, _serialTx, _stringBuf, _terminator, _terminatorString, BUF128, BUF32, CMD_ABSOLUTE_POSITION, CMD_ACCELERATION, CMD_ARM_HOMING_PROCESS, CMD_BEGIN_MOTION, CMD_COMMUTATION_ARRAY, CMD_CONT_CURRENT_LIMIT, CMD_CURRENT_I_FILTER, CMD_CURRENT_P_FILTER, CMD_DECELERATION, CMD_DIGITAL_INPUT_FILTER, CMD_DIGITIAL_OUTPUT, CMD_DISARM_HOMING_PROCESS, CMD_DUMP_CPU, CMD_ECHO, CMD_ENABLE_AUX_HOME_SEQUENCE_HI, CMD_ENABLE_AUX_HOME_SEQUENCE_LO, CMD_ENABLE_MAIN_HOME_SEQUENCE_HI, CMD_ENABLE_MAIN_HOME_SEQUENCE_LO, CMD_GENERAL_PURPOSE_HI, CMD_GET_AUX_ENC_VELOCITY, CMD_GET_DESIRED_VELOCITY, CMD_GET_DIGITAL_INPUTS, CMD_GET_MAIN_ENC_VELOCITY, CMD_GET_MOTION_STATUS, CMD_GET_MOTOR_FAULT, CMD_GET_SERIAL_NUMBER, CMD_GET_STATUS_REGISTER, CMD_GET_VELOCITY_ERROR, CMD_GET_VERSION, CMD_HEXMODE, CMD_HOMING_ABSOLUTE_VALUE, CMD_HOMING_ACTIVATION_MODE, CMD_HOMING_BEHAVIOR, CMD_HOMING_EVENT_DEFINITION, CMD_HOMING_EVENT_PX, CMD_HOMING_OUTPUT_VALUE, CMD_INPUT_LOGIC, CMD_JOGGING_VELOCITY, CMD_MAX_CURRENT, CMD_MOTOR_ENABLE, CMD_PEAK_CURRENT_DURATION, CMD_PEAK_CURRENT_LIMIT, CMD_POSITION_COUNTER, CMD_POSITION_ERROR, CMD_POSITION_REF_HI, CMD_POSITION_REF_LO, CMD_PTP_SPEED, CMD_RELATIVE_POSITION, CMD_SET_DIO5_IGNORE_HI, CMD_SET_DIO5_IGNORE_LO, CMD_SET_XMODULUS_HI, CMD_SET_XMODULUS_LO, CMD_SPEED_LIMIT_HI, CMD_SPEED_LIMIT_LO, CMD_SPEED_REF_HI, CMD_SPEED_REF_LO, CMD_STOP_DECELERATION, CMD_STOP_MOTION, CMD_STUCK_SPEED, CMD_TORQUE_LIMIT, CMD_UNIT_MODE, CMD_VELOCITY_I_FILTER, CMD_VELOCITY_P_FILTER, COUNTS_PER_REVOLUTION, DBL_SEC_PER_MIN, DIGITAL_INPUT_BIT0, DIGITAL_INPUT_BIT1, DIGITAL_INPUT_BIT2, DIGITAL_INPUT_BIT3, DIGITAL_INPUT_BIT4, DIGITAL_INPUT_BIT5, ECHO_DISABLED, ECHO_ENABLED, HEX_MODE_DISABLED, HEX_MODE_ENABLED, HOMING_BEHAVIOR_NONE, HOMING_BEHAVIOR_SET_OUTPUT, HOMING_BEHAVIOR_STOP, HOMING_EVENT_ABS, HOMING_EVENT_DIN5, HOMING_EVENT_IMMEDIATE, HOMING_EVENT_MAIN_HOME_SWITCH, HOMING_EVENT_NONE, HOMING_EVENT_REL, IL_MAX_INDEX, IL_MAX_VALUE, IL_MIN_INDEX, IL_MIN_VALUE, INPUT_LOGIC_ABORT_HI, INPUT_LOGIC_ABORT_LO, INPUT_LOGIC_AUXHOME_HI, INPUT_LOGIC_AUXHOME_LO, INPUT_LOGIC_BG_HI, INPUT_LOGIC_BG_LO, INPUT_LOGIC_BOTHSTOP_HI, INPUT_LOGIC_BOTHSTOP_LO, INPUT_LOGIC_FLS_HI, INPUT_LOGIC_FLS_LO, INPUT_LOGIC_FREEWHEEL_HI, INPUT_LOGIC_FREEWHEEL_LO, INPUT_LOGIC_GP_HI, INPUT_LOGIC_GP_LO, INPUT_LOGIC_HARDSTOP_HI, INPUT_LOGIC_HARDSTOP_LO, INPUT_LOGIC_IGNORE_HI, INPUT_LOGIC_IGNORE_LO, INPUT_LOGIC_MAINHOME_HI, INPUT_LOGIC_MAINHOME_LO, INPUT_LOGIC_RLS_HI, INPUT_LOGIC_RLS_LO, INPUT_LOGIC_SOFTSTOP_HI, INPUT_LOGIC_SOFTSTOP_LO, INT_SEC_PER_MIN, LINE_END_BYTES, MASK_DIGITAL_INPUT_ABORT, MASK_DIGITAL_INPUT_ACTIVE, MASK_DIGITAL_INPUT_AUXHOME, MASK_DIGITAL_INPUT_BG, MASK_DIGITAL_INPUT_FLS, MASK_DIGITAL_INPUT_HARDSTOP, MASK_DIGITAL_INPUT_INH, MASK_DIGITAL_INPUT_MAINHOME, MASK_DIGITAL_INPUT_PIN, MASK_DIGITAL_INPUT_PORT, MASK_DIGITAL_INPUT_RLS, MASK_DIGITAL_INPUT_SOFTSTOP, MAX_ACCELERATION, MAX_DECELERATION, MAX_STOP_DECELERATION, MAX_VELOCITY_COUNTS, MAX_VELOCITY_LIMIT, MAX_XMODULUS, MF_ANALOG_FEEBACK, MF_CPU, MF_DATABASE, MF_ECAM, MF_FEEDBACK_LOSS, MF_HEARTBEAT, MF_INHIBIT, MF_MULT_HALL, MF_NO_START, MF_OK, MF_OVER_VOLTAGE, MF_PEAK_CURRENT, MF_POSITION, MF_POSITION_TRACKING, MF_SERVO, MF_SHORT_CIRCUIT, MF_SPEED, MF_SPEED_TRACKING, MF_STACK_OVERFLOW, MF_STUCK, MF_TEMPERATURE, MF_UNDER_VOLTAGE, MF_ZERO_NOT_FOUND, MIN_ACCELERATION, MIN_DECELERATION, MIN_STOP_DECELERATION, MIN_XMODULUS, MODE_DUAL_FEEDBACK_POSITION, MODE_SERIAL_LOCAL, MODE_SERIAL_RFC1722, MODE_SINGLE_FEEDBACK_POSITION, MODE_SPEED, MODE_STEPPER, MODE_TORQUE, MOTOR_DISABLED, MOTOR_ENABLED, MS_POS_STABLIZED, MS_REF_CONTROLLED, MS_REF_STATIONARY, MS_RESERVED, PX_MAX_VALUE, PX_MIN_VALUE, SR_CPU_STATUS, SR_CURRENT_LIMIT_ON, SR_DIGITAL_HALLS, SR_DRIVE_READ, SR_GAIN_SCHEDULING_ON, SR_HOMING_PROCESSING, SR_LIMIT_STOP, SR_MOTION_STATUS, SR_MOTOR_FAILURE_LATCHED, SR_MOTOR_ON, SR_OFFSET_CPU_STATUS, SR_OFFSET_CURRENT_LIMIT_ON, SR_OFFSET_DIGITAL_HALLS, SR_OFFSET_DRIVE_READ, SR_OFFSET_GAIN_SCHEDULING_ON, SR_OFFSET_HOMING_PROCESSING, SR_OFFSET_LIMIT_STOP, SR_OFFSET_MOTION_STATUS, SR_OFFSET_MOTOR_FAILURE_LATCHED, SR_OFFSET_MOTOR_ON, SR_OFFSET_PROGRAM_RUNNING, SR_OFFSET_RECORDER_STATUS, SR_OFFSET_REFERENCE_MODE, SR_OFFSET_STATUS, SR_OFFSET_UNIT_MODE, SR_OFFSET_USER_PROGRAM_ERROR, SR_PROGRAM_RUNNING, SR_RECORDER_STATUS, SR_REFERENCE_MODE, SR_STATUS, SR_UNIT_MODE, SR_USER_PROGRAM_ERROR, TM_CMD_MSEC, TM_EMPTY_INPUT_MSEC, TM_MOTION_WAIT_MSEC, TM_POLL_DELAY_MSEC, TM_START_MSEC, TM_STOP_MSEC
 
Constructor Summary
ElmoSolo(gnu.io.SerialPort port)
          Constructor
 
Method Summary
 void initializeController(int serialMode, int unitMode)
          Initialize motor controller.
 
Methods inherited from class org.mbari.siam.foce.devices.elmo.base.Elmo
beginMotion, cmdWriteRead, cmdWriteReadDouble, cmdWriteReadInt, cmdWriteReadLong, cmdWriteReadString, cmdWriteReadX, counts2rpm, delay, emptyInput, emptyInput, getAcceleration, getContinuousCurrent, getDeceleration, getDesiredVelocity, getEchoMode, getEncoderVelocity, getHexMode, getInputLogic, getInputPort, getInputStream, getJoggingVelocity, getMaxCurrent, getMotionStatus, getMotorFault, getOutputStream, getPeakCurrent, getPeakCurrentDuration, getPositionCounter, getPositionError, getPTPSpeed, getReferenceLimitHi, getReferenceLimitLo, getReferenceSpeedHi, getReferenceSpeedLo, getSerialMode, getSerialPort, getStatusRegister, getStopDeceleration, getStuckSpeed, getTorqueLimit, getUnitMode, getVersion, getXModulusHi, getXModulusLo, isEnabled, jog, jog, mkCmd, mkCmd, mkCmd, mkIndex, mkIndexCmd, mkIndexCmd, mkIndexCmd, motionWait, ptpAbsolute, ptpAbsolute, ptpRelative, ptpRelative, readRegister, rpm2counts, setAcceleration, setContinuousCurrent, setDeceleration, setEchoMode, setEnable, setHexMode, setInputLogic, setJoggingVelocity, setJoggingVelocity, setPeakCurrent, setPeakCurrentDuration, setPositionAbsolute, setPositionCounter, setPositionRelative, setPTPSpeed, setReferenceLimit, setReferenceSpeed, setSerialMode, setSerialPort, setStopDeceleration, setStuckSpeed, setTorqueLimit, setUnitMode, setXModulus, stopMotor, writeCommand
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_log4j

protected static org.apache.log4j.Logger _log4j
Log4j logger

Constructor Detail

ElmoSolo

public ElmoSolo(gnu.io.SerialPort port)
         throws java.io.IOException
Constructor

Throws:
java.io.IOException
Method Detail

initializeController

public void initializeController(int serialMode,
                                 int unitMode)
                          throws TimeoutException,
                                 java.io.IOException,
                                 java.lang.Exception
Initialize motor controller. - set serial mode - disables echo - disable hex mode - stops motor - sets unit mode=MODE_SPEED - uses reference speed limits set in flash (for FOCE: VL[2]=-340 VH[2]=340 LL[2]=-1080 HL[2]=1080) - flushes the serial port input buffer

Specified by:
initializeController in class Elmo
Parameters:
serialMode - serial comms mode (rs232 or RFC1722)
unitMode - elmo unit mode
Throws:
TimeoutException
java.io.IOException
java.lang.Exception


Copyright © 2003 MBARI.

The Monterey Bay Aquarium Research Institute (MBARI) provides this documentation and code "as is", with no warranty, express or implied, of its quality or consistency. It is provided without support and without obligation on the part of MBARI to assist in its use, correction, modification, or enhancement.