Thanks for your note…
- So, how difficult is it to modify the Bitlash controls? Ideally I would like to have a virtual joystick, basically just a circle with a dot in it that can be dragged with the mouse for driving the rover. Like putting it in the top left would make it steer left while moving forward. Is there a GUI I can use to redesign the Bitlash GUI to be something like this? Do the controls act like a continuous input until released and "auto center" when released? If not, how hard would that be to program? I would want it to stop as soon as I released the slider/joystick or if there was an interruption in the connection.
Moving the controls you see around, changing their size/shape/contents is easy.
But you are proposing something a little more, a new control, an XY-type joystick control. Cool idea. New controls are not hard, but they are integrated pretty deep. They're implemented in javascript in public/svg-controls.js if you want to take a look.
What you're proposing isn't hard. Let me think about it a bit. Meanwhile, you can get a lot of what you want with sliders, for a prototype. Give that a think and see where you can get with it.
- Could the Bitlash webpage be hosted on the arduino itself like on an ethernet/wifi shield? If possible, I could use an RF solution of getting the video to another PC for the video encoding and not have to have a PC on the rover. Or maybe it would be better to use an XBee between the server and the rover/arduino and only have arduino, and XBee and an RF video TX on the rover.
Sorry, the smallest thing I believe Commander will run on (so far) is the Raspberry Pi, which I haven't tested yet but understand runs node.js.
But you could use any remote serial connection you like between the PC hosting Commander and Arduino; I routinely talk to remote Bitlash over Bluetooth, for example. I understand it's possible to use XBee for similar, but haven't done it. As long as Commander can open it as a serial port, it can send commands to it.
-br