Description
The lib/ism330dl/ directory is empty. A MicroPython driver needs to be implemented for the ISM330DLCTR, a 6DOF inertial module integrating an accelerometer and a gyroscope.
Expected deliverables
Based on the existing driver structure in this project, the implementation should include:
ism330dl/manifest.py — package metadata
ism330dl/ism330dl/__init__.py — module exports
ism330dl/ism330dl/const.py — register addresses and bit definitions (using micropython.const())
ism330dl/ism330dl/device.py — main driver class ISM330DLC
ism330dl/examples/ — usage examples (e.g. imu_reading.py)
ism330dl/README.md — documentation
Expected API (from project README)
from ism330dlc import ISM330DLC
imu = ISM330DLC(i2c)
imu.set_accel_odr(ISM330DLC.ACCEL_ODR_104HZ)
imu.set_gyro_odr(ISM330DLC.GYRO_ODR_104HZ)
Conventions to follow
- Use
snake_case for method names
- Use
micropython.const() for register constants
- Use
examples/ (English, plural) for the examples directory
- Follow the structure of existing drivers (e.g.
wsen-pads, mcp23009e)
Description
The
lib/ism330dl/directory is empty. A MicroPython driver needs to be implemented for the ISM330DLCTR, a 6DOF inertial module integrating an accelerometer and a gyroscope.Expected deliverables
Based on the existing driver structure in this project, the implementation should include:
ism330dl/manifest.py— package metadataism330dl/ism330dl/__init__.py— module exportsism330dl/ism330dl/const.py— register addresses and bit definitions (usingmicropython.const())ism330dl/ism330dl/device.py— main driver classISM330DLCism330dl/examples/— usage examples (e.g.imu_reading.py)ism330dl/README.md— documentationExpected API (from project README)
Conventions to follow
snake_casefor method namesmicropython.const()for register constantsexamples/(English, plural) for the examples directorywsen-pads,mcp23009e)