LibMCP  0.1.0
API to control MCPnet
Basic Overview

LibMCP is an API to communicate with - and control the MEKRA Camera Platform (MCPnet). The communication is based on the SOME/IP protocol and implemented according to ISO 17215 part 1-3. Its core features are:

  • Automatically detect connected cameras via SOME/IP OfferService
  • Automatically detect when a camera has been disconnected
  • Start the cameras video stream by subscribing to a specific ROI index
  • Stop the cameras video stream by unsubscribing
  • Request the cameras datasheet (device identification, number of ROIs, ...)
  • Request the cameras status (power status, temperature, ...)
  • Adjust image settings (brightness, saturation, gamma, ...)
  • Enable / disable heating manually or automatically
  • Open / close shutter manually or automatically

Getting Started

The safest bet is to get started by building LibMCP - there might be prebuilt libraries to access within this repository but those are depending on both platform and compiler.

Prerequisites

To build this library you will need the following packages / libs:

  • C++ compiler (> C++11)
  • CMake (> version 3.10)
  • Poco C++ Libraries - see Installing Poco C++
  • Doxygen for building the documentation (optional + Graphviz)

All of these need to be set up in your environment. For windows you might want to use the "Developer Command Prompt for VS 20XX" or set up your environment with vcvarsall.bat.

Building

See Building LibMCP for a guide on how to build LibMCP with CMake on both Linux and Windows.

Using

First see Including LibMCP for a quick guide on how to include LibMCP in your own project. For guides on how to use the API:

  • See the examples in libmcp/examples which are built by default to libmcp/build/examples.
  • See the API documentation in libmcp/build/docs/doc/html/index.html.

License

This project is licensed under the Mozilla Public License Version 2.0 - see the LICENSE file for details.

Versioning

We use SemVer for versioning. The current version is stored in the base CMakeLists.txt.

Acknowledgments & Sources

A list of all used libraries / projects is given below.