|
upm
1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
|

Go to the source code of this file.
Data Structures | |
| struct | _bmm150_context |
Functions | |
| bmm150_context | bmm150_init (int bus, int addr, int cs) |
| void | bmm150_close (bmm150_context dev) |
| upm_result_t | bmm150_update (const bmm150_context dev) |
| uint8_t | bmm150_get_chip_id (const bmm150_context dev) |
| void | bmm150_get_magnetometer (const bmm150_context dev, float *x, float *y, float *z) |
| upm_result_t | bmm150_devinit (const bmm150_context dev, BMM150_USAGE_PRESETS_T usage) |
| upm_result_t | bmm150_set_preset_mode (const bmm150_context dev, BMM150_USAGE_PRESETS_T usage) |
| upm_result_t | bmm150_reset (const bmm150_context dev) |
| upm_result_t | bmm150_set_output_data_rate (const bmm150_context dev, BMM150_DATA_RATE_T odr) |
| upm_result_t | bmm150_set_power_bit (const bmm150_context dev, bool power) |
| upm_result_t | bmm150_set_opmode (const bmm150_context dev, BMM150_OPERATION_MODE_T opmode) |
| BMM150_OPERATION_MODE_T | bmm150_get_opmode (const bmm150_context dev) |
| uint8_t | bmm150_get_interrupt_enable (const bmm150_context dev) |
| upm_result_t | bmm150_set_interrupt_enable (const bmm150_context dev, uint8_t bits) |
| uint8_t | bmm150_get_interrupt_config (const bmm150_context dev) |
| upm_result_t | bmm150_set_interrupt_config (const bmm150_context dev, uint8_t bits) |
| uint8_t | bmm150_get_interrupt_status (const bmm150_context dev) |
| upm_result_t | bmm150_set_repetitions_xy (const bmm150_context dev, uint8_t reps) |
| upm_result_t | bmm150_set_repetitions_z (const bmm150_context dev, uint8_t reps) |
| upm_result_t | bmm150_install_isr (const bmm150_context dev, BMM150_INTERRUPT_PINS_T intr, int gpio, mraa_gpio_edge_t level, void(*isr)(void *), void *arg) |
| void | bmm150_uninstall_isr (const bmm150_context dev, BMM150_INTERRUPT_PINS_T intr) |
| uint8_t | bmm150_read_reg (const bmm150_context dev, uint8_t reg) |
| int | bmm150_read_regs (const bmm150_context dev, uint8_t reg, uint8_t *buffer, int len) |
| upm_result_t | bmm150_write_reg (const bmm150_context dev, uint8_t reg, uint8_t val) |
Typedefs | |
| typedef struct _bmm150_context * | bmm150_context |
| bmm150_context bmm150_init | ( | int | bus, |
| int | addr, | ||
| int | cs | ||
| ) |
BMM150 initialization.
This device can support both I2C and SPI. For SPI, set the addr to -1, and specify a positive integer representing the Chip Select (CS) pin for the cs argument. If you are using a hardware CS pin (like edison with arduino breakout), then you can connect the proper pin to the hardware CS pin on your MCU and supply -1 for cs. The default operating mode is I2C.
| bus | I2C or SPI bus to use. |
| addr | The address for this device, or -1 for SPI. |
| cs | The gpio pin to use for the SPI Chip Select. Use -1 for I2C or for SPI with a hardware controlled pin. |

| void bmm150_close | ( | bmm150_context | dev | ) |
BMM150 Destructor.
| dev | The device context. |


| upm_result_t bmm150_update | ( | const bmm150_context | dev | ) |
Update the internal stored values from sensor data.
| dev | The device context. |


| uint8_t bmm150_get_chip_id | ( | const bmm150_context | dev | ) |
Return the chip ID.
| dev | The device context. |


| void bmm150_get_magnetometer | ( | const bmm150_context | dev, |
| float * | x, | ||
| float * | y, | ||
| float * | z | ||
| ) |
Return magnetometer data in micro-Teslas (uT). update() must have been called prior to calling this method.
| dev | The device context. |
| x | Pointer to a floating point value that will have the current x component placed into it. |
| y | Pointer to a floating point value that will have the current y component placed into it. |
| z | Pointer to a floating point value that will have the current z component placed into it. |

| upm_result_t bmm150_devinit | ( | const bmm150_context | dev, |
| BMM150_USAGE_PRESETS_T | usage | ||
| ) |
Initialize the device and start operation. This function is called from the constructor so it will not typically need to be called by a user unless the device is reset. This method will call bmm150_set_preset_mode() with the passed parameter.
| dev | The device context. |
| usage | One of the BMM150_USAGE_PRESETS_T values. The default is BMM150_USAGE_HIGH_ACCURACY. |


| upm_result_t bmm150_set_preset_mode | ( | const bmm150_context | dev, |
| BMM150_USAGE_PRESETS_T | usage | ||
| ) |
Set one of the Bosch recommended preset modes. These modes configure the sensor for varying use cases.
| dev | The device context. |
| usage | One of the BMM150_USAGE_PRESETS_T values. The default set at initilaization time is BMM150_USAGE_HIGH_ACCURACY. |


| upm_result_t bmm150_reset | ( | const bmm150_context | dev | ) |
Perform a device soft-reset. The device will be placed in SUSPEND mode afterward with all configured setting lost, so some re-initialization will be required to get data from the sensor. Calling bmm150_devinit() will get everything running again.
| dev | The device context. |


| upm_result_t bmm150_set_output_data_rate | ( | const bmm150_context | dev, |
| BMM150_DATA_RATE_T | odr | ||
| ) |
Set the magnetometer Output Data Rate. See the datasheet for details.
| dev | The device context. |
| odr | One of the BMM150_DATA_RATE_T values. |


| upm_result_t bmm150_set_power_bit | ( | const bmm150_context | dev, |
| bool | power | ||
| ) |
Set or clear the Power bit. When the power bit is cleared, the device enters a deep suspend mode where only the BMM150_REG_POWER_CTRL register can be accessed. This bit needs to be enabled for the device to operate. See the datasheet for details. The constructor enables this by default. After a deep suspend mode has been entered, all configured data is lost and the device must be reconfigured (as via bmm150_devinit()).
| dev | The device context. |
| power | True to enable the bit, false otherwise. |


| upm_result_t bmm150_set_opmode | ( | const bmm150_context | dev, |
| BMM150_OPERATION_MODE_T | opmode | ||
| ) |
Set the operating mode of the device. See the datasheet for details.
| dev | The device context. |
| power | One of the BMM150_POWER_MODE_T values. |


| BMM150_OPERATION_MODE_T bmm150_get_opmode | ( | const bmm150_context | dev | ) |
Get the current operating mode of the device. See the datasheet for details. The power bit must be one for this method to succeed.
| dev | The device context. |


| uint8_t bmm150_get_interrupt_enable | ( | const bmm150_context | dev | ) |
Return the Interrupt Enables register. This register allows you to enable various interrupt conditions. See the datasheet for details.
| dev | The device context. |


| upm_result_t bmm150_set_interrupt_enable | ( | const bmm150_context | dev, |
| uint8_t | bits | ||
| ) |
Set the Interrupt Enables register. See the datasheet for details.
| dev | The device context. |
| bits | A bitmask of BMM150_INT_EN_BITS_T bits. |


| uint8_t bmm150_get_interrupt_config | ( | const bmm150_context | dev | ) |
Return the Interrupt Config register. This register allows determining the electrical characteristics of the 2 interrupt pins (open-drain/push-pull and level/edge triggering) as well as other options. See the datasheet for details.
| dev | The device context. |


| upm_result_t bmm150_set_interrupt_config | ( | const bmm150_context | dev, |
| uint8_t | bits | ||
| ) |
Set the Interrupt Config register. This register allows determining the electrical characteristics of the 2 interrupt pins (open-drain/push-pull and level/edge triggering). See the datasheet for details.
| dev | The device context. |
| bits | A bitmask of BMM150_INT_CONFIG_BITS_T bits. |


| uint8_t bmm150_get_interrupt_status | ( | const bmm150_context | dev | ) |
Return the interrupt status register. This register indicates which interrupts have been triggered. See the datasheet for details.
| dev | The device context. |


| upm_result_t bmm150_set_repetitions_xy | ( | const bmm150_context | dev, |
| uint8_t | reps | ||
| ) |
Set the repetition counter for the X and Y axes. This allows the device to average a number of measurements for a more stable output. See the datasheet for details.
| dev | The device context. |
| reps | A coefficient for specifying the number of repititions to perform. (1 + 2(reps)) |


| upm_result_t bmm150_set_repetitions_z | ( | const bmm150_context | dev, |
| uint8_t | reps | ||
| ) |
Set the repetition counter for the Z axis. This allows the device to average a number of measurements for a more stable output. See the datasheet for details.
| dev | The device context. |
| reps | A coefficient for specifying the number of repititions to perform. (1 + (reps)) |


| upm_result_t bmm150_install_isr | ( | const bmm150_context | dev, |
| BMM150_INTERRUPT_PINS_T | intr, | ||
| int | gpio, | ||
| mraa_gpio_edge_t | level, | ||
| void(*)(void *) | isr, | ||
| void * | arg | ||
| ) |
Install an interrupt handler.
| dev | The device context. |
| intr | One of the BMM150_INTERRUPT_PINS_T values specifying which interrupt pin you are installing. |
| gpio | GPIO pin to use as interrupt pin. |
| level | The interrupt trigger level (one of the mraa_gpio_edge_t values). Make sure that you have configured the interrupt pin properly for whatever level you choose. |
| isr | The interrupt handler, accepting a void * argument |
| arg | The argument to pass the the interrupt handler. |


| void bmm150_uninstall_isr | ( | const bmm150_context | dev, |
| BMM150_INTERRUPT_PINS_T | intr | ||
| ) |
Uninstall a previously installed interrupt handler.
| dev | The device context. |
| intr | One of the BMM150_INTERRUPT_PINS_T values specifying which interrupt pin you are removing. |

| uint8_t bmm150_read_reg | ( | const bmm150_context | dev, |
| uint8_t | reg | ||
| ) |
Read a register.
| dev | The device context. |
| reg | The register to read. |

| int bmm150_read_regs | ( | const bmm150_context | dev, |
| uint8_t | reg, | ||
| uint8_t * | buffer, | ||
| int | len | ||
| ) |
Read contiguous registers into a buffer.
| dev | The device context. |
| buffer | The buffer to store the results. |
| len | The number of registers to read. |

| upm_result_t bmm150_write_reg | ( | const bmm150_context | dev, |
| uint8_t | reg, | ||
| uint8_t | val | ||
| ) |
Write to a register.
| dev | The device context. |
| reg | The register to write to. |
| val | The value to write. |

| typedef struct _bmm150_context * bmm150_context |
Device context
1.8.11