Showing posts with label Samuel C. Show all posts
Showing posts with label Samuel C. Show all posts

Monday, April 29, 2013

Week 3 Post 1


I’ve finished the (basic version of) Network Table Viewer in JavaFX, but I still have a lot to get done. Right now, it shows all the data in a chart that has three columns: one for the “keys” that the program uses to ask the network table what entry to look for; one for the values in the entries; and one for the ID number that the table uses to differentiate between entries. It’s very basic, but like the original version, it gets the job done. Right now, it needs to show entries for each network table in a tree style – in other words, show the keys, values, and ID numbers below the table belong to and also every subtable – a table within a table – in that table. It’s a bit complicated to explain, so here’s a simple chart:

Top Level Table
                First Key – First Value – First ID

                Second Level Table
                               Second Key – Second Value – Second ID

Etcetera...

Not only does it need to do this, it also needs to be able to change the values. Each entry in the program needs to have some way of editing the value and then updating the table to reflect the change. This is going to be more difficult than just showing the values, because the table needs to know what kind of value (true/false, number, or just a word) is being updated – having it contain a number value instead of a true/false would cause some serious problems with a robot.

Wednesday, April 24, 2013

Week 2 Blog 1 - 4/24


So I’m working on using JavaFX to re-make several Java programs that use Swing, which is an older method for Java programs to show graphical interfaces – basically windows into programs that allow people to give input to the program and see what it’s doing without command-line interfaces like programs in the 80. JavaFX is newer, more flexible, and simpler than Swing because it was made to be able to work on computers, phones, tablets – pretty much every kind of device with a screen – whereas Swing only works on normal computers and takes many more lines of code to run than JavaFX.

I’ve never used JavaFX before, so I’m learning it as I go so I can get as much work done on these programs as possible.

The first program I’m working on is called NetworkTableViewer, which is used to look at “NetworkTables” that send data between robots and their driver stations. The original Swing version was very small – only five files – but was thrown together in two days last summer by somebody working on making the NetworkTable program and who only needed something that worked, so it’s very unpolished and not very user friendly. I’m rewriting the whole thing from scratch in JavaFX, borrowing some functions to grab data from NetworkTables, and I’m trying to make it look much better and be more intuitive to use by robotics teams.