SmartDashboardLib and SmartDashboardDroid

Recently I started doing research into how the SmartDashboard software works because my team asked me to look into it as an alternative dashboard (we used to design our own LabView dashboard but our LabView programmer graduated).

Since I found it to be quite interesting and thought it had a ton of potential, I decided to start working on two projects: SmartDashboardLib and SmartDashboardDroid.

SmartDashboardLib is a wrapper library written in Java that allows anyone to easily use the NetworkTables 2.0 interface to create their own “SmartDashboard”, or at least a program that is compatible with it. With this library, you could use the normal SmartDashboard libraries on the robot and not have to worry about using NetworkTables directly.

SmartDashboardDroid is pretty much the SmartDashboard program ported to Android. I coded it from scratch using my SmartDashboardLib, and it does not have all the features that the desktop SmartDashboard has, but as I keep updating it I will continue adding more features. Currently it has the ability to connect to the robot, add/update fields according to whatever was changed over the network (be it from the robot, the SmartDashboard software, or another program that interfaces with it), and send data back if you change it in the app.

Both projects are hosted on FirstForge:

SmartDashboardLib: http://firstforge.wpi.edu/sf/projects/smartdashboardlib
SmartDashboardDroid: http://firstforge.wpi.edu/sf/projects/smartdashboarddroid

The apk (installer) for SmartDashboardDroid can be downloaded from www.animiku.com/dl/SmartDashboardDroid.apk or from the FirstForge file releases page.

Both projects are open-sourced and licensed under the GNU GPLv3. For more information look at COPYING.txt in the SVN repositories on FirstForge.

Amazing. Nice work :slight_smile:

Any chance of getting SmartDashboardDroid on Google Play?

The SmartDashboardLib looks very interesting, but kind of obscure. As far as I can tell, its an abstraction of NetworkTables2 and SmartDashboard so you can create your own dashboard?

Just a heads up, running SmartDashboardDroid on my Samsung Galaxy Player 4 (running a non-standard kernel and Gingerbread 2.3.5) results in an application crash.

The application SmartDashboardDroid(process com.animiku.first.smartdashboarddroid) has stopped unexpectedly. Try again

Thanks! I’m trying to get it on Play, but I still need to find the $25 to get the Dev account.

Yep, that’s pretty much it. Without my library you would need to go through the NetworkTables2.0 by itself and have to deal with the event handlers, connection things, and such. While it’s not too difficult, using my library definitely makes it easier, and will filter out everything except stuff that is specific to the SmartDashboard.

Hmm. Create this file on the SD card: /SmartDashboardDroid/config.xml and see if it works. I remember it had a problem starting when there wasn’t a config file present. If that’s the problem I’ll go make a permanent fix.