Skip to content

Commit

Permalink
Merge pull request #128 from AxisCommunications/sync-20240402-1
Browse files Browse the repository at this point in the history
Replace firmware with AXIS OS where suitable
  • Loading branch information
pataxis authored Apr 2, 2024
2 parents dbb228c + a73cf93 commit cb102fd
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 47 deletions.
50 changes: 25 additions & 25 deletions docs/axis-devices-and-compatibility/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@ nav_order: 7

# Axis devices & compatibility

Compatibility means that if an ACAP can be installed and run on a specific
device, then the ACAP is compatible with the device. Compatibility depends on
both hardware and software (firmware).
Compatibility means that if an ACAP application can be installed and run on a
specific device, then the ACAP application is compatible with the device.
Compatibility depends on both hardware and software.

## Hardware compatibility

ACAP is supported on a large portion of all Axis devices. For an ACAP to be
hardware compatible with a specific device, the ACAP must be compiled using the
SDK corresponding to the chip architecture in the device.
ACAP applications are supported on a large portion of all Axis devices. For an
ACAP application to be hardware compatible with a specific device, it must be
compiled using the SDK corresponding to the chip architecture in the device.

## Software compatibility

An ACAP is software compatible with an AXIS OS firmware if the APIs and other
ACAP Runtime features are available in the specific firmware release. The availability of
APIs in a firmware depends on both the firmware version and the
An ACAP application is software compatible with AXIS OS if the APIs and other
ACAP Runtime features are available in the specific AXIS OS release. The
availability of APIs in AXIS OS depends on both the AXIS OS version and the
device itself since some APIs are only relevant for certain devices. For
example, the Video capture API is only available on devices with an image
sensor.
Expand Down Expand Up @@ -80,8 +80,8 @@ the web page for download of [device software](https://www.axis.com/support/devi
### ACAP Computer Vision SDK software compatibility

The **Image version** referred to in the
table below is the Docker image release tag available from Docker Hub:
The **Image version** referred to in the table below is the Docker image
release tag available from Docker Hub:

- [ACAP Computer Vision SDK](https://hub.docker.com/r/axisecp/acap-computer-vision-sdk/tags)

Expand Down Expand Up @@ -110,8 +110,8 @@ ACAP Release | ACAP CV SDK Image version | Compatible with AXIS OS version

### ACAP Native SDK software compatibility

The **Image version** referred to in the
table below is the Docker image release tag available from Docker Hub:
The **Image version** referred to in the table below is the Docker image
release tag available from Docker Hub:

- [ACAP Native SDK](https://hub.docker.com/r/axisecp/acap-native-sdk/tags)

Expand Down Expand Up @@ -141,15 +141,15 @@ ACAP Release | ACAP Native SDK Image version | Compatible with AXIS OS version

## Forward compatibility

The ACAP is forward compatible for the firmware related to a specific SDK
version. This means that the ACAP is compatible for the listed firmware version
and future firmware versions until the next firmware LTS (Long Term Support).
After an LTS, there may be changes that break compatibility, for
example when a deprecated API is removed. Breaking changes are always announced
in advance.
An ACAP application is forward compatible for the AXIS OS related to a specific
SDK version. This means that the ACAP application is compatible for the listed
AXIS OS version and future versions until the next AXIS OS LTS (Long Term
Support) version. After an LTS, there may be changes that break compatibility,
for example when a deprecated API is removed. Breaking changes are always
announced in advance.

An ACAP built with an SDK that is based on an older firmware version should
always work on a newer firmware version within the same LTS window.
An ACAP application built with an SDK that is based on an older AXIS OS version
should always work on a newer AXIS OS version within the same LTS window.

## Feature growth between LTS releases

Expand All @@ -163,12 +163,12 @@ of the SDK.
Read more about AXIS OS release tracks and related information
[here](https://www.axis.com/products/online-manual/00000).

## Supporting older firmware
## Supporting older AXIS OS

If you want an ACAP to be compatible with older firmware, you need to choose an
SDK for an older firmware.
If you want an ACAP application to be compatible with older AXIS OS, you need
to choose an SDK for an older AXIS OS.

To support firmware older than AXIS OS 10.7, build your ACAP application with
To support AXIS OS older than 10.7, build your ACAP application with
[ACAP version 3](https://help.axis.com/acap-3-developer-guide).

# Camera loan tool
Expand Down
4 changes: 2 additions & 2 deletions docs/develop/application-project-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Other optional files and directories to include:
| :----------------- | :----------- | :---------- |
| lib | Directory | Shared libraries custom to the application. |
| Postinstall Script | Shell Script | Executed at the installation of the application. |
| Preupgrade Script | Shell Script | Executed before upgrading the application, available from firmware version 9.30. |
| Preupgrade Script | Shell Script | Executed before upgrading the application, available from AXIS OS version 9.30. |

<!-- omit in toc -->
## Manifest file
Expand Down Expand Up @@ -178,7 +178,7 @@ see [Manifest schemas](manifest-schemas/).

[^1]: This parameter is generated at the build step for architecture-dependent applications and should not be added. For architecture-independent applications, e.g. like a [shell script](https://github.com/AxisCommunications/acap-native-sdk-examples/blob/master/shell-script-example/app/manifest.json), the architecture can be set to `all` in the manifest.json file.

[^2]: `2.0` for manifest.json schema version 1.0 and earlier (for firmware version 10.5 and earlier). `3.0` for manifest.json schema version 1.1 and later. The minor version may need to be stepped up for certain APIs. See [API](../api/) for more information.
[^2]: `2.0` for manifest.json schema version 1.0 and earlier (for AXIS OS version 10.5 and earlier). `3.0` for manifest.json schema version 1.1 and later. The minor version may need to be stepped up for certain APIs. See [API](../api/) for more information.

### Manifest file schema

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 @@ -37,7 +37,7 @@ For help on using the build tool, run `acap-build -h`.
> **manifest.json**. If any additional files were previously listed in **OTHERFILES**
> in the package.conf file, these now need to be listed as input to the acap-build
> command using the flag -a, for example `acap-build ./ -a file1 -a file2`.
> - For the ACAP application package to be supported in older firmware, a
> - For the ACAP application package to be supported in older AXIS OS, a
> **package.conf** file is generated and included in the EAP file. Although it’s
> the manifest file that is the base setup file for the ACAP application when
> building an EAP package in the SDK.
Expand Down
28 changes: 14 additions & 14 deletions docs/develop/manifest-schemas/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@ schema field descriptions.

## Required fields

The structure of the fields can be seen by the list level. A Required field in
The structure of the fields can be seen by the list level. A required field in
a sub-section means it's only required if the section above is chosen.

## Manifest schema version mapping

Mapping table for schema, firmware and SDK version.
Mapping table for manifest schema, AXIS OS and ACAP Native SDK version.

> It's recommended to use the latest manifest version available for the minimum
> firmware version targeted.
| Schema | Firmware | SDK | Description |
| :----- | :------- | :-- | :---------- |
| 1.0 | 10.7 | 1.0 | Initial basic version |
| 1.1 | 10.7 | 1.0 | Additional fields, mainly for technical reasons |
| 1.2 | 10.7 | 1.0 | Enables uninstall functionality which is required by e.g. docker-compose-acap |
| 1.3 | 10.9 | 1.1 | Architecture will be automatically generated and added to manifest at packaging step |
| 1.3.1 | 11.0 | 1.4 | Bugfixes; Allow `=` in `runOptions` and `maxLength` of `appName` should be 26 |
| 1.4.0 | 11.7 | 1.11 | Allow new characters `( ) , . ! ? & '` for `vendor` field |
| 1.5.0 | 11.8 | 1.12 | - Add support for reverse proxy configuration.<br> - Add access policy for ACAP application web content.<br> - Allow `-` character in secondary groups of `linux` resources.<br> - Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to end with `.*` to match all methods of a D-Bus interface. |
| 1.6.0 | 11.9 | 1.13 | - Add support for characters `$` and `\` in `apiPath` of the reverse proxy configuration.<br> - Add optional field `$schema` that can point out a manifest schema to use for manifest validation and auto-completion.<br> - Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to contain `-`. |
> AXIS OS version targeted.
| Schema | AXIS OS | SDK | Description |
| :----- | :------ | :-- | :---------- |
| 1.0 | 10.7 | 1.0 | Initial basic version |
| 1.1 | 10.7 | 1.0 | Additional fields, mainly for technical reasons |
| 1.2 | 10.7 | 1.0 | Enables uninstall functionality which is required by e.g. docker-compose-acap |
| 1.3 | 10.9 | 1.1 | Architecture will be automatically generated and added to manifest at packaging step |
| 1.3.1 | 11.0 | 1.4 | Bugfixes; Allow `=` in `runOptions` and `maxLength` of `appName` should be 26 |
| 1.4.0 | 11.7 | 1.11 | Allow new characters `( ) , . ! ? & '` for `vendor` field |
| 1.5.0 | 11.8 | 1.12 | - Add support for reverse proxy configuration.<br> - Add access policy for ACAP application web content.<br> - Allow `-` character in secondary groups of `linux` resources.<br> - Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to end with `.*` to match all methods of a D-Bus interface. |
| 1.6.0 | 11.9 | 1.13 | - Add support for characters `$` and `\` in `apiPath` of the reverse proxy configuration.<br> - Add optional field `$schema` that can point out a manifest schema to use for manifest validation and auto-completion.<br> - Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to contain `-`. |
10 changes: 5 additions & 5 deletions docs/get-started/set-up-developer-environment/set-up-device.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ To prepare a device for development:
- [Find the device on the network](#find-the-device-on-the-network) to configure the IP address and the user credentials
- [Setup the device on the network](#setup-the-device-on-the-network) to make sure it's ready to be connected to the network
- [Check device compatibility](#check-device-compatibility) to make sure that you use a device that supports ACAP
- [Check device properties](#check-device-properties) and update to the latest firmware if needed, see [How to upgrade](#how-to-upgrade)
- [Check device properties](#check-device-properties) and update to the latest firmware (AXIS OS) if needed, see [How to upgrade](#how-to-upgrade)
- [Check device properties](#check-device-properties) and identify the device architecture to be able to choose the correct toolchain

## Find the device on the network
Expand Down Expand Up @@ -66,7 +66,7 @@ Some extra steps can be followed to make sure the device is ready to be used and

### Verify that no one has tampered with the firmware

To make sure that the device has its original Axis firmware, or to take full control of the device after a security attack:
To make sure that the device has its original firmware (AXIS OS), or to take full control of the device after a security attack:

1. Reset to factory default settings. See the product’s user manual for information on how to reset to factory default settings.
After the reset, secure boot guarantees the state of the device.
Expand Down Expand Up @@ -116,7 +116,7 @@ Properties.EmbeddedDevelopment.EmbeddedDevelopment=yes

## Check device properties

To get basic device information, such as firmware version and architecture, use VAPIX POST request and method **getAllProperties**:
To get basic device information, such as AXIS OS version and architecture, use VAPIX POST request and method **getAllProperties**:

```html
http://192.168.0.90/axis-cgi/basicdeviceinfo.cgi
Expand All @@ -128,7 +128,7 @@ To extract the messages, use the CGI from a terminal, using the credentials set
curl --anyauth '*' -u '<username>:<password>' 192.168.0.90/axis-cgi/basicdeviceinfo.cgi --data '{"apiVersion":"1.0","context":"Client defined request ID","method":"getAllProperties"}'
```

The following response contains architecture `"Architecture": "armv7hf"`, and firmware version `"Version": "9.50.1"`:
The following response contains architecture `"Architecture": "armv7hf"`, and AXIS OS version `"Version": "9.50.1"`:

```json
{
Expand Down Expand Up @@ -156,7 +156,7 @@ The following response contains architecture `"Architecture": "armv7hf"`, and fi

## How to upgrade

Axis offers product firmware management according to the active track or the long-term support (LTS) tracks. Regardless of the track chosen, it is recommended to upgrade the firmware regularly in order to get the latest security updates. The firmware can be upgraded using AXIS Device Manager, AXIS Camera Station, AXIS Companion, HTTP or FTP.
Axis offers product firmware (AXIS OS) management according to the active track or the long-term support (LTS) tracks. Regardless of the track chosen, it is recommended to upgrade AXIS OS regularly in order to get the latest security updates. AXIS OS can be upgraded using AXIS Device Manager, AXIS Camera Station, AXIS Companion, HTTP or FTP.

> If using AXIS A1001 in cluster mode, make sure to upgrade all controllers.
> Either all at a time using AXIS Device Manager or straight after each other
Expand Down

0 comments on commit cb102fd

Please sign in to comment.