Derp! That did the trick. (See test output below. It prints the expected default values from my sensor.)
Thanks again. :-) debian@beaglebone:~$ uname -a Linux beaglebone 4.4.54-ti-r93 #1 SMP Fri Mar 17 13:08:22 UTC 2017 armv7l GNU/Linux debian@beaglebone:~$ gcc compass.c debian@beaglebone:~$ ./a.out Starting HMC6352 Compass Test. EEPROM reg[0x00] = 0x42 EEPROM reg[0x01] = 0x00 EEPROM reg[0x02] = 0x00 EEPROM reg[0x03] = 0x00 EEPROM reg[0x04] = 0x00 EEPROM reg[0x05] = 0x01 EEPROM reg[0x06] = 0x04 EEPROM reg[0x07] = 0x06 EEPROM reg[0x08] = 0x50 On Sunday, June 18, 2017 at 11:53:30 AM UTC-5, RobertCNelson wrote: > > On Sun, Jun 18, 2017 at 10:59 AM, mark whitney <[email protected] > <javascript:>> wrote: > > Thank you for the reply. > > > > As a sanity check, I went back to Debian 7.5. And it just worked > without > > having to do any extra configuration. See below for a dump of results. > My > > compass device appears at its default address 0x21. I sent a command > (0x72) > > to read EEPROM register 0x00 and read back the expected byte (0x42). > > > > With the Debian 8.7 image, I got error messages when I tried the i2cget > and > > i2cset commands. I also noticed that the i2cdetect -y -r 1 command runs > > very slowly compared to the Debian 7.5 image, it takes a second or so to > > print each address entry. > > > > Is there some extra configuration I need to do in Debian 8.7? Like edit > the > > uEnv.txt file? Load an overlay? Or tweak a DTS file? > > > > Thanks! > > > > > > debian@beaglebone:~$ uname -a > > Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 > armv7l > > GNU/Linux > > debian@beaglebone:~$ i2cdetect -y -r 1 > > 0 1 2 3 4 5 6 7 8 9 a b c d e f > > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- -- > > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 70: -- -- -- -- -- -- -- -- > > debian@beaglebone:~$ i2cset -y 1 0x21 0x72 0x00 > > debian@beaglebone:~$ i2cget -y 1 0x21 > > 0x42 > > Wrong bus.. > > With 3.8.13 the i2c bus #'s where setup on a first come basis.. > > With newer kernel's the bus #'s actually corresponds to the i2c bus > #.. In this case: &i2c2.. > > So use: > > i2cdetect -y -r 2 > > Regards, > > -- > Robert Nelson > https://rcn-ee.com/ > -- 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/a2ec5666-c638-4490-bdc1-9328f51822bb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
