paper: TI calc scouting program

Thread created automatically to discuss a document in CD-Media.

TI calc scouting program
by: Jeff Rodriguez

We’re currently developing a scouting system that uses TI calculators to gather match data. This is the calculator program

This program is written in TI BASIC. So far its been tested on a TI-83+ and TI-84+. If you have another model calculator, please feel free to test it out and let us know if it works.
The idea of this system is that there are a few people with calculators in the stands keeping stats. Come lunch time, they can then connect their calculators to a computer and download all their info to be compiled later. (We’re still working on that part)

The program is split into two areas, robot stats and payload specialist stats. For robots, it allows you to keep track of balls made, balls missed, empty cells grabbed, and empty cells converted.
For payload specialists, its keeps track of two teams, shots made and shots missed for each team. The idea is that you can watch the two payloaders on the right side, left side or middle.

Usage: When you first run the program it will ask if you have run it before. this is to prevent overwriting of data if you haven’t downloaded it to a computer yet.
It will also give you brief instructions on how to use the program.
First, you enter a match number then enter whether you’re keeping track of a robot or payload specialist.
For robot tracking: 1 will increment balls made, 4 will increment balls missed, 3 will increment empty cells grabbed, 6 will increment empty cells converted, Clear will end the match and start another.
For Payloader tracking: 1 will increment Team1 made, 4 will increment Team2 miss, 3 will increment Team2 made, 6 will increment Team2 miss, Clear will end the match and start another.

The data is stored in a matrix. Each team per match has their own row. The format is, in column order from left to right: Team #, Robot balls made, robot balls missed, empty cells grabbed, empty cells converted, payloader made, payloader missed, match #.

I’ve attached a copy of a matrix, so you can play with it. They’re in the TI format but if you open either file with a text editor, you can see the data.

We’re still working on getting the data from the TI format into excel/access or something excel/access can read. Any help would be greatly appreciated.

We also plan on opening this up at our events to have other teams help gather stats and sharing our stats with anyone who wants them.

Please ask questions, make suggestions and play with the program.

Update: We’ve sort of scrapped the idea of using calculators. We never got the computer end of it done and decided to let it go. Fell free to use this however you want.

Archive.zip (2.13 KB)

Thanks for posting you TI calculator scouting program,

I had to refresh my memory on how to download programs to my calcluator.

After your first regional, how well did the program work and did you come up with a simple way to import data into excel ?

We’ve scrapped our usage. We never got the computer end worked out. It turned out to be too big and complicated for anyone on our team to tackle.

I encourage anyone to use this however they want. I still think it’s a good idea and useful way to keep stats, I just don’t have the time to give to it.

Hey Jeff, what kind of problems were you running into?
I obviously can’t commit to anything yet, but just wondering if we would be able to help out any.
Let me know sometime before Hartford, & we’ll see what can be done with it.
I’ll actually be in the neighborhood this weekend up at CCSU for a play on Saturday night.
(Btw, I haven’t used a TI heavily in about 5 years or so, but I did have limited programming experience on it at one time back in the day! lol)

The problem is with converting the matrix file that TI outputs to something useful. It’s basically an XML file, but I, nor anyone on the team, has any experience with xml.
The data is stored in a matrix. Each team per match has their own row. The format is, in column order from left to right: Team #, Robot balls made, robot balls missed, empty cells grabbed, empty cells converted, payloader made, payloader missed, match #. Here’s what the file looks like when opened in a text editor:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>cells</key>
    <array>
        <dict>
            <key>column</key>
            <integer>5</integer>
            <key>numberValue</key>
            <integer>11</integer>
            <key>row</key>
            <integer>2</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>6</integer>
            <key>numberValue</key>
            <integer>5</integer>
            <key>row</key>
            <integer>1</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>5</integer>
            <key>numberValue</key>
            <integer>11</integer>
            <key>row</key>
            <integer>3</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>0</integer>
            <key>numberValue</key>
            <integer>25</integer>
            <key>row</key>
            <integer>3</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>0</integer>
            <key>numberValue</key>
            <integer>839</integer>
            <key>row</key>
            <integer>1</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>7</integer>
            <key>numberValue</key>
            <integer>2</integer>
            <key>row</key>
            <integer>2</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>7</integer>
            <key>numberValue</key>
            <integer>1</integer>
            <key>row</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>6</integer>
            <key>numberValue</key>
            <integer>4</integer>
            <key>row</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>6</integer>
            <key>numberValue</key>
            <integer>5</integer>
            <key>row</key>
            <integer>2</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>0</integer>
            <key>numberValue</key>
            <integer>571</integer>
            <key>row</key>
            <integer>2</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>0</integer>
            <key>numberValue</key>
            <integer>173</integer>
            <key>row</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>5</integer>
            <key>numberValue</key>
            <integer>12</integer>
            <key>row</key>
            <integer>1</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>6</integer>
            <key>numberValue</key>
            <integer>6</integer>
            <key>row</key>
            <integer>3</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>7</integer>
            <key>numberValue</key>
            <integer>1</integer>
            <key>row</key>
            <integer>1</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>5</integer>
            <key>numberValue</key>
            <integer>10</integer>
            <key>row</key>
            <integer>0</integer>
        </dict>
        <dict>
            <key>column</key>
            <integer>7</integer>
            <key>numberValue</key>
            <integer>2</integer>
            <key>row</key>
            <integer>3</integer>
        </dict>
    </array>
    <key>columnCount</key>
    <integer>8</integer>
    <key>containsComplex</key>
    <false/>
    <key>device name</key>
    <string>[F]</string>
    <key>device type</key>
    <string>TI-83 Plus</string>
    <key>object type</key>
    <string>Matrix</string>
    <key>rowCount</key>
    <integer>15</integer>
</dict>
</plist>

Converting that text (matrix file) is what we’re having trouble with. If anyone can get it, it would be great.
I was also thinking of adding a 9th column to the table for # of balls in their trailer. It’s easy enough to add in the calculator program and it will allow you to get the +/- rating that many teams are using.

What calculator are you using?
92’s or lower?

So far its worked on 83, 83+, 84+, and 86.
I haven’t tried it on mi ti-80 yet :wink:

Would this help to export to a more Excel friendly file?

Looking at the hard code, I could probably pull it off in Excel as-is, but who wants to do any hard-coding nowadays?? LOL
Check out that link, & let me know how you make out!

CellSheet is a standalone app for calculators. I don’t think you can interface it with a normal program. I could be wrong, but the TI lunacy program is already written using a matrix. If it can be re-written to use CellSheet than that’s awesome, but I don’t have the time to figure out how to do that. (Took me long enough to remember how to work with a matrix and display it all nice :D)