Skip to content
This repository was archived by the owner on Feb 6, 2025. It is now read-only.

Commit 9d9c497

Browse files
authored
Merge pull request #123 from AxisCommunications/sync-20240304-1
sync 20240304 1
2 parents c25dd05 + bf900ea commit 9d9c497

File tree

570 files changed

+25306
-5308
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

570 files changed

+25306
-5308
lines changed

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ source "https://rubygems.org/"
44
# here are only used for local development. Update the versions when needed to
55
# match GitHub Pages, see https://pages.github.com/versions for more info.
66
gem "github-pages", "~> 228"
7-
gem "just-the-docs", "~> 0.7.0"
7+
gem "just-the-docs", "~> 0.8.0"
95.2 KB
Loading

docs/acap-sdk-version-3/develop-applications/vapix-access-for-acap-applications.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
layout: acap_sdk_version_3
33
parent: Develop applications
44
grand_parent: ACAP SDK version 3
5-
title: VAPIX access for ACAP applications - BETA
5+
title: VAPIX access for ACAP applications
66
nav_order: 4
77
---
8-
# VAPIX access for ACAP applications - BETA
8+
# VAPIX access for ACAP applications
99

1010
From AXIS OS 11.6, ACAP applications can acquire VAPIX service account credentials in runtime. With these credentials, the ACAP application can call a local virtual host to make VAPIX requests on the device. A username and a password with high complexity are created for every credential acquisition. These credentials are only valid on the local virtual host (127.0.0.12) and aren't stored in any file. It should only be kept in memory by the ACAP application.
11+
You can jump to the [Vapix](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vapix) example or follow this guide for a more detailed walkthrough.
1112

1213
The following steps show how to get VAPIX credentials in an ACAP application.
1314

docs/api/_setup_apidocs.sh

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,17 @@ replace_acap3_button() {
111111
#-------------------------------------------------------------------------------
112112

113113
# Release settings
114-
apis="axevent axoverlay axserialport axstorage larod licensekey vdostream"
114+
apis="\
115+
axevent \
116+
axoverlay \
117+
axparameter \
118+
axserialport \
119+
axstorage \
120+
larod \
121+
licensekey \
122+
metadata-broker \
123+
vdostream \
124+
"
115125

116126
# Version strings
117127
apiver_minor="${apiver#*.}"

docs/api/beta-api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,8 @@ or in the Beta API example if there is one available.
2525

2626
Feedback on the service and API can be given in the [ACAP Computer Vision SDK
2727
examples](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/issues) issue tracker.
28+
29+
### Metadata Broker API
30+
31+
Feedback on the service and API can be given in the [ACAP Native SDK
32+
examples](https://github.com/AxisCommunications/acap-native-sdk-examples/issues) issue tracker

docs/api/native-sdk-api.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,19 @@ nav_order: 1
99

1010
The ACAP Native SDK provides the following APIs:
1111

12+
<!-- markdownlint-disable MD033 -->
1213
- [Video capture API (VDO)](#video-capture-api-vdo)
1314
- [Machine learning API (Larod)](#machine-learning-api-larod)
1415
- [Overlay API](#overlay-api)
1516
- [Cairo](#cairo)
1617
- [OpenCL](#opencl)
18+
- [Parameter API](#parameter-api)
1719
- [Event API](#event-api)
1820
- [Edge storage API](#edge-storage-api)
1921
- [License Key API](#license-key-api)
2022
- [FastCGI](#fastcgi)
2123
- [Serial port API](#serial-port-api)
24+
- [Metadata Broker API](#metadata-broker-api) <a class="label label-blue">BETA</a>
2225

2326
## Compatibility
2427

@@ -187,6 +190,74 @@ The OpenCL 1.2 was introduced in Native SDK 1.0.
187190
- [vdo-opencl-filtering](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-opencl-filtering/)
188191
- This example illustrates how to capture frames from the vdo service, access the received buffer, and finally perform a GPU accelerated Sobel filtering with OpenCL.
189192

193+
## Parameter API
194+
195+
Go to the [ACAP API Documentation](src/api/axparameter/html/index.html) for
196+
detailed functional descriptions of this API.
197+
198+
The AXParameter C library provides the following functionality:
199+
200+
- Read and modify **application parameters** stated in `manifest.json`.
201+
- Add and remove **application parameters** in C code, in addition to the ones
202+
already defined in `manifest.json`.
203+
- Set up **callbacks** so the application can act immediately on changes made
204+
to the **application parameters** via the
205+
[application settings web page](#application-settings-web-page) or VAPIX.
206+
- Read **system parameters**.
207+
208+
**Application parameters** have the following properties:
209+
210+
- They are preserved when an application is restarted or upgraded.
211+
- They are preserved when the device is restarted and when firmware is upgraded.
212+
- They are displayed and possible to set in the
213+
[application settings web page](#application-settings-web-page).
214+
- They can be read and modified using VAPIX API
215+
[param.cgi](https://www.axis.com/vapix-library/subjects/t10175981/section/t10036014/display).
216+
217+
> The application parameters are **not private** to the application, they can
218+
> be:
219+
>
220+
> - *read* via VAPIX by a user with `operator` privileges.
221+
> - *read* and *modified* via VAPIX by a user with `admin` privileges.
222+
> - *read* and *modified* by another application if the application users belongs
223+
> to the same group.
224+
225+
### Application settings web page
226+
227+
The application settings web page can be used to modify **application
228+
parameters**.
229+
230+
In the Axis device web page:
231+
232+
- Go to *Apps* tab
233+
- Open the application options
234+
- Click *Settings* to open a dialog where parameters can be set
235+
236+
Note that a reload of the web page is required to display values set from C code
237+
or VAPIX.
238+
239+
### Compatibility
240+
241+
The Parameter API supports products with the following chips:
242+
243+
- ARTPEC-8
244+
- ARTPEC-7
245+
- ARTPEC-6
246+
- Ambarella CV25
247+
- Ambarella S5L
248+
- Ambarella S5
249+
- i.MX 6SoloX
250+
- i.MX 6ULL
251+
252+
### Version history
253+
254+
The Parameter API was introduced in Native SDK 1.13.
255+
256+
### Code Examples
257+
258+
- [axparamter](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axparamter)
259+
- An example in C that demonstrates how to manage application-defined parameters, allowing you to add, remove, set, get, and register callback functions for parameter value updates.
260+
190261
## Event API
191262

192263
Go to the [ACAP API Documentation](src/api/axevent/html/index.html) for detailed functional descriptions of this API.
@@ -358,3 +429,33 @@ The Serial port API was introduced in Native SDK 1.11.
358429
- Enabling the serial port.
359430
- Configuring parameters using the API.
360431
- Establishing communication between two available ports in the Axis product using GLib IOChannel methods.
432+
433+
## Metadata Broker API
434+
435+
> This API is a [Beta version](./beta-api) and developers are encouraged to test and leave feedback.
436+
437+
Go to the [ACAP API Documentation](src/api/metadata-broker/html/index.html) for detailed
438+
functional descriptions of this API.
439+
440+
The Metadata Broker API allows an ACAP application to consume metadata from
441+
a producer in AXIS OS by subscribing to a `topic`.
442+
443+
The API implements the Publish/Subscribe messaging paradigm.
444+
445+
### Compatibility
446+
447+
The Metadata Broker API supports products with the following chips:
448+
449+
- ARTPEC-8
450+
- ARTPEC-7
451+
- Ambarella CV25
452+
453+
### Version history
454+
455+
The Metadata Broker API was introduced in Native SDK 1.13.
456+
457+
### Code Examples
458+
459+
- [analytics-scene-description-example](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/metadata-broker/consume-analytics-scene-description)
460+
- The example is written in C and shows how to consume metadata stream
461+
**Analytics Scene Description**.

docs/api/src/api/axevent/html/ax__event_8h.html

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
22
<html xmlns="http://www.w3.org/1999/xhtml">
33
<head>
44
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
55
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6-
<meta name="generator" content="Doxygen 1.8.13"/>
6+
<meta name="generator" content="Doxygen 1.9.1"/>
77
<meta name="viewport" content="width=device-width, initial-scale=1"/>
88
<title>AXEvent: ax_event.h File Reference</title>
99
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
1313
<script type="text/javascript" src="resize.js"></script>
1414
<script type="text/javascript" src="navtreedata.js"></script>
1515
<script type="text/javascript" src="navtree.js"></script>
16-
<script type="text/javascript">
17-
$(document).ready(initResizable);
18-
</script>
1916
<link href="doxygen.css" rel="stylesheet" type="text/css" />
2017
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
2118
</head>
@@ -35,14 +32,15 @@
3532
</table>
3633
</div>
3734
<!-- end header part -->
38-
<!-- Generated by Doxygen 1.8.13 -->
35+
<!-- Generated by Doxygen 1.9.1 -->
3936
<script type="text/javascript" src="menudata.js"></script>
4037
<script type="text/javascript" src="menu.js"></script>
4138
<script type="text/javascript">
39+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
4240
$(function() {
4341
initMenu('',false,false,'search.php','Search');
4442
});
45-
</script>
43+
/* @license-end */</script>
4644
<div id="main-nav"></div>
4745
</div><!-- top -->
4846
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -56,7 +54,9 @@
5654
</div>
5755
</div>
5856
<script type="text/javascript">
59-
$(document).ready(function(){initNavTree('ax__event_8h.html','');});
57+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
58+
$(document).ready(function(){initNavTree('ax__event_8h.html',''); initResizable(); });
59+
/* @license-end */
6060
</script>
6161
<div id="doc-content">
6262
<div class="header">
@@ -84,19 +84,19 @@
8484
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
8585
Functions</h2></td></tr>
8686
<tr class="memitem:a49ef3926134d564b32e976d7d7576c81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ax__event_8h.html#a49ef3926134d564b32e976d7d7576c81">__attribute__</a> ((deprecated)) <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33">AXEvent</a> *ax_event_new(<a class="el" href="ax__event__key__value__set_8h.html#a1c3eb1e83ed9837e00682a8d3f1ac2e0">AXEventKeyValueSet</a> *key_value_set</td></tr>
87-
<tr class="memdesc:a49ef3926134d564b32e976d7d7576c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events. ">AXEvent</a>. <a href="#a49ef3926134d564b32e976d7d7576c81">More...</a><br /></td></tr>
87+
<tr class="memdesc:a49ef3926134d564b32e976d7d7576c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events.">AXEvent</a>. <a href="ax__event_8h.html#a49ef3926134d564b32e976d7d7576c81">More...</a><br /></td></tr>
8888
<tr class="separator:a49ef3926134d564b32e976d7d7576c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
8989
<tr class="memitem:a788775473fa91f3503b42616c7626e2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33">AXEvent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ax__event_8h.html#a788775473fa91f3503b42616c7626e2b">ax_event_new2</a> (<a class="el" href="ax__event__key__value__set_8h.html#a1c3eb1e83ed9837e00682a8d3f1ac2e0">AXEventKeyValueSet</a> *key_value_set, GDateTime *time_stamp)</td></tr>
90-
<tr class="memdesc:a788775473fa91f3503b42616c7626e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events. ">AXEvent</a>. <a href="#a788775473fa91f3503b42616c7626e2b">More...</a><br /></td></tr>
90+
<tr class="memdesc:a788775473fa91f3503b42616c7626e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events.">AXEvent</a>. <a href="ax__event_8h.html#a788775473fa91f3503b42616c7626e2b">More...</a><br /></td></tr>
9191
<tr class="separator:a788775473fa91f3503b42616c7626e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
9292
<tr class="memitem:a011c2d3b82c8e9cbcf0fab02610a5020"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ax__event_8h.html#a011c2d3b82c8e9cbcf0fab02610a5020">ax_event_free</a> (<a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33">AXEvent</a> *event)</td></tr>
93-
<tr class="memdesc:a011c2d3b82c8e9cbcf0fab02610a5020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an <code>AXEvent</code>. <a href="#a011c2d3b82c8e9cbcf0fab02610a5020">More...</a><br /></td></tr>
93+
<tr class="memdesc:a011c2d3b82c8e9cbcf0fab02610a5020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an <code>AXEvent</code>. <a href="ax__event_8h.html#a011c2d3b82c8e9cbcf0fab02610a5020">More...</a><br /></td></tr>
9494
<tr class="separator:a011c2d3b82c8e9cbcf0fab02610a5020"><td class="memSeparator" colspan="2">&#160;</td></tr>
9595
<tr class="memitem:abc27a691c703d11563ef0b0f338fc775"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ax__event__key__value__set_8h.html#a1c3eb1e83ed9837e00682a8d3f1ac2e0">AXEventKeyValueSet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ax__event_8h.html#abc27a691c703d11563ef0b0f338fc775">ax_event_get_key_value_set</a> (<a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33">AXEvent</a> *event)</td></tr>
96-
<tr class="memdesc:abc27a691c703d11563ef0b0f338fc775"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <code>AXEventKeyValueSet</code> associated with the <code>AXEvent</code>. <a href="#abc27a691c703d11563ef0b0f338fc775">More...</a><br /></td></tr>
96+
<tr class="memdesc:abc27a691c703d11563ef0b0f338fc775"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <code>AXEventKeyValueSet</code> associated with the <code>AXEvent</code>. <a href="ax__event_8h.html#abc27a691c703d11563ef0b0f338fc775">More...</a><br /></td></tr>
9797
<tr class="separator:abc27a691c703d11563ef0b0f338fc775"><td class="memSeparator" colspan="2">&#160;</td></tr>
9898
<tr class="memitem:a37fcd4106a9ed74e315bbbec24c941fa"><td class="memItemLeft" align="right" valign="top">GDateTime *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ax__event_8h.html#a37fcd4106a9ed74e315bbbec24c941fa">ax_event_get_time_stamp2</a> (<a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33">AXEvent</a> *event)</td></tr>
99-
<tr class="memdesc:a37fcd4106a9ed74e315bbbec24c941fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the time stamp associated with the <code>AXEvent</code>. <a href="#a37fcd4106a9ed74e315bbbec24c941fa">More...</a><br /></td></tr>
99+
<tr class="memdesc:a37fcd4106a9ed74e315bbbec24c941fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the time stamp associated with the <code>AXEvent</code>. <a href="ax__event_8h.html#a37fcd4106a9ed74e315bbbec24c941fa">More...</a><br /></td></tr>
100100
<tr class="separator:a37fcd4106a9ed74e315bbbec24c941fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
101101
</table><table class="memberdecls">
102102
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
@@ -128,7 +128,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a49ef3926134d564b32e976d7
128128
</table>
129129
</div><div class="memdoc">
130130

131-
<p>Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events. ">AXEvent</a>. </p>
131+
<p>Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events.">AXEvent</a>. </p>
132132
<p>Get the time stamp associated with the <code>AXEvent</code>.</p>
133133
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>This function has been deprecated. Use ax_event_new2 instead.</dd></dl>
134134
<dl class="params"><dt>Parameters</dt><dd>
@@ -176,7 +176,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a788775473fa91f3503b42616
176176
</table>
177177
</div><div class="memdoc">
178178

179-
<p>Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events. ">AXEvent</a>. </p>
179+
<p>Creates a new <a class="el" href="ax__event_8h.html#a06778bcedc5cf3aaba11d40fba6bef33" title="The AXEvent is an opaque data type required to send and receive events.">AXEvent</a>. </p>
180180
<dl class="params"><dt>Parameters</dt><dd>
181181
<table class="params">
182182
<tr><td class="paramname">key_value_set</td><td>An <code>AXEventKeyValueSet</code>. </td></tr>
@@ -211,8 +211,9 @@ <h2 class="memtitle"><span class="permalink"><a href="#a011c2d3b82c8e9cbcf0fab02
211211
</table>
212212
</dd>
213213
</dl>
214-
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="ax_event_subscription_example_8c-example.html#a3">ax_event_subscription_example.c</a>.</dd>
214+
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="ax_event_subscription_example_8c-example.html#a3">ax_event_subscription_example.c</a>.</dd>
215215
</dl>
216+
216217
</div>
217218
</div>
218219
<a id="abc27a691c703d11563ef0b0f338fc775"></a>
@@ -239,8 +240,9 @@ <h2 class="memtitle"><span class="permalink"><a href="#abc27a691c703d11563ef0b0f
239240
</dd>
240241
</dl>
241242
<dl class="section return"><dt>Returns</dt><dd>The <code>AXEventKeyValueSet</code> associated with the <code>AXEvent</code>. </dd></dl>
242-
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="ax_event_subscription_example_8c-example.html#a0">ax_event_subscription_example.c</a>.</dd>
243+
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="ax_event_subscription_example_8c-example.html#a0">ax_event_subscription_example.c</a>.</dd>
243244
</dl>
245+
244246
</div>
245247
</div>
246248
<a id="a37fcd4106a9ed74e315bbbec24c941fa"></a>

0 commit comments

Comments
 (0)