OCAIS hardware simulation prototype
Sixpicker Camera & Scanner Simulation
Software Engineer Intern
January 2025
Developed a simulation mode for Sixpicker’s card-capture workflow during my OCAIS internship, so development could exercise hardware-facing behavior through software test doubles.
THE BRIEF
What needed to be built.
Camera, scanner, and hardware dependencies make capture workflows difficult to exercise during software development. The simulation needed to fit the existing scanning and image-transfer pipeline.
MY CONTRIBUTIONS
My contribution.
Simulation design
- Built six test doubles for scanner, camera control, Ethernet communication, inventory, storage, and API dependencies.
- Simulated scans and camera capture/save states with fixture images and configurable camera selection.
- Refactored hardware communication to use an injected communicator, allowing simulation and real hardware to share the same workflow.
Testing & integration
- Developed six corresponding unit-test files with Python unittest and unittest.mock, and documented the configuration needed to run the simulation.
- Integrated hardware simulation into the existing pipeline of threads, queues, locks, and processes so developers could exercise capture workflows with test doubles.
THE RESULT
Hardware workflows made testable through simulation.
Developed a simulation mode covering six hardware and service dependencies, with unit-test files and fixture images. The prototype made capture and communication behavior testable without requiring the complete physical setup.