Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

peripheral and imu driver refactor/cleanup #345

Closed
15 of 22 tasks
flixr opened this issue Jan 13, 2013 · 1 comment
Closed
15 of 22 tasks

peripheral and imu driver refactor/cleanup #345

flixr opened this issue Jan 13, 2013 · 1 comment

Comments

@flixr
Copy link
Member

flixr commented Jan 13, 2013

Peripherals like sensors should have their own driver which can then be reused in the different IMU drivers.
Also the peripheral drivers should not use any global variables and instead take a pointer to the struct containing all neccessary information as a parameter. This makes it possible to run multiple of the same peripherals at a time (and is cleaner anyway...).

List of subtasks (not complete yet):

flixr added a commit that referenced this issue Feb 7, 2013
…imu_refactor'

See issue #345

Refactored so far:
- hmc58xx magnetometer refactoring #105
- itg3200 gyro (also imu3000) refactoring
- adxl345 i2c peripheral
- adxl345 spi peripheral
- imu_navgo driver
- imu_umarim driver
- imu_aspirin (via spi) refactoring (only polling, no interrupt handling)
- imu aspirin (i2c)
- imu_ppzuav refactoring #192

* peripherals_imu_refactor: (23 commits)
  [stm32][ppm] compile time config info
  [ms2100] removed superflous var
  [ms2100] fix input buffer reading order
  [stm32][spi] attempt to fix issue #348 - added extra status flags and interrupt to handle different transaction input and output lengths - added support for before_cb, made the callbacks happen while slave is still selected - added support for 0 output_length case
  [peripherals] first shot at refactoring ms2100, not quite nice yet...
  [imu] signs for mag in aspirin imu should be correct again, still needs checking though
  [subsystems][imu] cleaned up imu_ppzuav driver no modules for imu_ppzuav and imu_aspirin_i2c anymore
  [imu] minor config name change for aspirin
  [peripherals] max1168: set spi transaction status to SPITransDone in init
  [subsystems][imu] add aspirin_i2c_v1.[0|5] subsystems, should replace imu_ppzuav closes #192
  [peripherals][itg3200] enable data ready interrupt by default is this really needed to read the RAW_DATA_RDY flag in the status register??
  [peripherals][imu] add adxl345_spi; update adxl345_i2c, itg3200, hmc58xx; update imu_aspirin, imu_b2 and imu_navgo drivers
  aspirin driver seems to work without arch depedent eoc/irq handling, ready for next step
  some more refactoring for hmc58xx and itg3200
  renamed some asprin config options
  [conf][i2c] changed all FOO_I2C_DEVICE defines to FOO_I2C_DEV to be consistent While FOO_I2C_DEVICE is less ambiguous, FOO_I2C_DEV was choosen since most modules already use that. Since this is a user facing config, rather keep existing configs working...
  aspirin1 cleanup, seems to work fine so far...
  working on aspirin1 driver
  macros to print vars with values during compile time
  [peripherals] started reworking the itg3200 peripheral driver - update imu_navgo driver
  ...
@OpenUAS OpenUAS modified the milestone: v5.6 Nov 3, 2014
@flixr flixr removed this from the v5.6 milestone Mar 3, 2015
@gautierhattenberger
Copy link
Member

  • max1168 adc peripheral (only for obsolete booz imu driver)
  • ads1114 adc peripheral (only for some obsolete Enac baro boards)
  • ms2100 magnetometer peripheral (only for obsolete booz imu driver)
  • ami601 magnetometer peripheral (only for some version of obsolete booz imu)
  • hmc58xx data ready interrupt handling (is it actually used? not all boards have the pin routed anyway)
  • itg3200 data ready interrupt handling (same thing + mostly for obsolete boards)

It looks like it is not worth the effort of converting the old drivers, and concerning the interrupt, the real issue is that we actually miss a proper general API for external triggers.

I suggest to close the issue.

@flixr flixr closed this as completed Dec 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants