[TangerineSDR] Magnetometer bring up issues
John Gibbons
jcg66 at case.edu
Sat Jul 8 19:20:15 EDT 2023
This is the I^2C map for the Grape 2
John N8OBJ
On Sat, Jul 8, 2023 at 12:33 AM Bob Stricklin via TangerineSDR <
tangerinesdr at lists.tapr.org> wrote:
> I managed to get this working by forcing the proper address in the header
> files as shown below. My guess is the developers had HAT pcbs and remote
> pcbs that had all the parts populated. The TAPR boards only have parts on
> the remote boards. The code is not dealing with this properly or I did not
> set some flag I was supposed to set.
>
> This is what makes it function:
>
> *device_defs.h*
>
> //-------------------------------------------
> // Address of the device changed N5BRG 7/7/2023
> //-------------------------------------------
> // #define RM3100_I2C_ADDRESS 0x20
> // #define RM3100_I2C_ADDRESS_7bit 0x20
> // #define RM3100_I2C_ADDRESS_8bit 0x20 << 1 // MBED uses 8 bit
> address
> #define RM3100_I2C_ADDRESS 0x23
> #define RM3100_I2C_ADDRESS_7bit 0x23
> #define RM3100_I2C_ADDRESS_8bit 0x23 << 1 // MBED uses 8 bit
> address
>
> *MCP9808.h*
>
> // MCP9808 Bus Address.
> //-----------------------------------
> //#define MCP9808_LCL_I2CADDR_DEFAULT 0x18 // alt: (selected
> by chip hardware 0x18 - 0x1F
> //#define MCP9808_RMT_I2CADDR_DEFAULT 0x19 // alt: (selected
> by chip hardware 0x18 - 0x1F
> // Changed N5BRG 7/7/2023
> #define MCP9808_LCL_I2CADDR_DEFAULT 0x1F // alt: (selected
> by chip hardware 0x18 - 0x1F
> #define MCP9808_RMT_I2CADDR_DEFAULT 0x1F // alt: (selected
> by chip hardware 0x18 - 0x1F
>
>
> I see the MEMORY chip is on a different i2c bus and don’t think I have
> this one function yet. I figured the idea was to put calibration info in
> that chip.
> I plane to look a little more into that issue and get it working before I
> put the remote sensor in the ground.
>
>
> Bob N5BRG
>
>
> On Jul 7, 2023, at 4:29 PM, Bob Stricklin via TangerineSDR <
> tangerinesdr at lists.tapr.org> wrote:
>
> I am trying to get the TAPR supplied magnetometer working and having some
> problems.
>
> After cloning Dave's GitHub and running make I see this output:
>
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ls
> CHANGES.txt cmdmgr.h device_defs.h i2c.c i2c.o *logs* main.h
> MCP9808.h README.md runMag.c runMag.o *runrun.sh*
> cmdmgr.c cmdmgr.o *docs* i2c.h LICENSE main.c Makefile
> metadata.json *runMag* runMag.h *run-nopipe.sh*
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* cat runrun.sh
> ./runMag -b 1 -j -M 23 -A 10 -c 400 -U 140 -Z >
> /home/web/wsroot/pipein.fifo
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* mkdir test/
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ./runMag -b 1 -j -M 23 -A 10 -c
> 400 -U 140 -Z > ./test/pipein.fifo
> ./runMag: invalid option -- 'U'
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ./runMag -b 1 -j -M 23 -A 10 -c
> 400 -Z > ./test/pipein.fifo
> Error : I/O error reading temp sensor at address: [0x19].
> Error : I/O error reading temp sensor at address: [0x18].
> Error : I/O error reading temp sensor at address: [0x19].
> Error : I/O error reading temp sensor at address: [0x18].
>
>
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ./runMag -M 23 -m
> "time", "rtemp", "ltemp", "x", "y", "z", "rx", "ry", "rz", "total"
> "07 Jul 2023 21:04:38", 15.1029, -19.0455, 45.8655, 134, -169, 407
> "07 Jul 2023 21:04:38", 15.0998, -19.0481, 45.8631, 134, -169, 407
> "07 Jul 2023 21:04:39", 15.0984, -19.0519, 45.8628, 134, -169, 407
> "07 Jul 2023 21:04:40", 15.0972, -19.0479, 45.8633, 134, -169, 407
> "07 Jul 2023 21:04:41", 15.0957, -19.0515, 45.8711, 134, -169, 407
> ^C
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ./runMag -L 1f -l
> i2c_writebuf(): write(): Remote I/O error
> i2c_read read value.: Remote I/O error
>
> RM3100 REVID NOT CORRECT: RM3100 REVID: 0x0 <> EXPECTED: 0x22.
>
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ./runMag -L 0x1f -l
> i2c_writebuf(): write(): Remote I/O error
> i2c_read read value.: Remote I/O error
>
> RM3100 REVID NOT CORRECT: RM3100 REVID: 0x0 <> EXPECTED: 0x22.
>
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* ./runMag -L 0x1F -l
> i2c_writebuf(): write(): Remote I/O error
> i2c_read read value.: Remote I/O error
>
> RM3100 REVID NOT CORRECT: RM3100 REVID: 0x0 <> EXPECTED: 0x22.
>
>
> *pi at Fox-in-box-v3*:*~/rm3100-runMag $* sudo ./runMag -L 0x1f -l
> i2c_writebuf(): write(): Remote I/O error
> i2c_read read value.: Remote I/O error
>
> RM3100 REVID NOT CORRECT: RM3100 REVID: 0x0 <> EXPECTED: 0x22.
>
>
>
> Raspberry Pi 3B: (Also tried a few other Raspberry Pi units.)
>
> used sudo raspi-config to activate I2C
>
> Then I edited /boot/config.txt to add:
>
>
> dtoverlay=i2c-gpio,bus=3,i2c_gpio_delay_us=1,i2c_gpio_sda=28,i2c_gpio_scl=27
>
>
>
> *pi at Fox-in-box-v3*:*~ $* i2cdetect -l
> i2c-3 i2c 3.i2c I2C adapter
> i2c-1 i2c bcm2835 (i2c at 7e804000) I2C adapter
> *pi at Fox-in-box-v3*:*~ $* i2cdetect -y 1
> 0 1 2 3 4 5 6 7 8 9 a b c d e f
> 00: -- -- -- -- -- -- -- -- -- -- -- -- --
> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1f
> 20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
> 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 70: -- -- -- -- -- -- -- --
> *pi at Fox-in-box-v3*:*~ $* i2cdetect -y 3
> 0 1 2 3 4 5 6 7 8 9 a b c d e f
> 00: -- -- -- -- -- -- -- -- -- -- -- -- --
> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 70: -- -- -- -- -- -- -- --
> *pi at Fox-in-box-v3*:*~ $* i2cdetect -y 2
> Error: Could not open file `/dev/i2c-2' or `/dev/i2c/2': No such file or
> directory
> *pi at Fox-in-box-v3*:*~ $* i2cdetect -y 4
> Error: Could not open file `/dev/i2c-4' or `/dev/i2c/4': No such file or
> directory
> *pi at Fox-in-box-v3*:*~ $*
>
>
>
> Results:
>
> Looks like the magnetic sensors may be responding but the temp sensor is
> not responding to reads. The temp sensor does show up as a valid i2c
> address though.
>
> I noticed the memory chip on local and on remote is not responding with
> address A0 and this device in on the same i2c bus it seems. According to
> the data sheet
> without the jumper installed on WP it should be working in read mode. I
> put the jumper on and still do not see the device with i2cdetect -y 1. If
> this is not being used for
> anything else I would prefer to put the jumper on WP and allow it to be
> used in the ground after being buried. With WP pulled high the chip is
> still pulling 1 - 2 ma anyway.
>
> I would appreciate any comments on what else should be done to get this
> working so I can put the unit in the ground and get providing data.
>
>
> Bob N5BRG
>
>
> --
> TangerineSDR mailing list
> TangerineSDR at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org
>
>
> --
> TangerineSDR mailing list
> TangerineSDR at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/tangerinesdr_lists.tapr.org/attachments/20230708/d20fb6d1/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: G2_I2C.jpg
Type: image/jpeg
Size: 111313 bytes
Desc: not available
URL: <http://lists.tapr.org/pipermail/tangerinesdr_lists.tapr.org/attachments/20230708/d20fb6d1/attachment-0001.jpg>
More information about the TangerineSDR
mailing list