cam 0.1.1

Pure Rust library to control and monitor DSLR or mirrorless cameras
Documentation
  • Coverage
  • 0%
    0 out of 2 items documented0 out of 1 items with examples
  • Size
  • Source code size: 3.3 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 19.6 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 6s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • evoth

cam

(Coming soon) Pure Rust library to control and monitor DSLR or mirrorless cameras

v1.0 Roadmap

  • Packet serialization/deserialization
    • Define Pack trait for packing/unpacking binary fields
    • Procedural derive macro for Pack
    • Special structs for variants and length-notated containers
    • Macros for easy creation of enum variants
  • PTP/IP transport implementation
    • Opening/closing connections
    • Transactions
  • Minimal PTP implementation
    • Operations
    • Opening/closing sessions
    • Basic DeviceInfo support
  • Event system and error handling
  • Vendor-specific extensions/logic
    • Canon
      • Discovery
      • Connection
      • Trigger shutter
      • Change settings
      • Notification of settings changes
      • Notification of new image
      • Ability to download image
      • Live preview
    • Sony
      • Discovery
      • Connection
      • Trigger shutter
      • Change settings
      • Notification of settings changes
      • Notification of new image
      • Ability to download image
      • Live preview
    • Nikon
      • Discovery
      • Connection
      • Trigger shutter
      • Change settings
      • Notification of settings changes
      • Notification of new image
      • Ability to download image
      • Live preview

Beyond v1.0

  • Additional protocols
    • PTP/USB
    • Bluetooth
    • HTTP APIs
    • Infrared and shutter release?
  • Additional brands (Fujifilm, Panasonic) and specific camera lines/models
  • GUI integration (via Tauri or similar)
  • Advanced features like touch-to-focus, additional settings, gallery view, etc.