GithubHelp home page GithubHelp logo

walter1604 / ccs-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mipi-alliance/ccs-tools

0.0 0.0 0.0 63 KB

CCS Tools

License: BSD 3-Clause "New" or "Revised" License

Shell 4.03% Perl 38.40% C 56.82% Makefile 0.75%

ccs-tools's Introduction

Copyright (C) 2020 MIPI Alliance
Copyright (C) 2019--2020 Intel Corporation
SPDX-License-Identifier: BSD-3-Clause

Introduction
------------

This repository contains tools and reference libraries for converting, parsing
and otherwise working with the CCS static data format first defined in MIPI CCS
1.1 specification [1].


Noteworthy files in this repository
-----------------------------------

LICENSE

	The three-clause BSD license under which the CCS tools are licensed.

ccs-static-data-yaml-format.txt

	Specification of the CCS static data YAML-based format.

ccs-yaml-to-bin

	A Perl script for converting the YAML-based CCS static data to the
	binary format that can be parsed by the parser library.

ccs-data.c, ccs-data.h

	The CCS static data reference parser.

ccs-bin-to-yaml.c

	An example of a program that uses the ccs-data reference parser.
	Also a C program that converts binary CCS static data into
	YAML-based format.

ccs-regs.asc

	Definitions of CCS standard registers.

mk-ccs-regs, mk-licenses

	Scripts for producing C header and source code files from ccs-regs.asc
	and files in "licenses" directory. The script also produces a C array
	and header for reading the limit and capability information in drivers.

licenses

	The directory where the CCS static data licenses are maintained.

examples

	Examples of CCS static data files in YAML format.


Requirements
------------

- GCC 4.1 or later

- GNU make

- GNU binutils

- Perl 5.24.1 or later (older versions probably work as well) and Digest::CRC,
  Scalar::Util and YAML::Tiny Perl modules

- shunit2 (for tests)

In e.g. Debian GNU/Linux these can be installed using the following command as
root:

	# apt-get install make binutils gcc libyaml-tiny-perl \
	  libdigest-crc-perl shunit2


Compilation
-----------

Run

	$ make

in order to compile the CCS tools.


Usage
-----

Use "--help" option on ccs-bin-to-yaml and ccs-yaml-to-bin to see detailed
usage instructions.

Both programs are currently run from the workspace top directory.


Examples
--------

Convert YAML based CCS sensor specific static data for use as a sensor static
data file:

	$ ./ccs-yaml-to-bin -s -o ccs-sensor-VVVV-DDDD-RRRR.fw \
		ccs-sensor-VVVV-DDDD-vvvv.yaml

Convert YAML based CCS module specific static data for use as a module static
data file:

	$ ./ccs-yaml-to-bin -m -o ccs-module-VVVV-DDDD-RRRR.fw
		ccs-module-VVVV-DDDD-vvvv.yaml

In both of the above examples,

	VVVV		Vendor ID
	DDDD		Device ID
	vvvv		Version number


References
----------

[1] MIPI Camera Command Set.
    <URL:https://mipi.org/specifications/camera-command-set>

ccs-tools's People

Contributors

bewimm avatar hverkuil avatar lauranixon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.