-
Notifications
You must be signed in to change notification settings - Fork 7
/
README
124 lines (73 loc) · 2.55 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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>