Skip to content
This repository was archived by the owner on Feb 6, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 18 additions & 6 deletions .textlintrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
"rules": {
"terminology": {
"defaultTerms": true,
// Syntax elements to skip, e.g. Link, Table etc. Overrides the default
// that doesn't check blockquotes, we want to check everything.
"skip": [""],
"exclude": [
"bug[- ]fix(es)?",
"walk-through",
Expand All @@ -14,20 +17,29 @@
["bug[-]fix(es)?", "bug fix$1"],
["bugfix(es)?", "bug fix$1"],
["walkthrough", "walk-through"],
["readme", "README"],
["readme['’:]?(s)?", "README$1"],
["ax(is)?[ ]?os", "AXIS OS"],
["artpec[-_ ]?(\\d+)?", "ARTPEC-$1"],
["vapix", "VAPIX"],
"ACAP application",
"ACAP app",
"VAPIX",
"ACAP documentation",
"ACAP Native SDK",
"ACAP SDK",
["acap app(lication)?(s)?", "ACAP app$1$2"],
["ACAPs", "ACAP applications"], // Note that it doesn't cover single
// use of ACAP instead of ACAP app or
// ACAP application
["acap", "ACAP"],
["yolo", "YOLO"],
"ACAP",
"EAP",
"RGB",
"YUV",
["dlpu['’:]?(s)?", "DLPU$1"],
["cpu['’:]?(s)?", "CPU$1"],
["gpu['’:]?(s)?", "GPU$1"],
["tpu['’:]?(s)?", "TPU$1"],
["cgi['’:]?(s)?", "CGI$1"],
["soc['’:]?(s)?","SoC$1"],
["system(-| )on(-| )(a-|a )?chip(s)?", "system$1on$2chip$4"],
"YOLO",
["yolo[ ]?v(\\d+)+", "YOLOv$1"]
]
}
Expand Down
4 changes: 2 additions & 2 deletions docs/acap-sdk-version-3/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ This code example on [GitHub](https://github.com/AxisCommunications/acap3-exampl

#### libvdo and larod combined

This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdo-larod) loads an image classification model to larod and then uses vdo to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL.
This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdo-larod) loads an image classification model to larod and then uses vdo to fetch frames of size WIDTH x HEIGHT in YUV format which are converted to interleaved RGB format and then sent to larod for inference on MODEL.

## Media Capture API (deprecated)

Expand Down Expand Up @@ -163,7 +163,7 @@ This code example on [GitHub](https://github.com/AxisCommunications/acap3-exampl

#### libvdo and larod combined

This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdo-larod) loads an image classification model to larod and then uses vdo to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL.
This code example on [GitHub](https://github.com/AxisCommunications/acap3-examples/tree/master/vdo-larod) loads an image classification model to larod and then uses vdo to fetch frames of size WIDTH x HEIGHT in YUV format which are converted to interleaved RGB format and then sent to larod for inference on MODEL.

## Overlay API

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ nav_order: 1
---
# Application project structure

An application project contains several files and directories for an application. The mandatory files are:
An application project contains a combination of mandatory and optional files
and directories that are built into an EAP (Embedded Application Package) file
with suffix `.eap` — the ACAP application.

The mandatory files are:

| Filename | Description |
| --------- | ----------- |
Expand All @@ -20,7 +24,7 @@ Note

- Use `manifest.json` for ACAP SDK version 3.3 and later.
- Use `package.conf` for ACAP SDK version 3.2 and earlier
- An eap package based on `manifest.json` is similar to one based on
- An ACAP application based on `manifest.json` is similar to one based on
`package.conf`. The features previously configured using `package.conf` and
special configuration files are now included in `manifest.json`.

Expand All @@ -35,7 +39,7 @@ application, available from firmware version 9.30.

`manifest.json` defines the application and its configuration.

An eap package based on `manifest.json` is similar to one based on a `package.conf`. The features previously configured using the `package.conf` and special configuration files are now included in `manifest.json`.
An ACAP application based on `manifest.json` is similar to one based on a `package.conf`. The features previously configured using the `package.conf` and special configuration files are now included in `manifest.json`.

Use `manifest.json` for ACAP SDK version 3.3 and later.

Expand Down Expand Up @@ -100,7 +104,7 @@ To create the manifest file for a simple Hello Glib ACAP application:
"embeddedSdkVersion": "3.0"
```

4. Add any supported cgi endpoints.
4. Add any supported CGI endpoints.

Example

Expand Down Expand Up @@ -184,7 +188,7 @@ The table below shows the package configuration with manifest file, in relations
| Application specific installation script | acapPackageConf.<br>installation.<br>postInstallScript | POSTINSTALLSCRIPT | A script that runs on the device when the installation is completed. |
| Required embedded development version | acapPackageConf.<br>setup.<br>embeddedSdkVersion[^2] | REQEMBDEVVERSION | Specifies the minimum required embedded development version that the device running the application must support. The version is dependent on the set APIs used in the application. |
| Application specific setting page | acapPackageConf.<br>configuration.<br>settingPage | SETTINGSPAGEFILE | Specifies the HTML page for custom settings, to be used by for instance device management software, allowing a user to browse the application settings page. The file must be in a directory called `html` in the application project. |
| Supported cgi endpoints | acapPackageConf.<br>configuration.<br>httpConfig[].name | HTTPCGIPATHS and file | CGI path relative to application web root |
| Supported CGI endpoints | acapPackageConf.<br>configuration.<br>httpConfig[].name | HTTPCGIPATHS and file | CGI path relative to application web root |
| | acapPackageConf.<br>configuration.<br>httpConfig[].type | HTTPCGIPATHS and file | CGI implementation type, e.g. transferCgi |
| | acapPackageConf.<br>configuration.<br>httpConfig[].access | HTTPCGIPATHS and file | Access policy for calling the CGI |
| Product integrated application parameters | acapPackageConf.<br>configuration.<br>paramConfig[].<br>default | file: param.conf | Parameter default value |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The script does the following:
- Checks that the file `package.conf` exists and does not contain any errors.
- Asks for missing or invalid parameters and creates `package.conf`.
- Executes make in the current directory to compile the application source code into an application binary file.
- Creates an eap (embedded application package) package including the application binary, HTML files (if any) and configuration files.
- Creates an EAP (Embedded Application Package) file with suffix `.eap` including the application binary, HTML files (if any) and configuration files.
- Creates a copy of `LICENSE` file.

The created application package filename has the following format:
Expand Down
2 changes: 1 addition & 1 deletion docs/api/computer-vision-sdk-apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ nav_order: 2
> will be supported until end of 2031 when [AXIS OS 2026 LTS](https://help.axis.com/en-us/axis-os) reaches end of life.
> - The recommended way to build analytics, computer vision and machine learning applications on Axis devices with ACAP support,
> is to use the ACAP Native SDK. For usage see the [acap-native-sdk-examples](https://github.com/AxisCommunications/acap-native-sdk-examples)
> repo.
> repository.
> - The ACAP Computer Vision SDK has been archived as its components have been refactored:
> utility libraries and scripts are now available in [ACAP Runtime](https://github.com/AxisCommunications/acap-runtime).
> For usage of the new setup, see the [examples](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples)
Expand Down
4 changes: 2 additions & 2 deletions docs/api/native-sdk-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ The Machine learning API was introduced in Native SDK 1.0. All larod API version
### Code Examples

- [vdo-larod](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-larod/)
- The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL.
- The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in YUV format which are converted to interleaved RGB format and then sent to larod for inference on MODEL.
- [object-detection](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/object-detection/)
- The example code focus on object detection, cropping and saving detected objects into JPEG files.
- A separate example is available for [CV25](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/object-detection-cv25) cameras.
Expand Down Expand Up @@ -423,7 +423,7 @@ AXIS OS version | VdoStream API version | New functions added
- [vdostream](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdostream/)
- The example code is written in C which starts a vdo stream and then illustrates how to continuously capture frames from the vdo service, access the received buffer contents as well as the frame metadata.
- [vdo-larod](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-larod/)
- The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL.
- The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in YUV format which are converted to interleaved RGB format and then sent to larod for inference on MODEL.
- [vdo-opencl-filtering](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-opencl-filtering/)
- 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.

Expand Down
8 changes: 6 additions & 2 deletions docs/develop/application-project-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ nav_order: 1
<!-- omit in toc -->
# Application project structure

An application project contains several files and directories for an application. The mandatory files are:
An application project contains a combination of mandatory and optional files
and directories that are built into an EAP (Embedded Application Package) file
with suffix `.eap` — the ACAP application.

The mandatory files are:

| Filename | Description|
| :------------------------- | :--------- |
Expand All @@ -17,7 +21,7 @@ An application project contains several files and directories for an application
| Makefile | Defines how the source code is compiled, includes dependencies and sets compilation error levels. |
| manifest.json | Defines the application and its configuration.<br>Used at installation of the package.<br>See [Create a manifest file from scratch](#create-a-manifest-file-from-scratch) and [Create a manifest file from existing package.conf](#create-a-manifest-file-from-existing-packageconf) for more information. |

> - An eap package based on **manifest.json** is similar to one based on
> - An ACAP application based on **manifest.json** is similar to one based on
> **package.conf**. The features previously configured using **package.conf** and
> special configuration files are now included in **manifest.json**.
> - Underneath, **package.conf** is generated from **manifest.json** and you
Expand Down
2 changes: 1 addition & 1 deletion docs/develop/build-install-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The acap-build tool does the following:
- Runs make, performing any required cross-compilation as defined in the available `Makefile`.
- Validates the manifest file against the manifest schema.
- Generates a `package.conf` file and related configuration files for backward compatibility.
- Creates an EAP (Embedded Application Package) file with suffix .eap including:
- Creates an EAP (Embedded Application Package) file with suffix `.eap` including:
- application executable
- `LICENSE` file
- any available `html` and `lib` folder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,19 @@ file you will need to install on your device.

1. Use the [basicdeviceinfo API](https://www.axis.com/vapix-library/subjects/t10175981/section/t10132180/display?section=t10132180-t10132179) to retrieve:
- **SerialNumber**: The serial number of the device.
- **Soc**: The name of the device's SoC (System-on-Chip), e.g., `artpec-7`, `artpec-8`, `ambarella-cv25`, etc.
<!-- textlint-disable -->
- **Soc**: The name of the device's SoC (system-on-chip), e.g., `artpec-7`, `artpec-8`, `ambarella-cv25`, etc.
<!-- textlint-enable -->
- **SocSerialNumber**: The unique identifier of the SoC, also referred to as **Processor Serial Number**.

2. Use the [OAK API](https://www.axis.com/vapix-library/subjects/t10175981/section/t10162047/display?section=t10162047-t10162047) to retrieve the Owner Authentication Key (OAK).

#### Using the device web interface

1. Navigate to the device's plain configuration page, typically at `http://192.168.0.90/index.html#system/plainConfig`.
<!-- textlint-disable -->
2. Search for the **SerialNumber** and **Soc** values.
<!-- textlint-enable -->
3. To get the OAK, navigate to the device's network configuration page, typically at `http://192.168.0.90/index.html#system/network`.
4. Scroll down to the **Owner authentication key (OAK)** section and press the **Get key** button.

Expand Down
2 changes: 1 addition & 1 deletion docs/introduction/acap-sdk-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ ACAP Native SDK is supported by most Axis products from ARTPEC-6 and up. See mor
> will be supported until end of 2031 when [AXIS OS 2026 LTS](https://help.axis.com/en-us/axis-os) reaches end of life.
> - The recommended way to build analytics, computer vision and machine learning applications on Axis devices with ACAP support,
> is to use the ACAP Native SDK. For usage see the [acap-native-sdk-examples](https://github.com/AxisCommunications/acap-native-sdk-examples)
> repo.
> repository.
> - The ACAP Computer Vision SDK has been archived as its components have been refactored:
> utility libraries and scripts are now available in [ACAP Runtime](https://github.com/AxisCommunications/acap-runtime).
> For usage of the new setup, see the [examples](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples)
Expand Down
2 changes: 1 addition & 1 deletion docs/release-notes/4.0_beta1.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Supported products:

### Docker Compose ACAP

Support for containerized applications as .eap files (classic ACAP applications) with Docker compose.
Support for containerized applications as `.eap` files (classic ACAP applications) with Docker compose.

- [Docker compose ACAP repository](https://github.com/AxisCommunications/docker-compose-acap)
- [Code example](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/master/container-example)
Loading