-
Notifications
You must be signed in to change notification settings - Fork 144
Open
Description
- ev3dev version: 1.0.19(0.48/3/2)
- ev3dev-lang-python version:
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii micropython-ev 2.1.0 all Python language bindings for ev3d
ii python3-ev3dev 1.2.0 all Python language bindings for ev3d
ii python3-ev3dev 2.1.0 all Python language bindings for ev3d
I'm trying to use a generic I2C sensor with my EV3, specifically, a Nintendo Wii Motion Plus (https://en.wikipedia.org/wiki/Wii_MotionPlus) I used this sensor with my NXT a couple of years ago, so I think my hardware interface should be OK.
What is the best way to do 'raw' i2c writes and reads?
I tried using the Sensor class, but it can't seem to find my sensor.
Code:
#!/usr/bin/env python3
from ev3dev2.sensor import Sensor
def main():
wmp = Sensor('ev3-ports:in4:i2c83') #I2C address is 0xA6, unshifted is 0x53 = decimal 83
wmp.command(0xFE, 0x04)
if __name__ == '__main__':
main()
Output:
Starting: brickrun --directory="/home/robot/vscode-hello-python-master" "/home/robot/vscode-hello-python-master/wmp.py"
----------
Traceback (most recent call last):
File "/home/robot/vscode-hello-python-master/wmp.py", line 10, in <module>
main()
File "/home/robot/vscode-hello-python-master/wmp.py", line 6, in main
wmp = Sensor('ev3-ports:in4:i2c83') #I2C address is 0xA6, unshifted is 0x53 = decimal 83
File "/usr/lib/python3/dist-packages/ev3dev2/sensor/__init__.py", line 78, in __init__
super(Sensor, self).__init__(self.SYSTEM_CLASS_NAME, name_pattern, name_exact, **kwargs)
File "/usr/lib/python3/dist-packages/ev3dev2/__init__.py", line 223, in __init__
chain_exception(DeviceNotFound("%s is not connected." % self), None)
File "/usr/lib/python3/dist-packages/ev3dev2/__init__.py", line 54, in chain_exception
raise exception from cause
ev3dev2.DeviceNotFound: Sensor(ev3-ports:in4:i2c83) is not connected.
Metadata
Metadata
Assignees
Labels
No labels