Sunday, August 31, 2014

Open source rocks, except don't update it


it was dry, but still fun

Having a problem? Look at the source!

One of the awesome parts of working with an open source project is that you can go look at how it works in every aspect. Today I'm working on getting a joystick working with the OpenROV Cockpit and I think this is the file that will need to be modified to add support for a new joystick (and allow for key remapping). It turns out that unsupported controllers work pretty well.

https://github.com/OpenROV/openrov-software/blob/master/src/static/js/libs/gamepad.js


Looking to upgrade? Don't do it!

If it ain't broke ... then don't fix it! I did it anyway. The upgrade.sh script has now killed our ROV more than one time. I even left a comment in the file saying not to do it, but I still did it. Now the ROV Dashboard is broken, making it inoperable. Oops, again.

http://wiki.openrov.com/index.php/Update_Software

This opportunity forced me to pull down the newest code, fully abandoning the old mess of files at the filesystem level. This means losing my hard-coded IMU tweaks, maybe next time I'll find a way to make that adjustable (thinking cape atmega eeprom). The update should give us some new UI plugins anyway, so hey maybe it will be worth the pain.

That ended up being totally broken with "do not enter" warning signs. So I rolled back to the broken mess, then used git to roll back to a commit prior to the drastic changes to the dashboard. During the update, some nodejs stuff failed to compile, throwing a wrench into everything. In the end these few commands saved the day, for that issue. At least I got to keep my IMU hacks in place on the arduino cape.

tail -f /var/log/openrov.*
cd /opt/openrov/node_modules/
/opt/node/bin/npm install

After all this headache, the starboard motor lost its programming again and makes the tell-tale beeping/braking sound and drives erratically. I guess we'll have to re-program this when we go diving, once the ROV is powered up, at least until we're able to order and replace the ESC for that motor.