<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112499/reading-mpu6050-via-interrupts-on-nrf52840-and-bluetooth-connectivity-issue</link><description>I have successfully implemented an interrupt-driven method to read data from the MPU6050 sensor on the NRF52840, and it functions as expected. However, I encounter an issue where I am unable to establish a Bluetooth connection while the interrupt-based</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 15 Aug 2024 09:53:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112499/reading-mpu6050-via-interrupts-on-nrf52840-and-bluetooth-connectivity-issue" /><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/498416?ContentTypeID=1</link><pubDate>Thu, 15 Aug 2024 09:53:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da30507c-467a-4aa1-8084-b2fa0153491f</guid><dc:creator>Naeem Maroof</dc:creator><description>&lt;p&gt;The function i2c_burst_read_dt that you are using in the mpu_read_n_reg function is a synchronous call, that would return when all of the bytes have been read out, and therefore is a blocking call.&lt;/p&gt;
&lt;p&gt;You may have a look at this ticket&amp;nbsp;which suggests to use the nrfx driver directly (nrfx sample code is link there).&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/106528/non-blocking-i2c-zephyr-example-with-callbacks"&gt;non-blocking-i2c-zephyr-example&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/498114?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2024 16:19:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b21996c-5963-45eb-881e-b12655af17f6</guid><dc:creator>mjguo</dc:creator><description>&lt;p&gt;you can download my code from:&amp;nbsp;&lt;a id="" href="https://github.com/gmj22362/NRF52840"&gt;https://github.com/gmj22362/NRF52840&lt;/a&gt;.The project name is&amp;nbsp;&lt;a class="Link--primary" title="ble_mpu6050" href="https://github.com/gmj22362/NRF52840/tree/main/ble_mpu6050"&gt;ble_mpu6050&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/498106?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2024 15:13:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:876b8dd3-9485-4773-8007-159e77053e32</guid><dc:creator>Naeem Maroof</dc:creator><description>&lt;p&gt;I am sorry but I could not compile the project you have sent.&amp;nbsp;It is missing definitions.&lt;/p&gt;
&lt;p&gt;What is ble_init()? Is this custom function?&amp;nbsp;I see bt_enalbe() is not used.&lt;/p&gt;
&lt;p&gt;Please send a minimal but complete project as a zip file that could be compiled in ncs 2.6.1.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/497208?ContentTypeID=1</link><pubDate>Tue, 06 Aug 2024 15:16:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f52823f0-b8af-4226-b953-4346b9ae6664</guid><dc:creator>mjguo</dc:creator><description>&lt;p&gt;I use&amp;nbsp;&lt;a title="nrf" href="https://so.csdn.net/so/search?q=nrf&amp;amp;spm=1001.2101.3001.7020"&gt;nrf&lt;/a&gt;&lt;span&gt;&amp;nbsp;connect sdk v2.6.1. when I delete the mpu_read_n_reg() in&amp;nbsp;mpu6050_thread, the ble can be connected.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/497201?ContentTypeID=1</link><pubDate>Tue, 06 Aug 2024 15:11:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5cf20d3-b4e4-4b4f-b3f7-ca29c68744d2</guid><dc:creator>mjguo</dc:creator><description>&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
app.overlay&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/ {
&amp;#160; &amp;#160; chosen {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; nordic,nus-uart = &amp;amp;uart0;
&amp;#160; &amp;#160; };
};

&amp;amp;i2c1 {
&amp;#160; &amp;#160; status = &amp;quot;okay&amp;quot;;
&amp;#160; &amp;#160; // clock-frequency = &amp;lt;400000&amp;gt;;
&amp;#160; &amp;#160; mpu6050: mpu6050@68 {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; compatible = &amp;quot;invensense,mpu6050&amp;quot;;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; reg = &amp;lt;0x68&amp;gt;; // I2C 地址
&amp;#160; &amp;#160; &amp;#160; &amp;#160; int-gpios = &amp;lt;&amp;amp;gpio0 12 GPIO_ACTIVE_LOW&amp;gt;;
&amp;#160; &amp;#160; };
};
&amp;#160;
//配置i2c1
&amp;amp;i2c1_default {
&amp;#160; &amp;#160; group1 {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; psels = &amp;lt;NRF_PSEL(TWIM_SDA, 0, 31)&amp;gt;, &amp;lt;NRF_PSEL(TWIM_SCL, 0, 30)&amp;gt;;
&amp;#160; &amp;#160; };
};&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;main.c&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="ui-code" data-mode="c_cpp"&gt;

int main(void)
{
&amp;#160; &amp;#160; int blink_status = 0;
&amp;#160; &amp;#160; int err = 0;

&amp;#160; &amp;#160; configure_gpio();

&amp;#160; &amp;#160; uart_init();

&amp;#160; &amp;#160; ble_init();

&amp;#160; &amp;#160; mpu6050_init();

&amp;#160; &amp;#160; for (;;) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; dk_set_led(RUN_STATUS_LED, (++blink_status) % 2);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; k_sleep(K_MSEC(RUN_LED_BLINK_INTERVAL));
&amp;#160; &amp;#160; }
}

void ble_write_thread(void)
{
&amp;#160; &amp;#160; static uint8_t tmp[5] = &amp;quot;1234&amp;quot;;
&amp;#160; &amp;#160; k_sem_take(&amp;amp;ble_init_ok, K_FOREVER);
&amp;#160; &amp;#160;
&amp;#160; &amp;#160; for (;;) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; if(current_conn){
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // indicate_send(current_conn, tmp, 5);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; bt_custom_send(current_conn, (uint8_t*)&amp;amp;mpu6050_dev.sensor_data.temp, 2);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; }
&amp;#160; &amp;#160; &amp;#160; &amp;#160; tmp[0] ++;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; k_sleep(K_MSEC(RUN_LED_BLINK_INTERVAL));
&amp;#160; &amp;#160; }
}

K_THREAD_DEFINE(ble_write_thread_id, BT_THREAD_STACKSIZE, ble_write_thread, NULL, NULL,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; NULL, BT_THREAD_PRIORITY, 0, 0);

&lt;/pre&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/497199?ContentTypeID=1</link><pubDate>Tue, 06 Aug 2024 15:07:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:815be560-d140-4f44-93b3-7fdf9b850fec</guid><dc:creator>mjguo</dc:creator><description>&lt;p&gt;mpu6050.c&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static const uint8_t mpu6050_init_cmd[11][2] = {
&amp;#160; &amp;#160; {PWR_MGMT_1, 0x80}, // PWR_MGMT_1, DEVICE_RESET &amp;#160;
&amp;#160; &amp;#160; // need wait
&amp;#160; &amp;#160; {PWR_MGMT_1, 0x00}, // cleat SLEEP
&amp;#160; &amp;#160; {GYRO_CONFIG, 0x18}, // Gyroscope Full Scale Range = &amp;#177; 2000 &amp;#176;/s
&amp;#160; &amp;#160; {ACCEL_CONFIG, 0x00}, // Accelerometer Full Scale Range = &amp;#177; 2g
&amp;#160; &amp;#160; {INT_ENABLE, 0x01}, // Interrupt Enable. &amp;#160;DATA_RDY_EN
&amp;#160; &amp;#160; {USER_CTRL, 0x00}, // User Control.auxiliary I2C are logically driven by the primary I2C bus
&amp;#160; &amp;#160; {FIFO_EN, 0x00}, // FIFO Enable.disenable &amp;#160;
&amp;#160; &amp;#160; {SMPLRT_DIV, 99}, // Sample Rate Divider.Sample Rate = 1KHz / (1 + 9) &amp;#160;
&amp;#160; &amp;#160; {CONFIG, 0x23}, // EXT_SYNC_SET = GYRO_ZOUT_L[0]; Bandwidth = 3
&amp;#160; &amp;#160; {PWR_MGMT_1, 0x01}, // Power Management 1.PLL with X axis gyroscope reference
&amp;#160; &amp;#160; {PWR_MGMT_2, 0x00} &amp;#160;// Power Management 2
};
&amp;#160;
mpu6050_info_t mpu6050_dev = {
&amp;#160; &amp;#160; .i2c = I2C_DT_SPEC_GET(DT_NODELABEL(mpu6050)),&amp;#160;&amp;#160;
&amp;#160; &amp;#160; .int_gpio = GPIO_DT_SPEC_GET(DT_NODELABEL(mpu6050), int_gpios),
};

static void mpu6050_gpio_callback(const struct device *dev,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; struct gpio_callback *cb, uint32_t pins)
{
&amp;#160; &amp;#160; mpu6050_info_t *info = CONTAINER_OF(cb, mpu6050_info_t, gpio_cb);
&amp;#160;
&amp;#160; &amp;#160; ARG_UNUSED(pins);
&amp;#160; &amp;#160; gpio_pin_interrupt_configure_dt(&amp;amp;info-&amp;gt;int_gpio, GPIO_INT_DISABLE);
&amp;#160; &amp;#160; k_sem_give(&amp;amp;info-&amp;gt;gpio_sem);

}

void mpu_read_reg(mpu6050_info_t *dev, uint8_t reg_addr, uint8_t *data)
{
&amp;#160; &amp;#160; i2c_reg_read_byte_dt(&amp;amp;dev-&amp;gt;i2c, reg_addr, data);
}
&amp;#160;

void mpu_write_reg(mpu6050_info_t *dev, uint8_t reg_addr, uint8_t data)
{
&amp;#160; &amp;#160; i2c_reg_write_byte_dt(&amp;amp;dev-&amp;gt;i2c, reg_addr, data);
}
&amp;#160;
void mpu_read_n_reg(mpu6050_info_t *dev, uint8_t start_reg, uint8_t* data, uint32_t len)
{
&amp;#160; &amp;#160; i2c_burst_read_dt(&amp;amp;dev-&amp;gt;i2c, start_reg, data, len);
}

int mpu6050_init_interrupt(mpu6050_info_t *info)
{
&amp;#160; &amp;#160; if (!gpio_is_ready_dt(&amp;amp;info-&amp;gt;int_gpio)) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; LOG_ERR(&amp;quot;GPIO device not ready&amp;quot;);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; return -ENODEV;
&amp;#160; &amp;#160; }
&amp;#160;
&amp;#160; &amp;#160; gpio_pin_configure_dt(&amp;amp;info-&amp;gt;int_gpio, GPIO_INPUT);
&amp;#160;
&amp;#160; &amp;#160; gpio_init_callback(&amp;amp;info-&amp;gt;gpio_cb,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;mpu6050_gpio_callback,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;BIT(info-&amp;gt;int_gpio.pin));
&amp;#160;
&amp;#160; &amp;#160; if (gpio_add_callback(info-&amp;gt;int_gpio.port, &amp;amp;info-&amp;gt;gpio_cb) &amp;lt; 0) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; LOG_ERR(&amp;quot;Failed to set gpio callback&amp;quot;);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; return -EIO;
&amp;#160; &amp;#160; }
&amp;#160;
#if defined(MPU6050_TRIGGER_OWN_THREAD)
&amp;#160; &amp;#160; k_sem_init(&amp;amp;info-&amp;gt;gpio_sem, 0, K_SEM_MAX_LIMIT);
&amp;#160;
&amp;#160; &amp;#160; k_thread_create(&amp;amp;info-&amp;gt;thread, info-&amp;gt;thread_stack,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; MPU6050_THREAD_STACK_SIZE,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; mpu6050_thread, &amp;amp;mpu6050_dev,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; NULL, NULL, K_PRIO_COOP(MPU6050_THREAD_PRIORITY),
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 0, K_NO_WAIT);
#elif defined(MPU6050_TRIGGER_GLOBAL_THREAD)
&amp;#160; &amp;#160; info-&amp;gt;work.handler = mpu6050_work_cb;
#endif
&amp;#160;
&amp;#160; &amp;#160; gpio_pin_interrupt_configure_dt(&amp;amp;info-&amp;gt;int_gpio,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; GPIO_INT_EDGE_FALLING);
&amp;#160;
&amp;#160; &amp;#160; return 0;
}

static void mpu6050_thread(void *p1, void *p2, void *p3)
{
&amp;#160; &amp;#160; ARG_UNUSED(p2);
&amp;#160; &amp;#160; ARG_UNUSED(p3);
&amp;#160;
&amp;#160; &amp;#160; uint16_t tmp[7];
&amp;#160; &amp;#160; mpu6050_info_t *info = p1;
&amp;#160; &amp;#160; // struct sensor_value val[7];
&amp;#160;
&amp;#160; &amp;#160; while (1) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; //等待接收
&amp;#160; &amp;#160; &amp;#160; &amp;#160; k_sem_take(&amp;amp;info-&amp;gt;gpio_sem, K_FOREVER);
&amp;#160;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; //读取数据
&amp;#160; &amp;#160; &amp;#160; &amp;#160; mpu_read_n_reg(info, ACCEL_XOUT_H, (uint8_t*)tmp, 14);
&amp;#160; &amp;#160; &amp;#160; &amp;#160;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; //开中断
&amp;#160; &amp;#160; &amp;#160; &amp;#160; gpio_pin_interrupt_configure_dt(&amp;amp;info-&amp;gt;int_gpio,
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; GPIO_INT_EDGE_FALLING);
&amp;#160;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.accel_x = sys_be16_to_cpu(tmp[0]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.accel_y = sys_be16_to_cpu(tmp[1]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.accel_z = sys_be16_to_cpu(tmp[2]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.temp = sys_be16_to_cpu(tmp[3]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.gyro_x = sys_be16_to_cpu(tmp[4]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.gyro_y = sys_be16_to_cpu(tmp[5]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; info-&amp;gt;sensor_data.gyro_z = sys_be16_to_cpu(tmp[6]);
&amp;#160;
&amp;#160; &amp;#160; &amp;#160; &amp;#160; //for(int i=0; i&amp;lt;7; i++) printk(&amp;quot;%x &amp;quot;, tmp[i]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; //printk(&amp;quot;\r\n&amp;quot;);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; // k_sleep(K_MSEC(100));
&amp;#160; &amp;#160; }
}

int mpu6050_init(void)
{
&amp;#160; &amp;#160; int ret;
&amp;#160; &amp;#160; int i=0;
&amp;#160; &amp;#160; uint8_t tmp, id;
&amp;#160;
&amp;#160; &amp;#160; mpu6050_dev.sensor_data.accel_sensitivity_shift = 14; &amp;#160; // 14 - bit(4,3)
&amp;#160; &amp;#160; mpu6050_dev.sensor_data.gyro_sensitivity_x10 = mpu6050_gyro_sensitivity_x10[3];
&amp;#160; &amp;#160;
&amp;#160; &amp;#160; if (!device_is_ready(mpu6050_dev.i2c.bus)) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; LOG_ERR(&amp;quot;Bus device is not ready&amp;quot;);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; return -ENODEV;
&amp;#160; &amp;#160; }
&amp;#160; &amp;#160;
&amp;#160; &amp;#160; /* check chip ID */
&amp;#160; &amp;#160; if (i2c_reg_read_byte_dt(&amp;amp;mpu6050_dev.i2c, MPU6050_REG_CHIP_ID, &amp;amp;id) &amp;lt; 0) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; LOG_ERR(&amp;quot;Failed to read chip ID.&amp;quot;);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; return -EIO;
&amp;#160; &amp;#160; }

&amp;#160; &amp;#160; if ((id != MPU6050_CHIP_ID) &amp;amp;&amp;amp; (id != MPU9250_CHIP_ID) &amp;amp;&amp;amp; (id != MPU6880_CHIP_ID)) {
&amp;#160; &amp;#160; &amp;#160; &amp;#160; LOG_ERR(&amp;quot;Invalid chip ID.&amp;quot;);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; return -EINVAL;
&amp;#160; &amp;#160; }


#ifdef &amp;#160;MPU6050_INT_ENABLE
&amp;#160; &amp;#160;&amp;#160;ret = mpu6050_init_interrupt(&amp;amp;mpu6050_dev);
&amp;#160; &amp;#160; if(ret) LOG_ERR(&amp;quot;mpu6050_init_interrupt ERROR %X&amp;quot;, ret);
#endif
&amp;#160;
&amp;#160; &amp;#160; for (i=0; i &amp;lt; 11; i++){
&amp;#160; &amp;#160; &amp;#160; &amp;#160; mpu_write_reg(&amp;amp;mpu6050_dev, mpu6050_init_cmd[i][0], mpu6050_init_cmd[i][1]);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; if (i == 0)
&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; k_sleep(K_MSEC(500));
&amp;#160; &amp;#160; }
&amp;#160; &amp;#160;
&amp;#160; &amp;#160; for(i=0; i&amp;lt;11; i++){
&amp;#160; &amp;#160; &amp;#160; &amp;#160; mpu_read_reg(&amp;amp;mpu6050_dev, mpu6050_init_cmd[i][0], &amp;amp;tmp);
&amp;#160; &amp;#160; &amp;#160; &amp;#160; printk(&amp;quot;tmp %02X\n\r&amp;quot;, tmp);
&amp;#160; &amp;#160; }

&amp;#160; &amp;#160; return 0;
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/497020?ContentTypeID=1</link><pubDate>Mon, 05 Aug 2024 15:25:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65be2c34-289b-4b4d-a0fd-f9273be9212c</guid><dc:creator>Naeem Maroof</dc:creator><description>&lt;p&gt;can you send your project to see what is blocking you from doing so?&lt;/p&gt;
&lt;p&gt;please mentions specifics like the ncs version you or using, or any sensor / overlay etc.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/495268?ContentTypeID=1</link><pubDate>Tue, 23 Jul 2024 15:19:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b976c04-7a00-46aa-ae0d-0c1e173d1d5b</guid><dc:creator>mjguo</dc:creator><description>&lt;p&gt;hello,&amp;nbsp;I have tried all methods, but still cannot interrupt the reading of MPU6050 data while using Bluetooth to transmit sensor data to the app.I can&amp;#39;t find the corresponding routine in the routine you sent me. Have you ever encountered a similar situation or someone successfully achieved Bluetooth transmission + interrupt reading sensor.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/492926?ContentTypeID=1</link><pubDate>Tue, 09 Jul 2024 10:27:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:faaa660e-56f1-49ae-a597-0579ca63d572</guid><dc:creator>Naeem Maroof</dc:creator><description>&lt;p&gt;I hope you will find this lesson on I2C and connecting / reading from a sensor useful:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/lessons/lesson-6-serial-com-i2c/topic/exercise-1-6-2/"&gt;I2C Exercise1&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/492759?ContentTypeID=1</link><pubDate>Mon, 08 Jul 2024 14:20:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1cf4f5d8-bc08-4a7c-b2d3-6555386a5b5d</guid><dc:creator>mjguo</dc:creator><description>&lt;p&gt;No, I&amp;#39;m still stuck in this place. Can you provide some routines for reading I2C through interrupt.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/492736?ContentTypeID=1</link><pubDate>Mon, 08 Jul 2024 13:40:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c9a940a-5d93-4519-b9e4-79a13a066efa</guid><dc:creator>Naeem Maroof</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;My apologies as I missed on ticket.&lt;/p&gt;
&lt;p&gt;Is there an update on your end?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/491400?ContentTypeID=1</link><pubDate>Fri, 28 Jun 2024 15:34:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e829923f-c41d-4bff-bb1e-aed3d2272dab</guid><dc:creator>mjguo</dc:creator><description>&lt;p&gt;void mpu_read_n_reg(mpu6050_info_t *dev, uint8_t reg_addr, uint8_t* data, uint32_t len)&lt;br /&gt;{&lt;br /&gt; i2c_burst_read_dt(&amp;amp;dev-&amp;gt;i2c_drv, reg_addr, data, len);&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;span&gt;you can find &lt;/span&gt;&lt;span&gt;i2c_burst_read_dt in v2.6.1\zephyr\include\zephyr\drivers\i2c.h&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading MPU6050 via Interrupts on NRF52840 and Bluetooth Connectivity Issue</title><link>https://devzone.nordicsemi.com/thread/491392?ContentTypeID=1</link><pubDate>Fri, 28 Jun 2024 14:45:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c37a7db-9f26-4262-a671-e27b3b5ec955</guid><dc:creator>Naeem Maroof</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Where is this&amp;nbsp;&lt;span&gt;mpu_read_n_reg() function defined?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is this a blocking call?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>