How oresat/oresat-star-tracker-software works
OreSat Star Tracker is an OLAF/CANopen application that captures camera images, optionally filters or saves them, and estimates spacecraft attitude with LOST for reporting over the service object dictionary and CAN TPDOs. Its development web page exposes a Flask-based integration surface. A separate Python wrapper supports generating LOST databases. The main capture-to-attitude path is visible in the service and native binding excerpts; broader OLAF and CANopen internals are external dependencies.
Main entry points: star_tracker_service.py Tracker service · __main__.py App entry point · camera.py Camera driver · _lost_core.cpp LOST estimate binding
Components 17
App runtime
- App entry point
oresat_star_tracker/__main__.py - Tracker service
oresat_star_tracker/star_tracker_service.py - Development page
oresat_star_tracker/templates/star_tracker.html
Image acquisition
- Camera driver
oresat_star_tracker/camera.py - Bayer demosaicing
oresat_star_tracker/camera.py - Mock image resources
oresat_star_tracker/data
Attitude solving
- LOST estimate binding
oresat_star_tracker/_lost_core.cpp - Star catalog
oresat_star_tracker/data/bright-star-catalog.tsv - LOST solve database
oresat_star_tracker/data/py-database.dat - Database generation wrapper
oresat_star_tracker/lost/wrapper.py - Database configurations
oresat_star_tracker/lost/types.py
Integration and data
- Attitude outputs
oresat_star_tracker/star_tracker_service.py - Capture file cache
oresat_star_tracker/star_tracker_service.py
Other components
- Operator
- AR013x device
- OLAF / CANopen
- LOST CLI
Connections 17
- Operator → App entry point: starts app
README.md - App entry point → Tracker service: registers service
oresat_star_tracker/__main__.py - App entry point → Development page: registers template
oresat_star_tracker/__main__.py - App entry point → OLAF / CANopen: runs framework
oresat_star_tracker/__main__.py - Tracker service → Camera driver: captures images
oresat_star_tracker/star_tracker_service.py - Camera driver → AR013x device: reads frames
oresat_star_tracker/camera.py - Camera driver → Bayer demosaicing: demosaics frames
oresat_star_tracker/camera.py - Camera driver → Mock image resources: loads mock frames
oresat_star_tracker/camera.py - Tracker service → LOST estimate binding: estimates attitude
oresat_star_tracker/star_tracker_service.py - LOST estimate binding → Star catalog: loads catalog
oresat_star_tracker/_lost_core.cpp - LOST estimate binding → LOST solve database: solves against
oresat_star_tracker/_lost_core.cpp - Tracker service → Attitude outputs: updates orientation
oresat_star_tracker/star_tracker_service.py - Tracker service → OLAF / CANopen: sends TPDOs
oresat_star_tracker/star_tracker_service.py - Tracker service → Capture file cache: caches captures
oresat_star_tracker/star_tracker_service.py - Operator → Development page: views development page
README.md - Database configurations → Database generation wrapper: configures generation
oresat_star_tracker/lost/wrapper.py - Database generation wrapper → LOST CLI: runs command
oresat_star_tracker/lost/wrapper.py