michaelgira23 / swarms

The ultimate node.js library for controlling Bitcraze Crazyflie 2.0 drones
https://michaelgira23.github.io/swarms
MIT License
18 stars 3 forks source link

Updated crazyflie 2.0 to new firmware crazyflie-2018.01.zip #5

Open rickylund opened 6 years ago

rickylund commented 6 years ago

Just updated my crazyflie 2.0 to the new firmware version because of the flow deck - now i am not able to use swarms - it stops when trying to const toclog = await drone.logging.getTOC(); or et toc = await drone.parameters.getTOC(); - I can do commands like mydrone.commander.setpoint({ roll: 0, /* left/right */ yaw: 0, /* rotation **/ pitch: 0, /* forwards/backwards */ thrust: 35000 }, 1000).
Do you know if something is changed so that the swarms framework is broken or?

Thank you in advance

michaelgira23 commented 6 years ago

Hi @rickylund! Thanks for reporting this!

I'll look into the issue this weekend. Have you tried your code on previous Crazyflie firmware versions? Also, is there any error when you call the .getTOC() function or does the program just keep silently running?

rickylund commented 6 years ago

yes - I used a prev verson of the crazyfile firmware and at that time it worked - I don't have the version number sorry. Just started a debug and can se it stops in function emitHookFactory(symbol, name) { // Called from native. The asyncId stack handling is taken care of there // before this is called. // eslint-disable-next-line func-style **const fn = function(asyncId)** { and the asyncid is 115 if that helps.

michaelgira23 commented 6 years ago

@rickylund I've upgraded my Crazyflie firmware (using version 2018.01.1, not 2018.01) via the iOS app and was still able to run examples/telemetry.js and examples/param-test.js. The firmware changelog doesn't seem to say anything about changing TOC formats or anything, and the wiki documentation is the same.

I also made sure to clear my TOC cache by deleting the /cache directory in the swarms module or calling await drone.logging.tocFetcher.clearCache()/await drone.parameters.tocFetcher.clearCache().

Did you change your code at all, or maybe you can send a snippet of code that replicates the issue on your machine and I can run it on mine? Thanks!