public class BrickletCompass extends Device
Modifier and Type | Class and Description |
---|---|
class |
BrickletCompass.Calibration |
class |
BrickletCompass.Configuration |
class |
BrickletCompass.HeadingCallbackConfiguration |
static interface |
BrickletCompass.HeadingListener
This listener is triggered periodically according to the configuration set by
setHeadingCallbackConfiguration(long, boolean, char, int, int) . |
class |
BrickletCompass.MagneticFluxDensity |
class |
BrickletCompass.MagneticFluxDensityCallbackConfiguration |
static interface |
BrickletCompass.MagneticFluxDensityListener
This listener is triggered periodically according to the configuration set by
setMagneticFluxDensityCallbackConfiguration(long, boolean) . |
class |
BrickletCompass.SPITFPErrorCount |
Device.Identity
Constructor and Description |
---|
BrickletCompass(java.lang.String uid,
IPConnection ipcon)
Creates an object with the unique device ID \c uid.
|
Modifier and Type | Method and Description |
---|---|
void |
addHeadingListener(BrickletCompass.HeadingListener listener)
Adds a Heading listener.
|
void |
addMagneticFluxDensityListener(BrickletCompass.MagneticFluxDensityListener listener)
Adds a MagneticFluxDensity listener.
|
int |
getBootloaderMode()
Returns the current bootloader mode, see
setBootloaderMode(int) . |
BrickletCompass.Calibration |
getCalibration()
Returns the calibration parameters as set by
setCalibration(int[], int[]) . |
int |
getChipTemperature()
Returns the temperature as measured inside the microcontroller.
|
BrickletCompass.Configuration |
getConfiguration()
Returns the configuration as set by
setConfiguration(int, boolean) . |
int |
getHeading()
Returns the heading (north = 0 degree, east = 90 degree).
|
BrickletCompass.HeadingCallbackConfiguration |
getHeadingCallbackConfiguration()
Returns the listener configuration as set by
setHeadingCallbackConfiguration(long, boolean, char, int, int) . |
Device.Identity |
getIdentity()
Returns the UID, the UID where the Bricklet is connected to,
the position, the hardware and firmware version as well as the
device identifier.
|
BrickletCompass.MagneticFluxDensity |
getMagneticFluxDensity()
Returns the `magnetic flux density (magnetic induction) <https://en.wikipedia.org/wiki/Magnetic_flux>`__
for all three axis.
|
BrickletCompass.MagneticFluxDensityCallbackConfiguration |
getMagneticFluxDensityCallbackConfiguration()
Returns the listener configuration as set by
setMagneticFluxDensityCallbackConfiguration(long, boolean) . |
BrickletCompass.SPITFPErrorCount |
getSPITFPErrorCount()
Returns the error count for the communication between Brick and Bricklet.
|
int |
getStatusLEDConfig()
Returns the configuration as set by
setStatusLEDConfig(int) |
long |
readUID()
Returns the current UID as an integer.
|
void |
removeHeadingListener(BrickletCompass.HeadingListener listener)
Removes a Heading listener.
|
void |
removeMagneticFluxDensityListener(BrickletCompass.MagneticFluxDensityListener listener)
Removes a MagneticFluxDensity listener.
|
void |
reset()
Calling this function will reset the Bricklet.
|
int |
setBootloaderMode(int mode)
Sets the bootloader mode and returns the status after the requested
mode change was instigated.
|
void |
setCalibration(int[] offset,
int[] gain)
Sets offset and gain for each of the three axes.
|
void |
setConfiguration(int dataRate,
boolean backgroundCalibration)
Configures the data rate and background calibration.
|
void |
setHeadingCallbackConfiguration(long period,
boolean valueHasToChange,
char option,
int min,
int max)
The period is the period with which the
BrickletCompass.HeadingListener listener is triggered
periodically. |
void |
setMagneticFluxDensityCallbackConfiguration(long period,
boolean valueHasToChange)
The period is the period with which the
BrickletCompass.MagneticFluxDensityListener listener
is triggered periodically. |
void |
setStatusLEDConfig(int config)
Sets the status LED configuration.
|
void |
setWriteFirmwarePointer(long pointer)
Sets the firmware pointer for
writeFirmware(int[]) . |
int |
writeFirmware(int[] data)
Writes 64 Bytes of firmware at the position as written by
setWriteFirmwarePointer(long) before. |
void |
writeUID(long uid)
Writes a new UID into flash.
|
getAPIVersion, getResponseExpected, setResponseExpected, setResponseExpectedAll
public static final int DEVICE_IDENTIFIER
public static final java.lang.String DEVICE_DISPLAY_NAME
public static final byte FUNCTION_GET_HEADING
public static final byte FUNCTION_SET_HEADING_CALLBACK_CONFIGURATION
public static final byte FUNCTION_GET_HEADING_CALLBACK_CONFIGURATION
public static final byte FUNCTION_GET_MAGNETIC_FLUX_DENSITY
public static final byte FUNCTION_SET_MAGNETIC_FLUX_DENSITY_CALLBACK_CONFIGURATION
public static final byte FUNCTION_GET_MAGNETIC_FLUX_DENSITY_CALLBACK_CONFIGURATION
public static final byte FUNCTION_SET_CONFIGURATION
public static final byte FUNCTION_GET_CONFIGURATION
public static final byte FUNCTION_SET_CALIBRATION
public static final byte FUNCTION_GET_CALIBRATION
public static final byte FUNCTION_GET_SPITFP_ERROR_COUNT
public static final byte FUNCTION_SET_BOOTLOADER_MODE
public static final byte FUNCTION_GET_BOOTLOADER_MODE
public static final byte FUNCTION_SET_WRITE_FIRMWARE_POINTER
public static final byte FUNCTION_WRITE_FIRMWARE
public static final byte FUNCTION_SET_STATUS_LED_CONFIG
public static final byte FUNCTION_GET_STATUS_LED_CONFIG
public static final byte FUNCTION_GET_CHIP_TEMPERATURE
public static final byte FUNCTION_RESET
public static final byte FUNCTION_WRITE_UID
public static final byte FUNCTION_READ_UID
public static final byte FUNCTION_GET_IDENTITY
public static final char THRESHOLD_OPTION_OFF
public static final char THRESHOLD_OPTION_OUTSIDE
public static final char THRESHOLD_OPTION_INSIDE
public static final char THRESHOLD_OPTION_SMALLER
public static final char THRESHOLD_OPTION_GREATER
public static final int DATA_RATE_100HZ
public static final int DATA_RATE_200HZ
public static final int DATA_RATE_400HZ
public static final int DATA_RATE_600HZ
public static final int BOOTLOADER_MODE_BOOTLOADER
public static final int BOOTLOADER_MODE_FIRMWARE
public static final int BOOTLOADER_MODE_BOOTLOADER_WAIT_FOR_REBOOT
public static final int BOOTLOADER_MODE_FIRMWARE_WAIT_FOR_REBOOT
public static final int BOOTLOADER_MODE_FIRMWARE_WAIT_FOR_ERASE_AND_REBOOT
public static final int BOOTLOADER_STATUS_OK
public static final int BOOTLOADER_STATUS_INVALID_MODE
public static final int BOOTLOADER_STATUS_NO_CHANGE
public static final int BOOTLOADER_STATUS_ENTRY_FUNCTION_NOT_PRESENT
public static final int BOOTLOADER_STATUS_DEVICE_IDENTIFIER_INCORRECT
public static final int BOOTLOADER_STATUS_CRC_MISMATCH
public static final int STATUS_LED_CONFIG_OFF
public static final int STATUS_LED_CONFIG_ON
public static final int STATUS_LED_CONFIG_SHOW_HEARTBEAT
public static final int STATUS_LED_CONFIG_SHOW_STATUS
public BrickletCompass(java.lang.String uid, IPConnection ipcon)
public int getHeading() throws TinkerforgeException
getMagneticFluxDensity()
and calculate the
heading with ``heading = atan2(y, x) * 180 / PI``.
If you want to get the value periodically, it is recommended to use the
BrickletCompass.HeadingListener
listener. You can set the listener configuration
with setHeadingCallbackConfiguration(long, boolean, char, int, int)
.TinkerforgeException
public void setHeadingCallbackConfiguration(long period, boolean valueHasToChange, char option, int min, int max) throws TinkerforgeException
BrickletCompass.HeadingListener
listener is triggered
periodically. A value of 0 turns the listener off.
If the `value has to change`-parameter is set to true, the listener is only
triggered after the value has changed. If the value didn't change
within the period, the listener is triggered immediately on change.
If it is set to false, the listener is continuously triggered with the period,
independent of the value.
It is furthermore possible to constrain the listener with thresholds.
The `option`-parameter together with min/max sets a threshold for the BrickletCompass.HeadingListener
listener.
The following options are possible:
\verbatim
"Option", "Description"
"'x'", "Threshold is turned off"
"'o'", "Threshold is triggered when the value is *outside* the min and max values"
"'i'", "Threshold is triggered when the value is *inside* or equal to the min and max values"
"'<'", "Threshold is triggered when the value is smaller than the min value (max is ignored)"
"'>'", "Threshold is triggered when the value is greater than the min value (max is ignored)"
\endverbatim
If the option is set to 'x' (threshold turned off) the listener is triggered with the fixed period.TinkerforgeException
public BrickletCompass.HeadingCallbackConfiguration getHeadingCallbackConfiguration() throws TinkerforgeException
setHeadingCallbackConfiguration(long, boolean, char, int, int)
.TinkerforgeException
public BrickletCompass.MagneticFluxDensity getMagneticFluxDensity() throws TinkerforgeException
BrickletCompass.MagneticFluxDensityListener
listener. You can set the listener configuration
with setMagneticFluxDensityCallbackConfiguration(long, boolean)
.TinkerforgeException
public void setMagneticFluxDensityCallbackConfiguration(long period, boolean valueHasToChange) throws TinkerforgeException
BrickletCompass.MagneticFluxDensityListener
listener
is triggered periodically. A value of 0 turns the listener off.
If the `value has to change`-parameter is set to true, the listener is only
triggered after the value has changed. If the value didn't change within the
period, the listener is triggered immediately on change.
If it is set to false, the listener is continuously triggered with the period,
independent of the value.TinkerforgeException
public BrickletCompass.MagneticFluxDensityCallbackConfiguration getMagneticFluxDensityCallbackConfiguration() throws TinkerforgeException
setMagneticFluxDensityCallbackConfiguration(long, boolean)
.TinkerforgeException
public void setConfiguration(int dataRate, boolean backgroundCalibration) throws TinkerforgeException
TinkerforgeException
public BrickletCompass.Configuration getConfiguration() throws TinkerforgeException
setConfiguration(int, boolean)
.TinkerforgeException
public void setCalibration(int[] offset, int[] gain) throws TinkerforgeException
TinkerforgeException
public BrickletCompass.Calibration getCalibration() throws TinkerforgeException
setCalibration(int[], int[])
.TinkerforgeException
public BrickletCompass.SPITFPErrorCount getSPITFPErrorCount() throws TinkerforgeException
TinkerforgeException
public int setBootloaderMode(int mode) throws TinkerforgeException
TinkerforgeException
public int getBootloaderMode() throws TinkerforgeException
setBootloaderMode(int)
.TinkerforgeException
public void setWriteFirmwarePointer(long pointer) throws TinkerforgeException
writeFirmware(int[])
. The pointer has
to be increased by chunks of size 64. The data is written to flash
every 4 chunks (which equals to one page of size 256).
This function is used by Brick Viewer during flashing. It should not be
necessary to call it in a normal user program.TinkerforgeException
public int writeFirmware(int[] data) throws TinkerforgeException
setWriteFirmwarePointer(long)
before. The firmware is written
to flash every 4 chunks.
You can only write firmware in bootloader mode.
This function is used by Brick Viewer during flashing. It should not be
necessary to call it in a normal user program.TinkerforgeException
public void setStatusLEDConfig(int config) throws TinkerforgeException
TinkerforgeException
public int getStatusLEDConfig() throws TinkerforgeException
setStatusLEDConfig(int)
TinkerforgeException
public int getChipTemperature() throws TinkerforgeException
TinkerforgeException
public void reset() throws TinkerforgeException
TinkerforgeException
public void writeUID(long uid) throws TinkerforgeException
TinkerforgeException
public long readUID() throws TinkerforgeException
TinkerforgeException
public Device.Identity getIdentity() throws TinkerforgeException
getIdentity
in class Device
TinkerforgeException
public void addHeadingListener(BrickletCompass.HeadingListener listener)
public void removeHeadingListener(BrickletCompass.HeadingListener listener)
public void addMagneticFluxDensityListener(BrickletCompass.MagneticFluxDensityListener listener)
public void removeMagneticFluxDensityListener(BrickletCompass.MagneticFluxDensityListener listener)
Copyright © 2020 Tinkerforge GmbH. All rights reserved.