public class CompassSensor extends I2CSensor
ABOUT, ANGLE, ANGLESTEPSMODE, BOOLEANMODE, BOOT, BRAKE, CELSIUSMODE, CLOSE, CUSTOM, DEBUG_LEVEL_HIGH, DEBUG_LEVEL_LOW, DEBUG_LEVEL_MEDIUM, DEBUG_LEVEL_OFF, DELETE, DELETE_USER_FLASH, DIRECT_COMMAND_NOREPLY, DIRECT_COMMAND_REPLY, FAHRENHEITMODE, FIND_FIRST, FIND_NEXT, GET_BATTERY_LEVEL, GET_CURRENT_PROGRAM_NAME, GET_DEVICE_INFO, GET_FIRMWARE_VERSION, GET_INPUT_VALUES, GET_OUTPUT_STATE, HIGH_SPEED_BUFFER, KEEP_ALIVE, LIGHT_ACTIVE, LIGHT_INACTIVE, LOWSPEED, LOWSPEED_9V, LS_GET_STATUS, LS_READ, LS_WRITE, MESSAGE_READ, MESSAGE_WRITE, MODEMASK, MOTOR_RUN_STATE_IDLE, MOTOR_RUN_STATE_RAMPDOWN, MOTOR_RUN_STATE_RAMPUP, MOTOR_RUN_STATE_RUNNING, MOTORON, NO_OF_SENSOR_TYPES, NO_SENSOR, NXJ_FIND_FIRST, NXJ_FIND_NEXT, OPEN_APPEND_DATA, OPEN_READ, OPEN_READ_LINEAR, OPEN_WRITE, OPEN_WRITE_DATA, OPEN_WRITE_LINEAR, PCTFULLSCALEMODE, PERIODCOUNTERMODE, PLAY_SOUND_FILE, PLAY_TONE, POLL, POLL_BUFFER, POLL_LENGTH, RAWMODE, READ, REFLECTION, REGULATED, REGULATION_MODE_IDLE, REGULATION_MODE_MOTOR_SPEED, REGULATION_MODE_MOTOR_SYNC, REPLY_COMMAND, RESET_MOTOR_POSITION, RESET_SCALED_INPUT_VALUE, SET_BRICK_NAME, SET_INPUT_MODE, SET_OUTPUT_STATE, SLOPEMASK, SOUND_DB, SOUND_DBA, START_PROGRAM, STOP_PROGRAM, STOP_SOUND_PLAYBACK, SWITCH, SYSTEM_COMMAND_NOREPLY, SYSTEM_COMMAND_REPLY, TEMPERATURE, TITLE, TITLEMP, TRANSITIONCNTMODE, WRITE
Constructor and Description |
---|
CompassSensor()
Creates a sensor instance connected to port S1 at location with
50 Hz household current frequency (e.g.
|
CompassSensor(SensorPort port)
Creates a sensor instance connected to the given port at location with
50 Hz household current frequency (e.g.
|
CompassSensor(SensorPort port,
boolean is50)
Creates a sensor instance connected to the given port at location with either
50 Hz or 60 Hz household current frequency.
|
Modifier and Type | Method and Description |
---|---|
void |
addCompassListener(CompassListener compassListener)
Registers the given compass listener with default trigger level 180.
|
void |
addCompassListener(CompassListener compassListener,
int triggerLevel)
Registers the given compass listener for the given trigger level.
|
byte[] |
getData(byte register,
int length)
Overrides I2CSensor.getData() because of unreliability when retrieving more than a single
byte at a time with some I2C sensors.
|
double |
getDegrees()
Polls the sensor.
|
int |
setTriggerLevel(int triggerLevel)
Sets a new trigger level and returns the previous one.
|
void |
startCalibration()
Starts calibration process.
|
void |
stopCalibration()
Stops calibration process.
|
getProductID, getSensorType, getVersion, sendData, sendData
public CompassSensor(SensorPort port, boolean is50)
port
- the port where the sensor is plugged-inis50
- true, if current frequency is 50 Hz (e.g. Europe) false, if current frequency is 60 Hz (e.g. USA)public CompassSensor(SensorPort port)
port
- the port where the sensor is plugged-inpublic CompassSensor()
public void addCompassListener(CompassListener compassListener, int triggerLevel)
compassListener
- the CompassListener to become registered.triggerLevel
- the trigger level where the callback is triggeredpublic void addCompassListener(CompassListener compassListener)
compassListener
- the CompassListener to become registered.public int setTriggerLevel(int triggerLevel)
triggerLevel
- the new trigger levelpublic double getDegrees()
public void startCalibration()
stopCalibration()
public void stopCalibration()
startCalibration()
public byte[] getData(byte register, int length)