Recently I got a Chromebook, mostly out of curiosity for this odd “computer that runs only a web browser”. While playing with Google dev tools I quickly saw a possibility to make a Crazyflie client as a Chrome app: the Chrome API provides USB connectivity,and HTML5 has a javascript gamepad API. A chrome app is designed to look and feel like a native application: the app does not require internet connection and is launched in its own window.
This week-end I finally got around to test it, it’s not pretty but it works
The current functionality is:
- Channel and datarate can be changed
- Read input from a gamepad, the mapping is fixed to mode 3 and the sensitivity is fixed
- Sends set-points to Crazyflie 33 times per seconds.
I haven’t had time to do any layout work on it (that is pretty obvious in the screenshoot ), but the plan is to use Angular Material to handle the GUI.
This is only a proof of concept but we are seeing a lot of potential: the Chrome app runs on Linux, Mac, Windows and Chromebook, is easy to install and is written in HTML/CSS/Javascript which seems to be a very popular platform nowadays.
I have pushed the code on Github so if anyone is interested in helping to shape up the app head to the forum to read the discussion about it.