Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: emlid/Navio2
base: master
Choose a base ref
...
head repository: emlid/Navio2
compare: wip/mpu9250-fifo
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 10 commits
  • 10 files changed
  • 1 contributor

Commits on Dec 3, 2015

  1. Configuration menu
    Copy the full SHA
    299f31c View commit details
    Browse the repository at this point in the history
  2. Created interface for inertial sensor drivers

    This interface is abstract class.
    Includes such methods as initialize, probe, read_temp,
    read_acc, read_gyro, read_mag, getMotion6, getMotion9.
    Also it has 3 massives for X,Y,Z of acc, gyro, mag and variable
    for value of temperature.
    AlexeyBulatov committed Dec 3, 2015
    Configuration menu
    Copy the full SHA
    5b1f218 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2015

  1. Reworked example AccelGyroMag using inertial_sensor interface

    Now example AccelGyroMag able to use 2 inertial sensors: MPU9250 and
    LSM9DS1. Implemented via abstract class inertial_sesor.
    List of changes:
    Added parsing of input parameters for choice of sensor.
    Created function for allocation selected sensor.
    Added information messages.
    Rewrited comments to the file about using example.
    Added to Makefile target for compilation "Navio/LSM9DS1.cpp".
    AlexeyBulatov committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    f72f3a9 View commit details
    Browse the repository at this point in the history
  2. Created LSM9DS1 driver based on inertial_sensor interface

    New driver allows initialize inertial sensor LSM9DS1 and read data
    from it. Able findings:
    Acclerometer(acc) X,Y,Z (+/- 2/4/8/16 g)
    Gyroscope(gyro)   X,Y,Z (+/- 245/500/2000 dps)
    Magnetometer(mag) X,Y,Z (+/- 4/8/12/16 gauss)
    Temperature in °C
    
    Added public methods:
    initialize - enable use acc, gyro (rate 952 Hz), mag (80 Hz) and set
    scales: acc 16G, gyro 2000 dps and mag 16Gs.
    probe - check connection over SPI by reading WHO_AM_I registers.
    read_temp, read_acc, read_gyro, void read_mag - read data from
    registers, after converts to SI (temperature to °C) and records this
    values to arrays and variables, determined in interface.
    getMotion6, getMotion9 - save acc,gyro(6) or acc,gyro,mag(9) values
    in input parameters.
    private:
    WriteReg, ReadReg, ReadRegs - provides read/write register over SPI.
    set_gyro_scale, set_acc_scale, set_mag_scale - set scale for chosen
    3D sensor, which value save in gyro_scale, acc_scale and mag_scale.
    AlexeyBulatov committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    126b2f1 View commit details
    Browse the repository at this point in the history
  3. Reworked driver MPU9250

    List of changes:
    Class became inheritor of abstract class inertial_sensor.
    Inherited methods placed to public, others to private.
    Deleted input parameters for initialize function.
    Renamed testConnection to probe.
    Deleted unused variables.
    Function ReadReg no longer needs WriteData, by default it
    set to 0x00.
    Values of accelerometer and gyroscope convert to SI.
    Changed some comments according changes.
    AlexeyBulatov committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    d3c6b1b View commit details
    Browse the repository at this point in the history
  4. Stylistic changes for driver MPU9250

    List of changes:
    Defines of registers and bits given to the table view
    Remove excess spaces
    Now indent = 4 spaces
    Added spaces between operators
    Change place of {
    AlexeyBulatov committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    780867b View commit details
    Browse the repository at this point in the history
  5. Added support FIFO for MPU9250 driver

    Using FIFO allows setting higher sample frequency and use more values for filtering.
    FIFO is a 512 bytes buffer. Accelerometer and gyroscope data are written into FIFO.
    This code include some additions:
    
     - Defines of bits for FIFO settings
     - Public methods:
       read_count_FIFO - returns count of bytes in FIFO buffer;
       enable_FIFO - enable use FIFO and record acc and gyro values to FIFO
       buffer;
       reset_FIFO - clean FIFO buffer and reset count;
       disable_FIFO - stop write acc and gyro values to FIFO buffer;
       read_FIFO - first read number of bytes in FIFO buffer,
       after that read from buffer bytes multiple sample size (12 bytes).
    AlexeyBulatov committed Dec 4, 2015
    Configuration menu
    Copy the full SHA
    34bd7b5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    485b500 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0eda2ff View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    fb1eb09 View commit details
    Browse the repository at this point in the history