eevLark

eevLark runs Python-like Starlark scripts to configure, control, and monitor EEVideo cameras—registers, I2C, stream start/stop, and capture. MIT-licensed Go binaries for PC and embedded hosts.

eevLark — Starlark scripting utility for EEVideo devices
Category
Open Source
Type
Scripting utility
Language
Go · Starlark
License
MIT

eevLark is a command-line utility that executes Python-like Starlark scripts to configure, control, and monitor EEVideo cameras. It is written in Go, offered under the MIT License, and available as pre-compiled binaries for several OS and processor combinations—useful for lab automation and for running the same scripts on embedded SoC hosts.

eevLark is built on the goEEVideo libraries and uses device files produced by eeVid discovery (eevid disc).

Documentation and downloads

Prerequisite: discovery

Install and run eeVid discovery first so device YAML files exist under devices/. eevLark uses those files to open a session with the target camera. If multiple devices are present, select one with --deviceName / --devicePath or eevconfig.yaml.

Script capabilities

eevLark extends Starlark with EEVideo-specific builtins, including:

  • init_device — load a discovered device file and open communication
  • read_register / write_register — named register access
  • read_i2c / read_i2c_addr / write_i2c — sensor and peripheral access
  • stream_start / stream_stop / stream_capture — stream control and frame capture
  • sleep / keyboard — timing and interactive control

Example releases ship sample scripts under a scripts/ directory for register tests and capture sequences.

Why Go

eevLark is written in Go (executing Starlark scripts) so automation runs as a single portable binary on PCs and embedded hosts:

  • Free compiler — the Go toolchain is free, open, and straightforward to install for development
  • Cross-platform builds — one codebase targets Linux, Windows, macOS, and common CPU architectures
  • Wide industry use — Go is proven in cloud, networking, and infrastructure software
  • No runtime install for end users — pre-compiled binaries run as native executables; operators do not need Python, a language runtime, or a package manager to run scripts
  • Strong networking performance — concurrency and I/O model suit register access, I2C control, and stream automation over Ethernet
  • High-quality libraries — mature standard library and ecosystem packages for networking, CLI apps, and scripting hosts
  • High adoption among developers — easier hiring, reviews, and community support when you extend automation
  • Well understood by AI coding tools — high model comprehension of Go code makes porting logic to other languages or generating wrappers more reliable
Tecphos circuit board with image sensor

Have an imaging project in mind?

Whether you need FPGA development, a custom video interface, or help with a difficult imaging problem — we are ready to help.

How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help? How Can We Help?