Hi Graham + William, thank you for getting back to me so quickly.
The device I'm trying to communicate with is this motor controller: https://www.piborg.org/picoborgrev/specs It's made for the Raspberry PI, but I don't see any reason for it not to work with the Beaglebone Blue. With the help of an RPi I've been able to confirm that the device is in full working condition. Now, let's have some fun: tkurbad@beaglebone:~$ i2cdetect -y -r 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- 0x44 is the correct default address for the PicoBorgRev. (Just to have that out of the way: User tkurbad is a member of the 'i2c' group.) Now, let's try to read the board ID, i.e. version: tkurbad@beaglebone:~$ i2cget -y 1 0x44 0x99 0x00 This should return 0x15 instead. Set motor A spinning forward: tkurbad@beaglebone:~$ i2cset -y 1 0x44 6 255 Motor is spinning full throttle now. Read motor PWM setting: tkurbad@beaglebone:~$ i2cget -y 1 0x44 8 0x00 Should return 0xff now. Turn off motor A: tkurbad@beaglebone:~$ i2cset -y 1 0x44 6 0 Motor shuts off. i2cdump behaves the same as all other read operations. At least some of the values should be != 0x00: tkurbad@beaglebone:~$ i2cdump -y 1 0x44 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ I've also got some Python3 code that behaves exactly the same (writes to the device work flawlessly, while reading always returns 0x00): https://github.com/tkurbad/mipSIE/blob/master/python3/MPU-9250_test.py Any ideas what I may be doing wrong here? Best, Torsten -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/ef5da440-6767-44b7-87ed-44bc1116ea2c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
