mgeorgi

About

Username
mgeorgi
Joined
Visits
45
Last Active
Roles
Member

Comments

  • Thanks, I'll have a look into that!
  • Understood. But is there any way to find out after connecting a sensor whether any macros were already setup on that specific device? I am asking because we want to ensure backwards compatibility of our software to sensors we did not yet setup…
  • @Eric said: You can manipulate the board however you want if you are using the same SDK. I did replicate the macro setup using the C++ SDK to try and change the dataprocessors I created. The code for setting up the macro is the followi…
  • Alright, thanks @Eric said: The only cross device usage we support is downloading logged data. You could do it if the applications are using the same SDK but not in the general case. Can you tell me more about that? Would it be pos…
  • Thank you for clearing up the confusion, I assumed that the reset in MetaBase would only issue a simple reset. When not using MetaBase reset but only a "simple" reset, this actually works and the macro survives. One follow-up question though: …
  • I just tried this. I wrote a macro that turns on the LED on boot (much like the example from the android docs) and it worked after putting the device to sleep (I used metabase, so I assume it uses enablePowersave) and rebooting with the button. …
  • Sorry to bump this, but do you have any more feedback regarding the topic? Especially regarding: * is it possible to create macros that survive a reset? * if not, is it possible to reliably delete all timers and processors on board in case …
  • The reset is not issued inside the macro. Our current setup is the following: * the android code I posted above is from a small setup app we use to configure and setup our sensors (names, firmware updates, etc.), this is where we would like …
  • Hi, I have the following code in an Android App that tries to write previously stored calibration data and a (simple, not yet really functional) reaction to a power status change as a macro public void writeCalibrationData() { final Macro …
  • Hi Eric, I setup a process to program charge events (as well as writing calibration data for sensor fusion) using the macro module as you advised. This is working, in that I receive a valid macro ID and it seems these macros also survive a dis…
  • Hi Eric, thank you for your answer. I tried to introduce delays during the setup process, but that did actually not solve the problem. But I actually found the culprit: In my original snippet I omitted some lines I thought were not relevant…
  • Hi, sorry to reopen this stale thread, but I have question more or less regarding the topics already discussed here. Currently we chose to follow your suggestion and to just reset the board on disconnect to remove all timers and processors sho…
  • Hi Eric, I attached a pcap and a pcapng (both have the same data, I just wasn't sure which format is better for you) from Wireshark. Is this okay as a activity log? Or do you need something else? During the recording I searched for sensors and c…
  • I am also wondering about the effect of the mbl_mw_metawearboard_tear_down I am doing directly after connecting to the board. In the API it is described as Removes all data processors and timers from the MetaWear board. But it seems not t…
  • I think I found the problem. I am setting up a disconnect handler on board, that disables the modules I activate, as well as trying to remove any timers and processors. Currently the following code is executed: disconnect_promise = std::pro…
  • HI, sorry for not replying sooner. I read out the IDs I receive before getting a nullptr and got the following: 14.08.2018 12:46:55.349 [debug] MetaWearDevice Setting up modules 14.08.2018 12:46:55.349 [debug] MetaWearDevice Enabling battery 1…
  • I forgot to mention that I remove the created timers and processors before disconnecting, e.g. to remove the mentioned battery timer I use: if (m_battery_timer != nullptr) { m_logger.debug("removing battery timer"); auto timer = mbl_mw_ti…
  • Hi, I can also recommend to have a look at https://github.com/edrosten/libblepp We were able to implement BLE communication with MetaMotionR using this library and found it easier to use than gattlib.
  • Alright, I'll try that. Thanks!
  • I just changed the time between readings from 500ms to 10s, and up until now, I don't have any problems anymore. I'm not sure whether this is actually a fix, or whether this behaviour is due to a timing effect between other calls to the library and …
  • Sure, you can find them here and here
  • Thank you for reproducing our settings! We will try to stream on Android to see if we can also get it to work there, and then to duplicate it under linux. Just to clarify some things: We already reduced the max connection interval by calli…
  • Hi Eric,  thanks for your reply. I just read your (C++) docs on Sensor Fusion again, and it is stated there: "When using the sensor fusion algorithm, it is important that you do not simultaenously use the Accelerometer, Gyro, and Magnetometer…
  • If I do not activate the data processor (and only stream one channel at a time) I will get the following: 2017-02-03 10:02:17,059 DEBUG Notify 0x001f: 19 04 80 36 15 43 a0 59 75 44 00 6e 6a 42 03 ACC [1486112537059] X: 0.149212896824, Y: 0.9814…
  • ACC [1486112398040] X: 0.150677740574, Y: 7.78850846143e+31, Z: 4.08326740475e-11, ACCU: 107 2017-02-03 09:59:58,040 DEBUG Notify 0x001f: 09 03 01 a4 3d 79 3d 87 GYRO [1486112398041] X: 0.0608498007059, Y: 7.78851213656e+34, Z: 7.17464813734e-43, …
  • excerpt from data_callback: if data.contents.type_id == DataTypeId.CARTESIAN_FLOAT:             epoch = int(data.contents.epoch)             data_ptr = cast(data.contents.value, POINTER(CartesianFloat))             func((epoch, (data_ptr.content…
  • Hi, I just received a similar error again (now related to the gyro, not the acc), this time in line 4211.  I am using API 2.7.2 E/AndroidRuntime: FATAL EXCEPTION: main                                                    Process: de.kinemic.me…
  • I tried to have a look into DefaultMetaWearBoard.java and the exception occurs inside the receivedModuleInfo(ModuleInfo info) method, specifically inside the branch if (info.id() == InfoRegister.ACCELEROMETER.moduleOpcode()) and case Constant.BMI160…
  • Thank you for your fast reply Eric. Unfortunately, we want to do real time streaming, so logging is not really an alternative for us. Is there a possibility to use Processors to downsample the DataSignal streams fromCorrectedGyro, fromCorrectedA…