gxci 0.3.7

A safe raw-and-HAL camera interface based on Daheng-Image's GxIAPI(Galaxy Camera SDK)
Documentation
<p align="center" dir="auto">
    <img style="height:240px;width:240px"  src="https://s2.loli.net/2024/09/08/uDKESYW7ks9eRyf.png" alt="Logo逃走啦~"/>
</p>

<h1 align="center" tabindex="-1" class="heading-element" dir="auto">GXCI</h1>

<p align="center">
  <a href="https://crates.io/crates/gxci" target="_blank"><img src="https://img.shields.io/crates/v/gxci"/></a>
  <a href="https://docs.rs/gxci" target="_blank"><img src="https://img.shields.io/docsrs/gxci/0.3.7"/></a>
  <a href="https://github.com/islatri/gxci" target="_blank"><img src="https://img.shields.io/badge/License-MIT-green.svg"/></a>
</p>

<p align="center">
    Rust-based safe interface development for Daheng Industrial Camera GxIAPI
</p>

<hr />

# Now, the document site is available!


1. English: [https://hakochest.github.io/gxci-en/]https://hakochest.github.io/gxci-en/
2. 中文: [https://hakochest.github.io/gxci-cn/]https://hakochest.github.io/gxci-cn/

# Quick Start

1. Ensure you have OpenCV Rust Bindings installed, if not, you can see the [crates page's README]https://crates.io/crates/gxci
2. Ensure your camera version is supported by the GxIAPI SDK,and ensure you have installed the GxIAPI SDK.

# HAL Part

There five main modules in the HAL: base, device, config, event and network. 

But until 0.3, the event and network module are not implemented.

# RAW Part

The RAW part in GXCI is all-safety, with LazyLock-Arc-Mutex-Option. And you can find the unsafe static mut implementation in the precious lib called [gxi_hako](https://crates.io/crates/gxi_hako), which is a deprecated RAW-only version of GXCI.

# Utils Part

Just the builder pattern and facade pattern, they are friendly to debug.