Downgrade firmware version

I am having problems streaming sensor fusion data from various sensors with a raspberry pi 3. The problem is that the data rate for new sensors I just bought is 15-20Hz, whereas for my old sensors is 100Hz, which is what should be expected.

The only difference is that old sensors have firmware version 1.3.4 and new have 1.3.6. I don't dare to upgrade the firmware of old sensors in case that is really the problem, so I am asking if there is a way of downgrading the firmware.

Comments

    • Please post the device information of the boards that are working and not working.
    • Which sensor fusion outputs are you streaming?
      • Are you streaming them simultaneously?
    • Can the new boards stream sensor fusion output at 100Hz with the MetaBase app?

    You can use the MetaBase app or any of the SDKs to upload specific firmware versions.
  • Looks like the relation with the firmware was just a coincidence. Sometimes I get a rate of 100hz, sometimes 75hz, and other times 15-20Hz.

    I also noticed that the python process uses 100% of cpu (the allocated core) when the rate is 15-20hz, and the rest of times is around 25-30% of cpu (core) usage.

    Another thing that I have noticed is that for some reason, when I suscribe to sensorfusion quaternion it works well, but if I suscribe to the corrected acc&gyro signals, then the program crashes with a "Bus error" message.

    I have to say that I still use the pymetawear 0.8.0, as I have already stated in my previous posts, I have not been able to use the newest MetaWear Python SDK. This only happens in the Raspberry Pi 3.

    I am using the mbientLab version of the pygatt library.
  • edited January 2018
    Another thing that I have noticed is that for some reason, when I suscribe to sensorfusion quaternion it works well, but if I suscribe to the corrected acc&gyro signals, then the program crashes with a "Bus error" message.

    UPDATE: I also installed JavaScript library both in my laptop and raspberry pi 3. In my laptop, as happens with python, I can stream corrected acc&gyro, but when I try it on raspberry, I get the same "bus error" message.

    UPDATE 2: I identified that the "bus error" happens when I try to get corrected_acc but not on corrected_gyro. Tried my old and new devices and all have the same error. 
    As a side note, with raspberry and javascript sdk, it looks like I can stream at 100hz a few devices. But now the most important problem is the "bus error".


  • edited January 2018
    What raspberry pi 3 model are you using?
    Exactly which OS are you running on your pi?
    Are there any messages attached with this "bus error" you are receiving?
    Have you tried using a Bluetooth USB adapter?
  • Are there more than one model of rpi3? I am runing latest raspbian. No more messages beside bus error. Yes, I have tried using a dongle and same error.
  • Ah sorry, there is only 1 model.  I was mixing up model B and B+, which is older pi boards.

    What is "latest" raspbian?  Please provide a build name, version number or kernel version.

  • Raspbian kernel is Linux 4.9.59-v7+ #1047  (from uname -a)
  • I'll check correct acc and gyro once I have access to our Pi.
  • Ok, I can replicate the issue on our Pi.  Not exactly sure what's going on but we'll get it sorted out.
This discussion has been closed.