This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to get accelerometer value of Thingy:91?

I want to tranceive data to ADXL362 through SPI and refer to this program.

https://github.com/Rallare/fw-nrfconnect-nrf/tree/nrf9160_samples/samples/nrf9160/spi

However, I can't get data.

I only modified tx_buffer value.

void spi_test_send(void)
{
	int err;
	u8_t tx_buffer[1] = {0x00}; // Modified here
	u8_t rx_buffer[1];

	const struct spi_buf tx_buf = {
		.buf = tx_buffer,
		.len = sizeof(tx_buffer)
	};
	const struct spi_buf_set tx = {
		.buffers = &tx_buf,
		.count = 1
	};

	struct spi_buf rx_buf = {
		.buf = rx_buffer,
		.len = sizeof(rx_buffer),
	};
	const struct spi_buf_set rx = {
		.buffers = &rx_buf,
		.count = 1
	};

	err = spi_transceive(accel_spi_dev, &spi_cfg, &tx, &rx);
	if (err) {
		printk("SPI error: %d\n", err);
	} else {
		/* Connect MISO to MOSI for loopback */
		printk("TX sent: 0x%02x\n", tx_buffer[0]);
		printk("RX recv: 0x%02x\n", rx_buffer[0]);
//		tx_buffer[0]++;
	}	
}

Also, I added nrf9160_pca20035_v0_3_0.overlay file.

Any tip?

Parents Reply Children
  • Not sure about Yusuke, but I have gotten the AXDL362 fully configured. I have one question though. I have placed the accelerometer into a ultra low noise state to try and control some of the values I'm getting in the Z direction when the device is upright and stationary (where Z should be -1g). Is there a reason the Z direction is unstable, X and Y seem reasonably stable (they still flick about by 150mg± when the device is on it's side) as the Z values flick up and down by 400mg± centered around 850mg.

    I can compensate for this by making my interrupt thresholds less sensitive but seems odd to be getting large changes in XYZ data while not moving. I would like to make my thresholds a bit more sensitive though if the Z direction can be filtered some more.

    X_HEX   : 0x040 | Y_HEX : 0x007 | Z_HEX : 0x274                                 
    X_INT   : -64     | Y_INT : -7     | Z_INT : -628   (mg)                        
    X_HEX   : 0x03f | Y_HEX : 0x010 | Z_HEX : 0x2f0                                 
    X_INT   : -63     | Y_INT : 16     | Z_INT : -752   (mg)                        
    X_HEX   : 0x02f | Y_HEX : 0x050 | Z_HEX : 0x27f                                 
    X_INT   : -47     | Y_INT : -80     | Z_INT : -639   (mg)                       
    X_HEX   : 0x020 | Y_HEX : 0x057 | Z_HEX : 0x2a8                                 
    X_INT   : -32     | Y_INT : -87     | Z_INT : -680   (mg)                       
    X_HEX   : 0x040 | Y_HEX : 0x01f | Z_HEX : 0x2b0                                 
    X_INT   : -64     | Y_INT : -31     | Z_INT : -688   (mg)                       
    X_HEX   : 0x001 | Y_HEX : 0x060 | Z_HEX : 0x2ff                                 
    X_INT   : 1     | Y_INT : 96     | Z_INT : -767   (mg)                          
    X_HEX   : 0x047 | Y_HEX : 0x000 | Z_HEX : 0x3b0                                 
    X_INT   : -71     | Y_INT : 0     | Z_INT : -944   (mg)                         
    X_HEX   : 0x03f | Y_HEX : 0x041 | Z_HEX : 0x2b7                                 
    X_INT   : -63     | Y_INT : -65     | Z_INT : -695   (mg)                       
    X_HEX   : 0x000 | Y_HEX : 0x0fc | Z_HEX : 0x33e                                 
    X_INT   : 0     | Y_INT : 252     | Z_INT : -830   (mg)                         
    X_HEX   : 0x043 | Y_HEX : 0x044 | Z_HEX : 0x2f8                                 
    X_INT   : -67     | Y_INT : 68     | Z_INT : -760   (mg)                        
    X_HEX   : 0x017 | Y_HEX : 0x01f | Z_HEX : 0x3bf                                 
    X_INT   : 23     | Y_INT : -31     | Z_INT : -959   (mg)                        
    X_HEX   : 0x030 | Y_HEX : 0x040 | Z_HEX : 0x397                                 
    X_INT   : 48     | Y_INT : -64     | Z_INT : -919   (mg)                        
    X_HEX   : 0x031 | Y_HEX : 0x043 | Z_HEX : 0x3d7                                 
    X_INT   : 49     | Y_INT : -67     | Z_INT : -983   (mg)                        
    X_HEX   : 0x070 | Y_HEX : 0x00f | Z_HEX : 0x3e0                                 
    X_INT   : 112     | Y_INT : -15     | Z_INT : -992   (mg)                       
    X_HEX   : 0x063 | Y_HEX : 0x03f | Z_HEX : 0x35a                                 
    X_INT   : 99     | Y_INT : -63     | Z_INT : -858   (mg)                        
    X_HEX   : 0x02c | Y_HEX : 0x050 | Z_HEX : 0x2df                                 
    X_INT   : -44     | Y_INT : 80     | Z_INT : -735   (mg)                        
    X_HEX   : 0x030 | Y_HEX : 0x020 | Z_HEX : 0x2cf                                 
    X_INT   : 48     | Y_INT : 32     | Z_INT : -719   (mg)                         
    X_HEX   : 0x043 | Y_HEX : 0x067 | Z_HEX : 0x3b7                                 
    X_INT   : 67     | Y_INT : -103     | Z_INT : -951   (mg)                       
    X_HEX   : 0x05a | Y_HEX : 0x024 | Z_HEX : 0x33f                                 
    X_INT   : -90     | Y_INT : 36     | Z_INT : -831   (mg)                        
    

  • Hi. I was unable to find any internal information about this.

    Is it always the Z-axis, or does it depend on the orientation of the device?

  • It seems to be just the Z-axis, all axis fluxuate somewhat but the Z axis while flat is definitely the worst of the fluxuations.


    This above was when it was configured in Wake Mode, I have placed it into Measurement mode without Wake Mode set and it seems more stable in the results from XYZ but it is having a hard time understanding motion from no motion.

    It will pass inactive threshold checks, drive the interrupt low but then it will detect "movement" over the activity threshold and bring the interrupt pin back to high. The Activity threshold is set higher than the inactivity threshold so that alone is very strange.

    Here are some results from measurement mode with the device on it's side so X is the axis experiencing -1g. Z will still bounce around a bit but it's more reasonable than registering drops of 400mg.

    X_INT   : -991  | Y_INT : 0003  | Z_INT : -063   (mg)                           
    X_INT   : -991  | Y_INT : 0127  | Z_INT : -123   (mg)                           
    X_INT   : -903  | Y_INT : 0000  | Z_INT : -054   (mg)                           
    X_INT   : -911  | Y_INT : 0062  | Z_INT : -095   (mg)                           
    X_INT   : -928  | Y_INT : 0016  | Z_INT : -095   (mg)                           
    X_INT   : -984  | Y_INT : 0024  | Z_INT : -071   (mg)                           
    X_INT   : -1020  | Y_INT : -031  | Z_INT : 0072   (mg)                          
    X_INT   : -899  | Y_INT : 0032  | Z_INT : -023   (mg)                           
    X_INT   : -927  | Y_INT : 0047  | Z_INT : -123   (mg)                           
    X_INT   : -960  | Y_INT : -031  | Z_INT : 0032   (mg)                           
    X_INT   : -1015  | Y_INT : -086  | Z_INT : 0124   (mg)                          
    X_INT   : -960  | Y_INT : 0040  | Z_INT : -087   (mg)                           
    X_INT   : -887  | Y_INT : -031  | Z_INT : -008   (mg)                           
    X_INT   : -896  | Y_INT : 0016  | Z_INT : -047   (mg)                           
    X_INT   : -911  | Y_INT : -047  | Z_INT : -094   (mg)                           
    X_INT   : -948  | Y_INT : 0048  | Z_INT : 0096   (mg)                           
    X_INT   : -927  | Y_INT : -031  | Z_INT : -046   (mg)                           
    X_INT   : -960  | Y_INT : 0000  | Z_INT : 0032   (mg)                           
    X_INT   : -944  | Y_INT : 0048  | Z_INT : -043   (mg)                           
    X_INT   : -960  | Y_INT : 0072  | Z_INT : 0004   (mg)                           
    X_INT   : -992  | Y_INT : 0048  | Z_INT : -087   (mg)                           
    X_INT   : -895  | Y_INT : 0031  | Z_INT : -127   (mg)                           
    X_INT   : -960  | Y_INT : 0024  | Z_INT : 0000   (mg)                           
    X_INT   : -895  | Y_INT : 0008  | Z_INT : -092   (mg)                           
    X_INT   : -903  | Y_INT : 0032  | Z_INT : 0000   (mg)                           
    X_INT   : -960  | Y_INT : 0032  | Z_INT : 0024   (mg)                           
    X_INT   : -959  | Y_INT : 0127  | Z_INT : -079   (mg)                           
    X_INT   : -928  | Y_INT : 0036  | Z_INT : -087   (mg)                           
    X_INT   : -839  | Y_INT : -055  | Z_INT : 0201   (mg)                           
    X_INT   : -943  | Y_INT : 0081  | Z_INT : -048   (mg)                           
    X_INT   : -944  | Y_INT : 0036  | Z_INT : 0048   (mg)                           
    X_INT   : -1000  | Y_INT : 0032  | Z_INT : -095   (mg)                          
    X_INT   : -983  | Y_INT : -068  | Z_INT : 0200   (mg)                           
    X_INT   : -984  | Y_INT : 0064  | Z_INT : -023   (mg)                           
    X_INT   : -960  | Y_INT : -031  | Z_INT : 0000   (mg)                           
    X_INT   : -863  | Y_INT : 0015  | Z_INT : -015   (mg)                           
    X_INT   : -896  | Y_INT : 0064  | Z_INT : 0048   (mg)                           
    X_INT   : -975  | Y_INT : 0032  | Z_INT : -076   (mg)                           
    X_INT   : -991  | Y_INT : -064  | Z_INT : 0144   (mg)                           
    X_INT   : -960  | Y_INT : -011  | Z_INT : 0016   (mg)                           
    X_INT   : -968  | Y_INT : 0032  | Z_INT : 0032   (mg)                           
    X_INT   : -864  | Y_INT : -063  | Z_INT : -031   (mg)                           
    X_INT   : -911  | Y_INT : -015  | Z_INT : 0000   (mg)                           
    X_INT   : -944  | Y_INT : 0032  | Z_INT : 0000   (mg)                           
    X_INT   : -960  | Y_INT : -031  | Z_INT : 0064   (mg)                           
    X_INT   : -879  | Y_INT : -048  | Z_INT : 0024   (mg)                           
    X_INT   : -895  | Y_INT : 0048  | Z_INT : -036   (mg)                           
    X_INT   : -880  | Y_INT : -039  | Z_INT : -031   (mg)                           
    X_INT   : -924  | Y_INT : 0016  | Z_INT : -031   (mg)                           
    X_INT   : -896  | Y_INT : -031  | Z_INT : 0000   (mg)                           
    X_INT   : -879  | Y_INT : -047  | Z_INT : 0031   (mg)                           
    X_INT   : -992  | Y_INT : 0064  | Z_INT : -063   (mg)  

    Z = 1g:

    X_INT   : 0097  | Y_INT : 0000  | Z_INT : 0904   (mg)                           
    X_INT   : 0039  | Y_INT : 0124  | Z_INT : 0832   (mg)                           
    X_INT   : 0097  | Y_INT : -016  | Z_INT : 0904   (mg)                           
    X_INT   : 0104  | Y_INT : -007  | Z_INT : 0864   (mg)                           
    X_INT   : 0015  | Y_INT : 0152  | Z_INT : 0792   (mg)                           
    X_INT   : 0112  | Y_INT : 0032  | Z_INT : 0903   (mg)                           
    X_INT   : -079  | Y_INT : -048  | Z_INT : 1220   (mg)                           
    X_INT   : 0127  | Y_INT : -007  | Z_INT : 0884   (mg)                           
    X_INT   : 0073  | Y_INT : 0000  | Z_INT : 0884   (mg)                           
    X_INT   : -047  | Y_INT : 0032  | Z_INT : 0975   (mg)                           
    X_INT   : -056  | Y_INT : 0000  | Z_INT : 1001   (mg)                           
    X_INT   : 0049  | Y_INT : 0024  | Z_INT : 0928   (mg)                           
    X_INT   : -031  | Y_INT : 0056  | Z_INT : 0969   (mg)                           
    X_INT   : -007  | Y_INT : -032  | Z_INT : 1112   (mg)                           
    X_INT   : 0065  | Y_INT : -064  | Z_INT : 1074   (mg)                           
    X_INT   : -063  | Y_INT : 0000  | Z_INT : 1111   (mg)                           
    X_INT   : 0064  | Y_INT : 0015  | Z_INT : 0836   (mg)                           
    X_INT   : -095  | Y_INT : -048  | Z_INT : 0984   (mg)                           
    X_INT   : 0000  | Y_INT : -023  | Z_INT : 1009   (mg)                           
    X_INT   : -084  | Y_INT : 0031  | Z_INT : 1000   (mg)                           
    X_INT   : -048  | Y_INT : 0016  | Z_INT : 0956   (mg)                           
    X_INT   : -062  | Y_INT : -048  | Z_INT : 1010   (mg)                           
    X_INT   : 0024  | Y_INT : -007  | Z_INT : 1057   (mg)                           
    X_INT   : -047  | Y_INT : 0159  | Z_INT : 0848   (mg)                           
    X_INT   : -039  | Y_INT : 0016  | Z_INT : 0969   (mg)                           
    X_INT   : -003  | Y_INT : 0080  | Z_INT : 0972   (mg)                           
    X_INT   : 0032  | Y_INT : 0000  | Z_INT : 1093   (mg)                           
    X_INT   : -031  | Y_INT : 0100  | Z_INT : 0880   (mg)                           
    X_INT   : -080  | Y_INT : 0000  | Z_INT : 1068   (mg)        

    Z = -1g

    X_INT   : -064  | Y_INT : 0080  | Z_INT : -927   (mg)                           
    X_INT   : -064  | Y_INT : -087  | Z_INT : -767   (mg)                           
    X_INT   : 0113  | Y_INT : -048  | Z_INT : -1007   (mg)                          
    X_INT   : -064  | Y_INT : -047  | Z_INT : -831   (mg)                           
    X_INT   : 0032  | Y_INT : 0036  | Z_INT : -958   (mg)                           
    X_INT   : -016  | Y_INT : -023  | Z_INT : -863   (mg)                           
    X_INT   : -064  | Y_INT : 0128  | Z_INT : -1055   (mg)                          
    X_INT   : -023  | Y_INT : 0132  | Z_INT : -1118   (mg)                          
    X_INT   : 0000  | Y_INT : 0017  | Z_INT : -984   (mg)                           
    X_INT   : -031  | Y_INT : 0096  | Z_INT : -1054   (mg)                          
    X_INT   : -065  | Y_INT : -063  | Z_INT : -687   (mg)                           
    X_INT   : 0112  | Y_INT : -063  | Z_INT : -928   (mg)                           
    X_INT   : -023  | Y_INT : 0088  | Z_INT : -1023   (mg)                          
    X_INT   : -064  | Y_INT : 0032  | Z_INT : -943   (mg)                           
    X_INT   : -030  | Y_INT : 0160  | Z_INT : -1031   (mg)                          
    X_INT   : 0096  | Y_INT : -094  | Z_INT : -928   (mg)                           
    X_INT   : 0053  | Y_INT : 0015  | Z_INT : -1039   (mg)                          
    X_INT   : -028  | Y_INT : -064  | Z_INT : -671   (mg)                           
    X_INT   : 0055  | Y_INT : 0064  | Z_INT : -1087   (mg)                          
    X_INT   : -015  | Y_INT : 0128  | Z_INT : -1055   (mg)                          
    X_INT   : -001  | Y_INT : 0048  | Z_INT : -1096   (mg)                          
    X_INT   : 0048  | Y_INT : -031  | Z_INT : -888   (mg)                           
    X_INT   : -003  | Y_INT : 0001  | Z_INT : -1008   (mg)                          
    X_INT   : 0000  | Y_INT : -110  | Z_INT : -784   (mg)                           
    X_INT   : -039  | Y_INT : -063  | Z_INT : -880   (mg)                           
    X_INT   : -048  | Y_INT : 0176  | Z_INT : -895   (mg)                           
    X_INT   : -063  | Y_INT : -062  | Z_INT : -800   (mg)                           
    X_INT   : -032  | Y_INT : 0064  | Z_INT : -927   (mg)          

    Configuration currently sent to the device to make the above results

    #define ACC_POWER_CTRL_STANDBY        0x00 /* Standby */
    #define ACC_POWER_CTRL_WAKE		        0x12 /* Measure, Low Noise Mode */
    #define ACC_FILTER_CTRL               0x03 /* 2g, 1/2 BW, 100Hz */
    #define ACC_SOFT_RESET                0x52 /* Reset Key */
    #define ACC_ACTIVITY_TIME             0x64 /* 100 Samples */
    #define ACC_ACTIVITY_THRESHOLD_MSB    0x02 /* See Act Thresh LSB */
    #define ACC_ACTIVITY_THRESHOLD_LSB    0xBC /* 700mg @ 2g */
    #define ACC_INACTIVITY_THRESHOLD_MSB  0x01 /* See Inact Thesh LSB */
    #define ACC_INACTIVITY_THRESHOLD_LSB  0x90 /* 400mg @ 2g */
    #define ACC_INACTIVITY_TIME_MSB       0x46 /* See Inact Time LSB */
    #define ACC_INACTIVITY_TIME_LSB       0x50 /* 18000 Samples */
    #define ACC_ACT_INACT_CTRL            0x3F /* Loop Mode, Inact Ref & EN, Act Ref & EN */
    #define ACC_INT1_MAP                  0x40 /* Active High, Map Awake */
    #define ACC_INT2_MAP                  0x00 /* Active High, Map Nothing */

  • Hi.

    I just tested your hex file provided to and did not see the same inaccuracy on the Z-axis.

    X_INT	: 0623  | Y_INT : 0208  | Z_INT : -790   (mg)
    X_INT	: 0696  | Y_INT : 0176  | Z_INT : -760   (mg)
    X_INT	: 0655  | Y_INT : 0232  | Z_INT : -702   (mg)
    X_INT	: 0539  | Y_INT : 0200  | Z_INT : -695   (mg)
    X_INT	: 0640  | Y_INT : 0256  | Z_INT : -736   (mg)
    X_INT	: 0615  | Y_INT : 0200  | Z_INT : -795   (mg)
    X_INT	: 0608  | Y_INT : 0179  | Z_INT : -711   (mg)
    X_INT	: 0640  | Y_INT : 0293  | Z_INT : -711   (mg)
    X_INT	: 0610  | Y_INT : 0318  | Z_INT : -863   (mg)
    X_INT	: 0596  | Y_INT : 0256  | Z_INT : -704   (mg)
    X_INT	: 0608  | Y_INT : 0223  | Z_INT : -703   (mg)
    X_INT	: 0704  | Y_INT : 0192  | Z_INT : -864   (mg)
    X_INT	: 0623  | Y_INT : 0264  | Z_INT : -732   (mg)
    X_INT	: 0639  | Y_INT : 0288  | Z_INT : -700   (mg)
    X_INT	: 0639  | Y_INT : 0304  | Z_INT : -716   (mg)
    X_INT	: 0664  | Y_INT : 0232  | Z_INT : -864   (mg)
    X_INT	: 0607  | Y_INT : 0256  | Z_INT : -743   (mg)
    X_INT	: 0624  | Y_INT : 0304  | Z_INT : -656   (mg)
    X_INT	: 0601  | Y_INT : 0255  | Z_INT : -635   (mg)
    X_INT	: 0623  | Y_INT : 0240  | Z_INT : -812   (mg)
    X_INT	: 0704  | Y_INT : 0192  | Z_INT : -880   (mg)
    X_INT	: 0672  | Y_INT : 0195  | Z_INT : -743   (mg)
    X_INT	: 0580  | Y_INT : 0175  | Z_INT : -799   (mg)
    X_INT	: 0628  | Y_INT : 0255  | Z_INT : -735   (mg)
    X_INT	: 0480  | Y_INT : 0552  | Z_INT : -671   (mg)
    X_INT	: 0619  | Y_INT : 0288  | Z_INT : -767   (mg)
    X_INT	: 0624  | Y_INT : 0240  | Z_INT : -943   (mg)
    X_INT	: 0576  | Y_INT : 0179  | Z_INT : -769   (mg)
    X_INT	: 0256  | Y_INT : 0071  | Z_INT : -959   (mg)
    X_INT	: 0672  | Y_INT : 0067  | Z_INT : -991   (mg)
    X_INT	: 0396  | Y_INT : -047  | Z_INT : -992   (mg)
    X_INT	: 0096  | Y_INT : -064  | Z_INT : -863   (mg)
    X_INT	: 0160  | Y_INT : -032  | Z_INT : -1087   (mg)
    X_INT	: -092  | Y_INT : -063  | Z_INT : -1151   (mg)
    X_INT	: 0048  | Y_INT : 0000  | Z_INT : -1120   (mg)
    X_INT	: 0112  | Y_INT : -064  | Z_INT : -895   (mg)
    X_INT	: 0000  | Y_INT : -048  | Z_INT : -975   (mg)
    X_INT	: 0064  | Y_INT : 0048  | Z_INT : -960   (mg)
    X_INT	: -023  | Y_INT : -087  | Z_INT : -1039   (mg)
    X_INT	: 0112  | Y_INT : 0000  | Z_INT : -1208   (mg)
    X_INT	: 0024  | Y_INT : -031  | Z_INT : -1054   (mg)
    X_INT	: 0064  | Y_INT : -047  | Z_INT : -1120   (mg)
    X_INT	: -007  | Y_INT : 0048  | Z_INT : -1088   (mg)
    X_INT	: 0128  | Y_INT : 0079  | Z_INT : -927   (mg)
    X_INT	: 0119  | Y_INT : -003  | Z_INT : -1167   (mg)
    X_INT	: 0025  | Y_INT : 0048  | Z_INT : -1007   (mg)
    X_INT	: -001  | Y_INT : -032  | Z_INT : -1025   (mg)
    X_INT	: 0000  | Y_INT : -016  | Z_INT : -1055   (mg)
    X_INT	: 0033  | Y_INT : 0048  | Z_INT : -1015   (mg)
    X_INT	: 0056  | Y_INT : 0003  | Z_INT : -1031   (mg)
    X_INT	: 0052  | Y_INT : -060  | Z_INT : -983   (mg)
    X_INT	: 0064  | Y_INT : -031  | Z_INT : -1056   (mg)
    X_INT	: 0063  | Y_INT : 0016  | Z_INT : -1072   (mg)
    X_INT	: 0015  | Y_INT : -007  | Z_INT : -1020   (mg)
    X_INT	: 0067  | Y_INT : -015  | Z_INT : -1119   (mg)
    X_INT	: -031  | Y_INT : -110  | Z_INT : -960   (mg)
    X_INT	: -031  | Y_INT : -079  | Z_INT : -944   (mg)
    X_INT	: 0036  | Y_INT : 0001  | Z_INT : -960   (mg)
    X_INT	: 0032  | Y_INT : 0019  | Z_INT : -1159   (mg)
    X_INT	: 0096  | Y_INT : -001  | Z_INT : -992   (mg)
    X_INT	: -016  | Y_INT : -023  | Z_INT : -1022   (mg)
    X_INT	: 0147  | Y_INT : 0000  | Z_INT : -1263   (mg)
    X_INT	: 0065  | Y_INT : 0008  | Z_INT : -1279   (mg)
    X_INT	: 0001  | Y_INT : 0040  | Z_INT : -1143   (mg)
    X_INT	: -016  | Y_INT : 0024  | Z_INT : -1134   (mg)
    X_INT	: 0064  | Y_INT : 0003  | Z_INT : -1103   (mg)
    X_INT	: 0064  | Y_INT : 0007  | Z_INT : -927   (mg)
    X_INT	: 0063  | Y_INT : 0016  | Z_INT : -1008   (mg)
    X_INT	: 0063  | Y_INT : 0048  | Z_INT : -928   (mg)
    X_INT	: -048  | Y_INT : 0000  | Z_INT : -956   (mg)
    X_INT	: -024  | Y_INT : -047  | Z_INT : -922   (mg)
    X_INT	: 0048  | Y_INT : 0001  | Z_INT : -960   (mg)
    X_INT	: -028  | Y_INT : -063  | Z_INT : -943   (mg)
    X_INT	: 0080  | Y_INT : 0032  | Z_INT : -988   (mg)
    X_INT	: 0048  | Y_INT : 0032  | Z_INT : -1020   (mg)
    X_INT	: 0007  | Y_INT : -011  | Z_INT : -1022   (mg)
    X_INT	: 0065  | Y_INT : -032  | Z_INT : -1055   (mg)
    X_INT	: -003  | Y_INT : -063  | Z_INT : -912   (mg)
    X_INT	: 0049  | Y_INT : -039  | Z_INT : -1087   (mg)
    X_INT	: 0068  | Y_INT : 0008  | Z_INT : -943   (mg)
    X_INT	: 0064  | Y_INT : -030  | Z_INT : -1056   (mg)
    X_INT	: 0124  | Y_INT : 0000  | Z_INT : -1080   (mg)
    X_INT	: 0072  | Y_INT : 0016  | Z_INT : -1023   (mg)
    X_INT	: 0096  | Y_INT : -028  | Z_INT : -1024   (mg)
    X_INT	: 0128  | Y_INT : -078  | Z_INT : -1095   (mg)
    X_INT	: 0001  | Y_INT : -027  | Z_INT : -959   (mg)
    X_INT	: 0127  | Y_INT : -047  | Z_INT : -1120   (mg)
    X_INT	: 0112  | Y_INT : 0033  | Z_INT : -992   (mg)
    X_INT	: -191  | Y_INT : 0041  | Z_INT : -1408   (mg)
    X_INT	: 0239  | Y_INT : 0144  | Z_INT : -686   (mg)
    X_INT	: 0152  | Y_INT : 0072  | Z_INT : -840   (mg)
    X_INT	: 0452  | Y_INT : 0055  | Z_INT : -1047   (mg)
    X_INT	: 0112  | Y_INT : 0203  | Z_INT : -1183   (mg)
    X_INT	: -095  | Y_INT : 0015  | Z_INT : -959   (mg)
    X_INT	: 0208  | Y_INT : -159  | Z_INT : -1024   (mg)
    X_INT	: 0064  | Y_INT : -104  | Z_INT : -959   (mg)
    X_INT	: -047  | Y_INT : -128  | Z_INT : -991   (mg)
    X_INT	: 0031  | Y_INT : -023  | Z_INT : -1116   (mg)
    X_INT	: 0040  | Y_INT : -087  | Z_INT : -1056   (mg)
    X_INT	: 0036  | Y_INT : -063  | Z_INT : -1072   (mg)
    X_INT	: 0124  | Y_INT : 0000  | Z_INT : -1052   (mg)
    X_INT	: 0127  | Y_INT : -031  | Z_INT : -1064   (mg)
    X_INT	: 0015  | Y_INT : -031  | Z_INT : -956   (mg)
    X_INT	: 0048  | Y_INT : 0000  | Z_INT : -1084   (mg)
    X_INT	: 0112  | Y_INT : -095  | Z_INT : -1040   (mg)
    X_INT	: 0096  | Y_INT : -055  | Z_INT : -1103   (mg)
    X_INT	: 0047  | Y_INT : 0016  | Z_INT : -1006   (mg)
    X_INT	: 0032  | Y_INT : -063  | Z_INT : -992   (mg)
    X_INT	: 0072  | Y_INT : 0015  | Z_INT : -1023   (mg)
    X_INT	: 0080  | Y_INT : -144  | Z_INT : -983   (mg)
    X_INT	: 0096  | Y_INT : -103  | Z_INT : -1056   (mg)
    X_INT	: 0064  | Y_INT : -111  | Z_INT : -960   (mg)
    X_INT	: 0094  | Y_INT : -047  | Z_INT : -1084   (mg)
    X_INT	: 0064  | Y_INT : -047  | Z_INT : -1040   (mg)
    X_INT	: 0017  | Y_INT : -064  | Z_INT : -927   (mg)
    X_INT	: 0120  | Y_INT : -031  | Z_INT : -1080   (mg)
    X_INT	: 0064  | Y_INT : 0003  | Z_INT : -960   (mg)
    X_INT	: 0056  | Y_INT : -080  | Z_INT : -1055   (mg)
    X_INT	: 0072  | Y_INT : -063  | Z_INT : -1120   (mg)
    X_INT	: 0032  | Y_INT : -108  | Z_INT : -847   (mg)
    X_INT	: 0079  | Y_INT : 0000  | Z_INT : -1023   (mg)
    X_INT	: -028  | Y_INT : -128  | Z_INT : -991   (mg)
    X_INT	: 0068  | Y_INT : -095  | Z_INT : -1056   (mg)
    X_INT	: 0056  | Y_INT : -118  | Z_INT : -960   (mg)
    X_INT	: 0056  | Y_INT : -140  | Z_INT : -1039   (mg)
    X_INT	: 0055  | Y_INT : -007  | Z_INT : -1007   (mg)
    X_INT	: 0048  | Y_INT : -120  | Z_INT : -1024   (mg)
    X_INT	: 0088  | Y_INT : -095  | Z_INT : -1008   (mg)
    X_INT	: 0112  | Y_INT : -046  | Z_INT : -995   (mg)
    X_INT	: 0104  | Y_INT : -072  | Z_INT : -1119   (mg)
    X_INT	: 0062  | Y_INT : -047  | Z_INT : -1040   (mg)
    X_INT	: 0096  | Y_INT : -056  | Z_INT : -959   (mg)
    X_INT	: 0048  | Y_INT : -031  | Z_INT : -976   (mg)
    X_INT	: 0112  | Y_INT : -123  | Z_INT : -1104   (mg)
    X_INT	: 0127  | Y_INT : -103  | Z_INT : -1024   (mg)
    X_INT	: 0032  | Y_INT : -031  | Z_INT : -1023   (mg)
    X_INT	: 0048  | Y_INT : -140  | Z_INT : -927   (mg)
    X_INT	: 0003  | Y_INT : 0036  | Z_INT : -863   (mg)
    X_INT	: 0063  | Y_INT : 0004  | Z_INT : -928   (mg)
    X_INT	: 0112  | Y_INT : 0024  | Z_INT : -1104   (mg)
    X_INT	: 0128  | Y_INT : 0001  | Z_INT : -991   (mg)
    X_INT	: 0144  | Y_INT : -064  | Z_INT : -1071   (mg)
    X_INT	: 0051  | Y_INT : -031  | Z_INT : -1119   (mg)
    X_INT	: 0068  | Y_INT : -031  | Z_INT : -960   (mg)
    X_INT	: 0072  | Y_INT : -064  | Z_INT : -1143   (mg)
    X_INT	: 0095  | Y_INT : -063  | Z_INT : -1070   (mg)
    X_INT	: 0096  | Y_INT : -088  | Z_INT : -1087   (mg)
    X_INT	: 0112  | Y_INT : -062  | Z_INT : -960   (mg)
    X_INT	: 0084  | Y_INT : -032  | Z_INT : -1071   (mg)
    X_INT	: 0040  | Y_INT : -104  | Z_INT : -959   (mg)
    X_INT	: 0049  | Y_INT : -031  | Z_INT : -991   (mg)
    X_INT	: 0112  | Y_INT : -111  | Z_INT : -1048   (mg)
    X_INT	: 0024  | Y_INT : -056  | Z_INT : -919   (mg)
    X_INT	: 0064  | Y_INT : -031  | Z_INT : -1027   (mg)
    X_INT	: 0087  | Y_INT : -055  | Z_INT : -959   (mg)
    X_INT	: 0096  | Y_INT : -107  | Z_INT : -1080   (mg)
    X_INT	: 0088  | Y_INT : -063  | Z_INT : -1080   (mg)
    X_INT	: 0011  | Y_INT : -031  | Z_INT : -1023   (mg)
    X_INT	: 0096  | Y_INT : 0024  | Z_INT : -1008   (mg)
    X_INT	: 0031  | Y_INT : -001  | Z_INT : -968   (mg)
    X_INT	: 0096  | Y_INT : -095  | Z_INT : -1116   (mg)
    X_INT	: 0048  | Y_INT : -047  | Z_INT : -1056   (mg)
    X_INT	: 0129  | Y_INT : -023  | Z_INT : -1183   (mg)
    X_INT	: 0112  | Y_INT : -032  | Z_INT : -1039   (mg)
    X_INT	: 0099  | Y_INT : -071  | Z_INT : -959   (mg)
    X_INT	: 0016  | Y_INT : -024  | Z_INT : -927   (mg)
    X_INT	: 0080  | Y_INT : 0003  | Z_INT : -991   (mg)
    X_INT	: 0104  | Y_INT : 0000  | Z_INT : -1000   (mg)
    X_INT	: 0096  | Y_INT : -079  | Z_INT : -1120   (mg)
    X_INT	: 0095  | Y_INT : 0016  | Z_INT : -1071   (mg)
    X_INT	: -015  | Y_INT : -111  | Z_INT : -1056   (mg)
    X_INT	: 0132  | Y_INT : -039  | Z_INT : -1144   (mg)
    X_INT	: 0080  | Y_INT : -023  | Z_INT : -1008   (mg)
    X_INT	: 0064  | Y_INT : -039  | Z_INT : -1056   (mg)
    X_INT	: 0056  | Y_INT : -100  | Z_INT : -1024   (mg)
    X_INT	: 0096  | Y_INT : -095  | Z_INT : -1148   (mg)
    X_INT	: 0064  | Y_INT : 0015  | Z_INT : -895   (mg)
    X_INT	: 0080  | Y_INT : -151  | Z_INT : -992   (mg)
    X_INT	: 0139  | Y_INT : -031  | Z_INT : -991   (mg)
    X_INT	: 0128  | Y_INT : -058  | Z_INT : -1024   (mg)
    X_INT	: 0128  | Y_INT : -079  | Z_INT : -1056   (mg)
    X_INT	: 0112  | Y_INT : -044  | Z_INT : -975   (mg)
    X_INT	: 0096  | Y_INT : 0000  | Z_INT : -1056   (mg)
    X_INT	: 0048  | Y_INT : -063  | Z_INT : -1084   (mg)
    X_INT	: 0007  | Y_INT : -031  | Z_INT : -1078   (mg)
    X_INT	: 0062  | Y_INT : -047  | Z_INT : -1016   (mg)
    X_INT	: 0071  | Y_INT : -015  | Z_INT : -1182   (mg)
    X_INT	: 0031  | Y_INT : -047  | Z_INT : -1016   (mg)
    X_INT	: 0064  | Y_INT : -096  | Z_INT : -1027   (mg)
    X_INT	: 0064  | Y_INT : 0036  | Z_INT : -992   (mg)
    X_INT	: 0104  | Y_INT : -108  | Z_INT : -1024   (mg)
    X_INT	: 0096  | Y_INT : 0016  | Z_INT : -1088   (mg)
    X_INT	: 0096  | Y_INT : 0008  | Z_INT : -1168   (mg)
    X_INT	: 0040  | Y_INT : -024  | Z_INT : -959   (mg)
    X_INT	: 0015  | Y_INT : -095  | Z_INT : -1020   (mg)
    X_INT	: 0124  | Y_INT : 0016  | Z_INT : -1132   (mg)
    X_INT	: 0096  | Y_INT : -096  | Z_INT : -1071   (mg)
    X_INT	: 0035  | Y_INT : -055  | Z_INT : -927   (mg)
    X_INT	: 0068  | Y_INT : -060  | Z_INT : -895   (mg)
    X_INT	: 0016  | Y_INT : -080  | Z_INT : -895   (mg)
    X_INT	: 0035  | Y_INT : -055  | Z_INT : -1087   (mg)
    X_INT	: 0064  | Y_INT : 0001  | Z_INT : -995   (mg)
    X_INT	: 0112  | Y_INT : -030  | Z_INT : -1152   (mg)
    X_INT	: 0024  | Y_INT : -095  | Z_INT : -976   (mg)
    X_INT	: -001  | Y_INT : -063  | Z_INT : -936   (mg)
    X_INT	: 0064  | Y_INT : -046  | Z_INT : -992   (mg)
    X_INT	: 0003  | Y_INT : -001  | Z_INT : -1071   (mg)
    X_INT	: 0128  | Y_INT : -039  | Z_INT : -944   (mg)
    X_INT	: 0063  | Y_INT : -039  | Z_INT : -1016   (mg)
    X_INT	: 0072  | Y_INT : -060  | Z_INT : -960   (mg)
    X_INT	: 0032  | Y_INT : -063  | Z_INT : -975   (mg)
    X_INT	: 0096  | Y_INT : -038  | Z_INT : -983   (mg)
    X_INT	: 0079  | Y_INT : 0032  | Z_INT : -1022   (mg)
    X_INT	: 0064  | Y_INT : -016  | Z_INT : -879   (mg)
    X_INT	: 0024  | Y_INT : -060  | Z_INT : -960   (mg)
    X_INT	: 0000  | Y_INT : 0000  | Z_INT : -936   (mg)
    X_INT	: -003  | Y_INT : -055  | Z_INT : -988   (mg)
    X_INT	: 0031  | Y_INT : -039  | Z_INT : -958   (mg)
    X_INT	: 0049  | Y_INT : -096  | Z_INT : -1024   (mg)
    X_INT	: 0024  | Y_INT : -047  | Z_INT : -968   (mg)
    X_INT	: 0112  | Y_INT : -111  | Z_INT : -1104   (mg)
    X_INT	: 0064  | Y_INT : -151  | Z_INT : -943   (mg)
    X_INT	: 0124  | Y_INT : -031  | Z_INT : -1027   (mg)
    X_INT	: 0100  | Y_INT : -039  | Z_INT : -1016   (mg)
    X_INT	: 0072  | Y_INT : 0000  | Z_INT : -1008   (mg)
    X_INT	: 0096  | Y_INT : -063  | Z_INT : -1104   (mg)
    X_INT	: 0096  | Y_INT : -055  | Z_INT : -1112   (mg)
    X_INT	: 0056  | Y_INT : -047  | Z_INT : -888   (mg)
    X_INT	: 0048  | Y_INT : -076  | Z_INT : -959   (mg)
    X_INT	: 0007  | Y_INT : 0032  | Z_INT : -1071   (mg)
    X_INT	: 0064  | Y_INT : -056  | Z_INT : -991   (mg)
    X_INT	: 0080  | Y_INT : -063  | Z_INT : -976   (mg)
    X_INT	: 0015  | Y_INT : -027  | Z_INT : -972   (mg)
    X_INT	: 0080  | Y_INT : 0015  | Z_INT : -1023   (mg)
    X_INT	: 0048  | Y_INT : -063  | Z_INT : -1008   (mg)
    X_INT	: 0096  | Y_INT : -055  | Z_INT : -1008   (mg)
    X_INT	: 0128  | Y_INT : -063  | Z_INT : -1088   (mg)
    X_INT	: 0080  | Y_INT : -031  | Z_INT : -991   (mg)
    X_INT	: 0024  | Y_INT : -079  | Z_INT : -1080   (mg)
    X_INT	: 0063  | Y_INT : -079  | Z_INT : -1064   (mg)
    X_INT	: 0063  | Y_INT : -003  | Z_INT : -1016   (mg)
    X_INT	: 0132  | Y_INT : -095  | Z_INT : -1071   (mg)
    X_INT	: 0015  | Y_INT : -031  | Z_INT : -1023   (mg)
    X_INT	: 0096  | Y_INT : -016  | Z_INT : -1007   (mg)
    X_INT	: 0064  | Y_INT : -080  | Z_INT : -983   (mg)
    X_INT	: 0051  | Y_INT : -087  | Z_INT : -927   (mg)
    X_INT	: 0068  | Y_INT : -116  | Z_INT : -959   (mg)
    X_INT	: 0009  | Y_INT : -064  | Z_INT : -1023   (mg)
    X_INT	: 0052  | Y_INT : 0006  | Z_INT : -1024   (mg)
    X_INT	: 0032  | Y_INT : -031  | Z_INT : -944   (mg)
    X_INT	: 0067  | Y_INT : -015  | Z_INT : -1023   (mg)
    X_INT	: 0080  | Y_INT : -020  | Z_INT : -959   (mg)
    X_INT	: 0096  | Y_INT : -052  | Z_INT : -1027   (mg)
    X_INT	: 0112  | Y_INT : -096  | Z_INT : -1055   (mg)
    X_INT	: 0032  | Y_INT : -111  | Z_INT : -984   (mg)
    X_INT	: 0101  | Y_INT : -031  | Z_INT : -1087   (mg)
    X_INT	: 0096  | Y_INT : -079  | Z_INT : -1056   (mg)
    X_INT	: 0032  | Y_INT : -097  | Z_INT : -879   (mg)
    X_INT	: 0047  | Y_INT : -015  | Z_INT : -1023   (mg)
    X_INT	: 0064  | Y_INT : 0003  | Z_INT : -983   (mg)
    X_INT	: 0064  | Y_INT : -111  | Z_INT : -1072   (mg)
    X_INT	: 0051  | Y_INT : -031  | Z_INT : -1055   (mg)
    X_INT	: 0144  | Y_INT : -030  | Z_INT : -1152   (mg)
    

    The PCB was not in its enclosure, so it is not lying perfectly flat and was moved a bit (especially in the beginning).

    , do you see similar behavior?

    Best regards,

    Didrik

  • Hi Didrik, if I'm honest, last week I was all over the SPI comunication trying different configurations to reduce the inaccuracies. I don't know if the build I sent in .hex form was the same build as the results above as it was a build from the next day but most likely they were different builds.

    The build I am using at the moment is more stable than the last ones but it still spikes on my end with movement above 250mg while stationary. I find the initial boot up is generally fine but after one sleep cycle followed by another motion detected cycle, when the device next goes to sleep you can see spiking results that are a little too close to the threshold for my liking. The problem of demonstrating this is that the device loves to change it's response with every flash. Sometimes it works amazing and then others it self reacts and you need to increase the thresholds.

    Last week 250mg was perfect, today I need 300mg to prevent false positives which requires a decent shove. Unfortunately, if I set INT1 to be only for Activity and Inactivity Interrupts, the callback on INT1's pin will read two instances of the INT1 pin going low, it never reads a HIGH response on the edge detection, just LOW when it reads the pin.

    I might have to change how the whole thing works to run Linked mode and impliment a status reg reader that can tell what interrupt spawned it and set INT1 on the nRF91 to Rising HIGH detection only. Problem with that is that an interrupt callback will hang if a function is called inside it (even a small one, which I would need to read the register quickly) so I'll have to figure out a way to implement this so that the ISRs actually get read in my main application as a simple pin HIGH/LOW was much simpler.

    EDIT: Realised I haven't actually been flashing the ACTIVITY TIME register. Might be able to silence the spikes  now with that.

Related