Top Banner
Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD
15

Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad) Build.

Dec 31, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

Gwynn Fewell

CCR – COMPUTER CONTROLLED RAILROAD

Page 2: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

PROJECT DEFINITION Use Mobile Devices to run

trains on the CCR (Computer Controlled Railroad) Build on Brice Higlemann’s

2010 Project Create a mobile application

to create a CAB for the trains

Show the state of each train Consider using the

accelerometer Make it for the young and

the young at heart

Page 3: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

PREVIOUS PROJECT

Strenghts Much simpler than original

CAB Adaptable

Weakness Only used on computer Lags between server and

trains Shorts in track lead to

server freeze

Page 4: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

BRICE’S SERVER

Page 5: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

WHAT I DID

Created a TCP Socket to connect to a C# Server

Implemented Brice’s Client in Java Tried Implementation with Accelerometer

Page 6: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

PROBLEMS

Android would crash when reading from Socket

AsyncCallback in C# doesn’t have an implementation in Java

SNC firewall doesn’t like outsiders

Page 7: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

SOLUTIONS

Put Read code inside thread Find a different way to handle data

Create connection upon creation Kill on disconnect or error Read in thread Pass information back to handle the user interface

Talk to IT to create a hole for a specific IP address

Page 8: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

SOLUTION

Page 9: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

STILL NEEDS WORK

Didn’t get the accelerometer working properly

Page 10: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

METHODS

Thread read separate from write and user interface

Same commands as Brice’s Client to match server

Get coordinates on accelerometer (x, y, z)

Page 11: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

STRATEGIES

Great use of developer.android.com resources Class descriptions and sample code

Stackoverflow.com question and answers MSDN C# Reference Professors and other students

Special Thanks to: Dr. McVey, Dr. Pankratz, Joel Rodriguez, Chris Gusman,

and Rob Downard

Brice’s Project from 2010 Trial and Error

Page 12: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

CS CONCEPTS

Sockets extremely important (TCP Connection to server) Help from professors and some concepts

from CS 350 C# language and concepts (CS 350) Threads (CS 350) Classes (CS 350 and CS 205)

Page 13: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

WHAT MORE CAN BE DONE?

Accelerometer – working but not completely

Graphics between tablet and phones

Handling screen twists Cellular service possiblility? Better Client Different OS

Page 14: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

ADVISE

Get right into your project Don’t Procrastinate

Start small and work your way up Meet with the professors and other

students Keep up documentation and blog

throughout Have fun!!GOOD LUCK!!

Page 15: Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.

QUESTIONS??