Repository Structure - Team5818/vision-2017 GitHub Wiki

/server

The primary code package. It's a python module, and is imported by main.py to start the server.

/server/dataclasses

Python module containing types shared by the rest of the server. ConfigMode chooses the camera, Configuration holds the camera threshold information, and MJImage wraps the opencv2 image data. I don't know why it's called MJImage...

/server/protos

Automatically generated protobuf files. The __init__.py file handles exporting only what we need.

/server/test

Leftover test code ensuring that all the protocol handling works properly.

/server/visionproc

Holds the code for the Vision Processing Process.

/server/init.py

The primary server code. See Vision Server for more information.

/server/socketutil.py

Simple socket utilities for reading, writing, and waiting on sockets.

/server/vision.py

The camera capture process. Takes pictures and sends them to the Vision Processing Process.

/{cam.css,cam.html}

Unused content from the old HTTP server.

/gen-proto.sh

Calls protobuf to generate the packet protocols. Use after updating packet.proto.

/main.py

Starts the TCP server, vision processing, and camera capture processes.

/packet.proto

Wire protocol, see Vision Protocol.

/requirements.txt

pip requirements file.

/run_tests.sh

Runs tests 😜.