Skip to content

Commit

Permalink
Prepare for initial release (#32)
Browse files Browse the repository at this point in the history
This makes some updates to prepare for the first release of this driver.
Specifically it

- adds a changelog with the unreleased major features included so far;
- updates the README to include important installation, usage, and
development instructions;
- logs the spinnaker version on driver construction to help with
debugging version incompatibility issues.

Note that it does not actually create a release yet. Instead I plan to
create a PR that only modifies the CHANGELOG, then merge that into a
single commit with an associated version tag.

Partially addresses #31
  • Loading branch information
andy-sweet authored Sep 29, 2023
1 parent b23de89 commit 1e32020
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 5 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

### Added

- Initial support for the Oryx [ORX-10GS-51S5M-C](https://www.flir.com/products/oryx-10gige/?model=ORX-10GS-51S5M-C&vertical=machine+vision&segment=iis) 10GigE camera ([#18](https://github.com/acquire-project/acquire-driver-spinnaker/pull/18))
- Initial support for the Blackfly [BFLY-U3-23S6M-C](https://www.flir.com/products/blackfly-usb3/?model=BFLY-U3-23S6M-C&vertical=machine+vision&segment=iis) USB3 camera ([#4](https://github.com/acquire-project/acquire-driver-spinnaker/pull/4)).
79 changes: 74 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,79 @@
# Acquire Driver for Spinnaker
# Acquire driver for Spinnaker

This is an acquire driver that supports some Teledyne FLIR cameras using the Spinnaker SDK.
This is an Acquire driver that supports some Teledyne FLIR cameras using the Spinnaker SDK.

## Supported devices
## Usage

### Camera
The intended way to use this library is as part of the [acquire-imaging](https://github.com/acquire-project/acquire-python)
Python package, which also includes Acquire's runtime as well as other drivers.

That package can be installed using the following command in an environment with Python and `pip`.

```
python -m pip install acquire-imaging
```

### Prerequisites

Before using this driver you must install the [Spinnaker SDK](https://www.flir.com/products/spinnaker-sdk/?vertical=machine+vision&segment=iis).
This driver is built against version 3.1.0.79 of the SDK and you should install exactly the same version.

### Supported cameras

The following cameras have been tested using this driver.

- [Blackfly USB3: BFLY-U3-23S6M-C](https://www.flir.com/products/blackfly-usb3/?model=BFLY-U3-23S6M-C&vertical=machine+vision&segment=iis)
- [Oryx 10GigE: ORX-10GS-51S5M-C](https://www.flir.com/products/oryx-10gige/?model=ORX-10GS-51S5M-C&vertical=machine+vision&segment=iis)
- [Oryx 10GigE: ORX-10GS-51S5M-C](https://www.flir.com/products/oryx-10gige/?model=ORX-10GS-51S5M-C&vertical=machine+vision&segment=iis)

### Supported operating systems

Windows is the primary usage target.
But both Windows and macOS are currently supported for development purposes.

## Development

We welcome contributors. The following will help you get started building the code.

### Environment

Requires

- CMake 3.13+ from its [download page](https://cmake.org/download/), or via
[chocolatey](https://community.chocolatey.org/packages/cmake) or [homebrew](https://formulae.brew.sh/formula/cmake).
- A C++20 compiler such as [Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/) or [Clang](https://clang.llvm.org/).


### Configure

From the repository root, run the following commands to configure the CMake build files.

```
mkdir build
cd build
cmake ..
```

### Build

After configuration, run the following command to build the library and tests.

```
cmake --build .
```

### Test

After building the default debug configuration, run the following command to run all the tests using CTest.

```
ctest -C Debug
```

You will need all supported cameras connected to the device that you're testing on for all tests to pass.

If you only want to run a subset of the tests you can use CTest's `-R` option to specify a pattern to match against.
For example, if you only want to run the oryx tests, run the following command.

```
ctest -C Debug -R oryx
```
6 changes: 6 additions & 0 deletions src/spinnaker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1134,6 +1134,12 @@ SpinnakerDriver::SpinnakerDriver()
},
system_(Spinnaker::System::GetInstance())
{
Spinnaker::LibraryVersion version = system_->GetLibraryVersion();
LOG("Spinnaker version %d.%d.%d.%d",
version.major,
version.minor,
version.type,
version.build);
}

SpinnakerDriver::~SpinnakerDriver()
Expand Down

0 comments on commit 1e32020

Please sign in to comment.