ccr (computer controlled railroad)
DESCRIPTION
CCR (COMPUTER CONTROLLED RAILROAD). A Senior Capston e Project by Brice Hilgemann. Project Description. Design and implement interfaces for the CCR that campus visitors can use to control trains. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/1.jpg)
CCR(COMPUTER CONTROLLED
RAILROAD)
A Senior Capstone Project byBrice Hilgemann
![Page 2: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/2.jpg)
Project DescriptionDesign and implement interfaces for the CCR that campus visitors can use to control trains.
General Requirements: 1. Allow PC control of the railroad 2. Consider multiple interfaces including: a. PC (mouse/keyboard) b. Mobile devices c. Wireless devices 3. Interfaces must be easy to use 4. Provide visual feedback and log states 5. Develop a simplified operating system that handles multiple trains and prevents collisions
![Page 3: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/3.jpg)
Initial Thoughts/Strategy• Get familiar with hardware• Understanding previous code and methods• Utilize as much previous work as possible• Implement OS principles/strategy from CS370
▫ Asynch sockets over Pipes?▫ Monitors in C#
• Dynamic and multi-user• Powerful and reliable
• Time to diagram, document, and theorize
![Page 4: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/4.jpg)
My Implementation• Server/Client Design
• Server Functions▫ Communicate with ‘Blackbox’▫ Adding Trains▫ Deleting Trains▫ Prevent Collisions
• Client Functions▫ Connect to Server▫ Send requests to Server
• Asynch Sockets! (Threading) RAILROAD
SERVER
CLIENTCLIENT
CLIENT
Sockets
Serial/USB
![Page 5: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/5.jpg)
Client DesignDiagram:In Practice:
![Page 6: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/6.jpg)
Server Design• Diagram:• In Action:
![Page 7: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/7.jpg)
Current Work/Immediate Plan• Repair railroad segments
▫ Perform other maintenance• Test out newer ‘Blackbox’• Rewrite Kratz’s code to work in C# form
▫ Move to newer DCC commands• Finalize acquisition of track and movement• Perfect blocking system• Implement regulation of train additions, deletions• Finalize protocol between Client and Server
▫ Requests and train updates
• Potential changes to Client Interface• Document and continue testing
![Page 8: CCR (COMPUTER CONTROLLED RAILROAD)](https://reader035.vdocuments.mx/reader035/viewer/2022062410/56816515550346895dd794e2/html5/thumbnails/8.jpg)
Assistance• Better representation of turnouts on client?• Ability to see full track layout on client?• Mobile device extensions?
• More features?• Concerns?
Questions?