Search the Community
Showing results for tags 'FIFO'.
Vigil posted a topic in MPU-6050 6-axis accelerometer/gyroscope (InvenSense)Hello everyone! I am pretty inexperienced when it comes to computer programming, but I am using the program Jeff posted to use the yaw, pitch, and roll values (I really only need the yaw, though) in a feedback system for a UAV. I am using an Arduino Uno to run the gyroscope, and the program works fine by itself. My issue results from me putting the program on a timer so that it only reads the value every, say, 100 ms. Then FIFO overflow then gets triggered (which makes sense because the values are going in faster than they go out.) Is there any way to bypass this? I noticed one of the past iterations of the program read the values directly instead of from the FIFO buffer, but I didn't understand that version of the program, and I also don't think it had a "ypr" option. Is there an easy way to change the programming, or perhaps a better way to do it? Thanks for any help you can give!
Hello, My name is Robert, I'm a 3'rd year computer science student i i'm working on a bracelet using the MPU 6050 and PSOC 4 BLE chip. I am in need of a bit of help as i have very little knowledge on programming hardware like this. The problem i have is that the chip doesn't produce data. So a standard run works like this: 1. it initializes ok, err is 0 2. fifo count and packet count = 42 dec, 2a hex but isDataReady is false first pass in the for loop so it skips the if 3. second pass in the for isDataReady is true so it processes the data (no new data in the fifo meanwhile, still 42) 4. reads the data from fifo into the buffer and outputs a quaternion, now fifo is empty 5. 3'rd pass fifo count still 0 and isDataReady is true 7. it gets trapped on line 144 at the while loop for reading the fifo count as 0 forever And i have no idea why. Some of the code for the dmp i translated myself from c++ but i'm pretty sure it's ok because i didn't modify the logic behind. P.S. i have some random variables that i use for debugging around there and i know it's dirty but i'm just testing main.c
Hi all, I'm trying to use the mpu6050 as a shock sensor (ie if a shock is > 2g's log the force and timestamp it). Here's the twist, I managed to get the MOT_INT working, but I eventhough i see changes in force required ro triggger an interrupt ( setting MOT_THR byte) I can't map it reliably to an actual G value. Each accelerometer output is on 16bits (signed) but the threshold is set on 8bits (signed) (which means you can only set the interrupt as 1/128th of the actual resolution ?). Also, once the interrupt is triggered, how am I supposed to find the "triggering value" in the fifo stack ? If you have any idea, please share
Hi, I have a quick question regarding the FIFO of MPU6050. Using Arduino Uno, I read six raw signals from accelerometer and gyroscope using FIFO. Arduino checks the number of bytes in FIFO periodically (roughly at around 1ms), and when the FIFO has more than 36 bytes (i.e., three samples), it reads in those 36 bytes of raw data from FIFO. (no interrupt for this) Problem is, one or two bytes at the beginning of the 36-byte packet simply disappear from time to time even when there happens no FIFO overflow, and because of this, it is almost impossible to use the data reliably for waveform display on a tablet. Is there any good way to prevent this kind of problem? Your help will be greatly appreciated. Thanks.