Title pretty much says it all.
I have created a iPhone/iPod touch (sorry iPad users) application, that allows for full, 100% control of the robot without the need for the driver station, becasue the application IS the driver station.
The app features the ability to
Enable/Disable the robot
Teleop/Autonomous Control
Read battery voltage and robot state
Full digital and analog I/O
10 joystick buttons
2 virtual joysticks
accelerometer control
Future Abilities will include
Camera View
Robot debug messages
Anything suggested that is “reasonable”
This app will have a few final improvements to be made (icons, splash screen, etc) but should be submitted to apple shortly. Updates will be posted on the state of the applications submission progress
Also attached are a few images of what the UI looks like so far. As always on CD, any and every comment/suggestion is more than welcome.
Edit:
This application also requires no flashing/specialized reprogramming on the robot to work, joysticks are initialized and read in as normal.
I knew that creating a custom dashboard was (relatively) simple, but was under the impression that the driver station (I/O, joysticks, enable/disable) was locked down by FIRST. Did they publish an API, or did you reverse engineer it, or what? (Sorry if the answer is obvious, I don’t frequent CD too much)
@davidthefat #EDIT
I used a mix of packet analyzer (wireshark - a program to analyze the packets being sent to/from the drivers station) and packet definitions found in WPIlib to determine how the robot and driver station communicated so I could make an iPhone application that would communicate in that manner.
@MrHance
It could be written for other systems without a tremendous amount of work, more details about what system you would like it made for would be helpful. Also, i would like to make an iPad version of this to test with, but the lack of an iPad to test with is kinda an obstacle (however i might be able to borrow one from someone)
@kgzak
the finesse and approval process will probably take about 3 weeks or so, and im planning on either .99 or 1.99, but im leaning more towards 99 cents.
So it should work with any current robot, no matter what the programming language is? Will the cRIO properly recognize the “getY()” function from the Iphone?
Regardless, I can’t wait for it to come out and test it.
Me and my friend are hoping to make an android version, it will take me a little time to get used to the android sdk versus iPhone sdk, but I will keep everybody posted on android status
Yes, the 2 virtual joysticks are mapped to when the robot does getX and getY.
and for second joystick its getRawAxis(3) - for x, and getRawAxis(4) for y
I have some experience with iOS programming as well as an iPad. I’d be happy to beta test the ipad version or even help with the app if you would find that agreeable. I can always email you copies of NSLog’s output as well as safes of instrument runs. (At least I think you can save trials from instruments)
It will most likely be called simply “Drive Station” or “FRC Driver Station” and it will be submitted to apple as soon as I make an icon and a splash image for it.