Changelog#

v7.13.2#

Fixed#

  • A121: Validate maximum end range on surface velocity

  • A121 Distance Detector/Tank Level: Resolve issues with cache loading

v7.13.1#

Changed#

  • A121: Update SDK version

v7.13.0#

Changed#

  • Distance: Use a more narrow filter for distance filter

  • Distance: Reduce order of Butterworth distance filter

  • Distance: Update CFAR threshold to be one-sided close to the sensor

v7.12.2#

Fixed#

  • Don’t use PySide6==6.8 as it does not work properly.

v7.12.1#

v7.12.0#

Added#

  • A121 Distance: PRF override configuration

Fixed#

  • A121 Distance: Fix bug where max_step_length = 1 together with profile 5 gave undefined behavior.

v7.11.1#

Fixed#

  • A121 Waste level: Avoid interference from direct leakage by limiting min start point

  • Limit Numpy version to <2.0 to avoid compatibility issues

v7.11.0#

Added#

  • A121 vibration: Add low frequency mode

  • A121: Add multiple algos to convert_h5.py

Changed#

  • A121 hand motion: Update to use one presence processor

  • A121 hand motion: Update mode handler and make result consistent

Fixed#

  • A121 Distance: Bugfix for short range measurement with profile 1

  • A121 Ref app parking: Fix bug that blocks usage of other sensor ids than 1

v7.10.0#

Changed#

  • Update Parking to use subsweeps

  • Update presence detector to support automatic subsweeps configuration

  • Update low power wake up preset

v7.9.0#

Added#

Plugin system! You are now able to write your own plugins for the new Exploration Tool.

Head over to docs.acconeer.com and navigate to

Exploration Tool > Algorithms > A121 > Adding your own plugin

to get started!

v7.8.3#

Changed#

  • Bump SDK version for A111 and A121

v7.8.2#

Fixed#

  • A111 Presence: Avoid division by 0 for saturated data when using PCA

v7.8.1#

Fixed#

  • Flashing latest binary after website update

v7.8.0#

Added#

  • Waste level example app

Changed#

  • Parking: Some labels in the GUI now better reflect fields in the config object.

  • Speed: Change threshold line from solid to dotted to make it easier to distinguish

Fixed#

  • Parking: Add missing documentation

Removed#

  • The Obstacle Bilateration example app

v7.7.4#

Added#

  • Plugin title to plot area

  • Display filename of loaded data file

  • Hide unnecessary details in the status bar when not in the Streaming tab.

  • Resource calculator: Add input block renaming

v7.7.3#

Added#

  • A121 Parking algorithm and documentation.

  • Strength added to target in obstacle.

  • Direct links to algorithms’ documentation pages.

  • Example for post-processing recorded data.

Changed#

  • Some error messages have been improved to simplify troubleshooting.

v7.7.2#

Added#

  • Tooltips for speed detector.

v7.7.1#

Changed#

  • Bump SDK version for A121

v7.7.0#

Added#

  • Support for Python 3.12

  • Many algorithms have gotten tooltips in their config editors. Hover the name to get a description of that parameter!

  • High and low frequency presets for new vibration application

Changed#

  • The Vibration algorithm has been improved to be able to measure both higher and lower vibration frequencies, all while not having to use continuous sweep mode.

  • Distance detector no longer defaults to use close_range_leakage_cancellation.

Removed#

  • Support for Python 3.7

v7.6.1#

Fixed#

  • Bug in Sparse IQ where selecting multiple subsweeps resulted in an uncaught exception

v7.6.0#

Added#

  • Add hand motion detection algorithm for faucet applications

Changed#

  • Resource Calculator

    • Power Curve average current is no longer dependent on “X-axis length”

    • Power Curve now displays average current in 10ths of uA when below 1 mA.

Fixed#

  • Make it possible to run on other sensor ids than 1 for ref app breathing

v7.5.1#

#

  • Mention resource calculator in docs

Changed#

  • Bump SDK version for A121

v7.5.0#

Added#

  • New tab: Resource Calculator. Visualizes power- and memory consumption for different configurations, enabling quick-and-easy comparisons. Supports Sparse IQ, Distance- and Presence detector.

Changed#

  • Rename covert_to_csv.py to convert_h5.py

Fixed#

  • Distance: Remove duplicate breakpoints

v7.4.0#

Added#

  • Basic multisensor support in the SparseIQ plugin.

v7.3.0#

Added#

  • A121: Distance: Add fixed strength threshold

  • A121: Distance: Visualize multiple time series in history plot

Changed#

  • Move links.py from a111 folder to root folder

v7.2.1#

This release only contains minor fixes and improvements.

v7.2.0#

Added#

  • A121: Smart presence: Add wake up mode

  • A121: Client now raises an error if no sensors can be detected on the server.

  • Documentation for the speed detector

  • Examples for the speed detector

  • Better handling of unexpected communication errors (lost connection, etc.) in the A121 Client.

Fixed#

  • A111: convert_to_csv.py can now output metadata for the envelope service

  • A121: Detach recorded if start_session fails

  • A121: Validate start point in subsweep config

v7.1.0#

Added#

  • New algorithm: Speed detector

  • Config load- & save for the majority of configs in the A121 App.

  • Export some configurations to C via the config save buttons.

    • Sparse IQ

    • Distance detector

    • Presence detector

    • Tank level

  • A121: Presence: Add context with estimated frame rate to presence detector

Changed#

  • Breathing is now a reference application instead of an example

v7.0.2#

Fixed#

  • A121: Fix replaying issues in apps

v7.0.1#

Fixed#

  • Recording bug introduced in v7.0.0 that broke all algorithms.

v7.0.0#

This release is not fully backwards compatibility, which calls for a major bump (v6 -> v7).

Changed#

Client & H5Recorder classes have been changed (and upgraded). H5Recorder is now able to record multiple Client sessions in a single file. Recommended usage can be seen below. Detectors and Reference Applications have gotten no changes.

client = a121.Client.open()

with a121.H5Recorder("filename.h5", client):
    for number_of_sessions in range(10):
        client.setup_session(a121.SessionConfig())
        client.start_session()

        for _ in range(10):
            client.get_next()

        client.stop_session()

client.close()

All examples have been updated accordingly.

v6.0.5#

Added#

  • A121: Surface velocity: Validation added to check that start point is larger than the surface distance

  • Tabs in the A121 Application

Changed#

  • A121: Surface velocity: Remove unused sensor angle from processing config

Fixed#

  • A111: Perform handshake on multiple baudrate even when overriding baudrate

  • A111: Fix bug with not being able to untick override baudrate option

  • A111: Bug in acconeer.exptool.app –purge-config which caused a crash

v6.0.4#

Changed#

  • Pin PySide version, which evades some problems with its latest release

v6.0.1#

Changed#

  • Bump SDK version for A111

Fixed#

  • XM125 bin fetching (part of flash).

  • ClientInfo not being able to load some older files

v6.0.0#

Added#

  • A121: Tank level reference app

  • A121: Distance: Add recalibration functionality.

  • A121: Distance: Add calibration needed and temperature to API.

  • A121: Add surface velocity example app.

  • A121: Distance: Add reflector shape to detector config.

  • A121: Distance: Update peak sorting strategy selections.

Changed#

  • Documentation structure

  • Client interface

  • Setting up instructions

  • Drop beta for A121 Application

v5.9.2#

Added#

  • A121: High speed mode, HSM, metadata. Available in RSS version > 0.8.0.

  • A121: tcp_port-argument to a121.Client, which enables specifying the port of an exploration server. If not specified, the default port will be used.

  • Parameter categories

  • A121: Presets for presence detector and smart presence added. Default values are changed.

Fixed#

  • Fix mock/simulated client for portable release

  • Fix Python 3.7 incompatibility in AppModel

v5.9.1#

Changed#

  • Change default PRF to 15.6 MHz

v5.9.0#

Added#

  • A121: Breathing example

  • A121: Bilateration example

  • A121: Support for subsweeps in the Sparse IQ plugin

  • A111: Presence detector human only

  • A121: Smart presence reference app

Changed#

  • Bump A121 SDK version to v0.8.0

Removed#

  • A121: Sector plots in Presence detector example and plugin

v5.8.1#

Added#

  • Sensor config info in distance detector

Changed#

  • A121 presence: move inter and intra from extra_result to result

  • A111: Update calibration behavior

    • No longer automatically applied on start, unless auto-apply is ticked

    • Loading calibration will not auto-apply, unless auto-apply is ticked

    • New calibration will not be stored in application if a calibration is already present. Old calibration has to be cleared first

    • Calibration status is updated to reflect this

Fixed#

  • Make sure to sync sensor ids after replaying file

  • A111: Check that calibration background and data length matches, otherwise raise an exception

  • Re-add TickUnwrapper

v5.8.0#

Added#

  • Make it possible to use a Mocked/Simulated sensor system

  • A121: Validation of processor config

  • Save app settings to file

  • Add advanced settings dialog

  • Add auto-connect setting, found under advanced settings

Changed#

  • Rename Virtual button to Touchless button

v5.7.0#

Added#

  • Separate changelog for unreleased changes

  • Frame count in status bar

  • Support for 15.6MHz PRF

Fixed#

  • Unplugging of USB device not detected

  • Sync default sensor with connected sensors

v5.6.0#

Added#

  • Make it possible to select USB device with serial number

  • A121: Vibration: Peak detection

  • A121: Plugin configuration presets

Changed#

  • Forbid setting up with 5.2MHz PRF if the connected server cannot handle that.

Fixed#

  • A121 presence: Fix depth filter length so it never is bigger than the number of points

  • Correct downloading of new firmware by adapting to new developer site

  • Flasher: Enable DFU from detached usb device with PyUsbCdc

  • Pickling error on Windows when running standalone

v5.5.1#

Fixed#

  • Make sure to use correct flash port interface on Linux

v5.5.0#

Added#

  • A121: Calibration reuse example

  • A121: Bilateration application

  • Toggle to enable/disable recording

Changed#

  • A121: Target RSS version v0.6.0

  • A121 distance detector: Minor improvements

Fixed#

  • USB connection issues

v5.4.1#

Added#

  • App taskbar icon on Windows

Changed#

  • A121 presence detector: Add support for setting inter frame idle state

Fixed#

  • A121 recorder crashing when stopping due to empty chunk buffer

  • A121 recorder can’t load recording without calibration

  • Flash port not detected correctly

v5.4.0#

Added#

  • Vibration measurement application

Changed#

  • Use USB communication when possible in Linux

  • Simplify USB device selection in client

Fixed#

  • Fix App hints widget

v5.3.1#

Fixed#

  • Make sure to have qtpy>=2.3.0

Added#

  • Add SensorCalibration to session

Changed#

  • A121 distance detector. Optimize CFAR calculation.

  • Use built-in function to display markdown and thereby remove dependency to Markdown

  • A121 presence detector: Change minimum start distance for profiles

Fixed#

  • A121 distance detector: Fix bug in CFAR calculation where num_stds was applied to full threshold.

  • A121 algo utils: remove PRF 19.5 MHz for profile 2 in select_prf

v5.3.0#

Fixed#

  • Serial port tagging for XE123, XE124, XE125 modules

  • Disable connect button for an unflashed XC120 device

  • Silent backend logging on Windows

Added#

  • Ability to download and flash latest binary for XC120

  • Backend CPU load in status bar.

  • Add warning in the App if an unflashed device is connected

  • Notify user for new library versions

  • Support for multiple subsweep configs in view

Changed#

  • Design of status bar.

  • A121 distance: Aggregate calibration methods into one function

Removed#

  • Proximity power from regmap

v5.2.9#

Fixed#

  • A121 presence detector: set PRF based on range

  • A121 presence detector: fix number of points calculation to include end range

  • A121 presence detector: set presence:distance to 0 when no presence detected

  • A121 distance detector: offset compensation bugfix

  • A121 distance detector: fixed numpy warning due to mean of empty slice

  • Pin PySide6 to 6.3.1 to avoid incompatible versions

Added#

  • Update rate to distance detector.

  • Rate/jitter warnings in status bar.

Changed#

  • A121 distance detector: increase signal quality span

  • A121 distance detector: perform noise calibration standalone.

v5.2.8#

Fixed#

  • Fix bug where no folder was created when caching

Add#

  • int16_complex_array_to_complex utility function to a121-package

v5.2.7#

Fixed#

  • QGraphicsEllipseItem was moved from QtGui to QtWidgets.

  • Make sure to set correct sensor id when playing back recorded data.

  • Bug that made SessionConfigEditor overwrite changes made by the user (unless the user was really fast).

v5.2.6#

Fixed#

  • Replace addDataItem() with addItem(). This function was removed in pyqtgraph 0.13.0

v5.2.5#

Fixed#

  • Pin version of PySide6 to avoid bug with overriding builtin enum in Python 3.9

Changed#

  • A121: Convert cache from pickle to h5

v5.2.4#

Added#

  • A121: Possibility to specify baudrate in the App

  • A121: Phase tracking example app.

  • A121 presence detector: inter-frame phase boost

  • A121 presence detector: inter-frame timeout

Removed#

  • A121: One-sided CFAR. The concept is not valid with the close range measurement strategy.

Fixed#

  • A121: Convert config/context classes to dict before pickle

  • Metadata view spacing issue

  • A121: Double buffering added to sensor config editor in app

v5.2.3#

Fixed#

  • A111: Unclearness in the Calibration management section. Users are now able see if calibrations are used by the processor or not.

  • A121 presence detector: Fix step_length bug when using profile 1.

Added#

  • A121 presence detector: Separate output for inter- and intra-frame parts.

v5.2.2#

Removed#

  • Temporally disable auto-connect functionality because it introduced issues related to flashing

v5.2.1#

Fixed#

  • Cache-related bug that made Distance Detector unusable.

v5.2.0#

  • Platform setup script that is ran with python -m acconeer.exptool.setup.

  • Sensor selection for Presence- and Distance detector.

v5.1.0#

Added#

  • Platform-specific setup scripts

  • A121 distance detector: Distance offset calibration

  • A121 distance detector: Noise calibration

  • A121 presence detector: Settings for profile and step length

Changed#

  • A121 distance detector: Account for processing gain when calculating HWAAS.

Fixed#

  • Fix sensor selection bug on disconnect.

  • Only detect USB devices on Windows.

v5.0.4#

Added#

  • Support for “simple” A121 records to the convert_to_csv utility.

  • Sensor id selection to the new A121 application.

v5.0.3#

Fixed#

  • Fix version parsing for a111. Version string "a111-vx.x.x" is now handled properly.

v5.0.2#

Fixed#

  • Fix client timeout when auto-detecting port

v5.0.1#

Added#

  • Add *.orig to .gitignore

  • Add A121 EVK setup to readme

Changed#

  • Bump A111 SDK version to 2.12.0

Fixed#

  • Make clean up after stop session more stable

  • Set link timeout depending on server update rate and sweep rate

v5.0.0#

This major release provides initial support for the A121, with a new app, new algorithms, and a stable core API.

No changes has been made to the old application nor the A111 API.

Added#

  • A new application, currently only for A121. In the future, A111 will be supported in this new app as well, removing the need for two separate apps.

  • Support for A121 v0.4, amongst other things adding a double_buffering parameter to a121.SensorConfig.

  • A121: Initial version of a distance detector.

  • A121: Initial version of a presence detector.

  • A121: XC120 WinUSB support, for improved data streaming performance on Windows.

  • A121: Ability to load record from file to RAM.

Fixed#

  • A121: Several minor issues in the core API.

  • Avoid incompatible dependencies.

v4.4.1#

Changed#

  • Remove references to Ubuntu 18.04

  • Moved Parking to examples

Fixed#

  • Add sampling mode for Sparse in configuration. Was accidentally removed, when sampling mode was removed for IQ.

  • Add sampling mode for Sparse when exporting C code.

v4.4.0#

Added#

  • enable_loopback parameter to a121.SubsweepConfig.

  • Side/pole mounted case for parking detector. Modifies some default settings as well as slight changes in computations.

Fixed#

  • Bug that made a121.Client not stop its session if the session was started with a recorder.

v4.3.0#

Added#

  • Unstable (but fully featured) library for the A121 sensor generation under acconeer.exptool.a121.

v4.2.0#

Added#

  • Possibility to export Sensor configuration to C code for use with RSS.

Changed#

  • Update demo images in sensor introduction

Fixed#

  • The update rate when replaying a saved file is now the same as the file was captured in.

v4.1.1#

Changed#

  • Bump A111 SDK version to v2.11.1

v4.1.0#

Added#

  • Wave to exit algorithm added.

  • Tank level algorithm for small tanks.

v4.0.4#

Fixed#

  • Issue where Exploration tool could not be run on Python 3.7.

v4.0.3#

Added#

  • Control for amount of peaks plotted in Distance Detector.

Fixed#

  • Implicit behavior of calibration application. Now never applies a calibration unless explicitly done by the user.

v4.0.2#

Changed#

  • Module server protocol is now default for UART connections in examples

Fixed#

  • Outdated referenced to recording module in File format reference (docs)

  • Bug that did not allow examples and standalones to be run over UART

v4.0.1#

Changed#

  • Bump A111 SDK version to 2.11.0

v4.0.0#

Added#

  • Command line arguments --no-config and --purge-config which lets you manage files that the Exptool app produces.

  • Installation via PyPI with python -m pip install acconeer-exptool

  • requirements-dev.txt for developers

  • Common calibration interface for processors

  • Deprecation warning on Streaming Server

  • Drop down list in app to select server protocol

Changed#

  • Change of nomenclature regarding the GUI, is now called “the app”.

  • The Exptool app is now part of the acconeer-exptool package! Is now run with python -m acconeer.exptool.app instead of python gui/main.py

  • Detector- and Service standalone examples have been moved into the acconeer-exptool-package. (acconeer.exptool.a111.algo to be precise.)

  • Some algorithm modules have been renamed

  • Standalones are now runnable with python -m acconeer.exptool.a111.algo.<service or detector>

  • internal/ renamed to tools/. Still intended for internal use.

  • Structure of standalones are separated into processor- and ui modules

  • Reduced code duplication of standalones’ main functions.

  • App sessions are saved to a standard user location instead of the current directory.

  • Move package dependencies to setup.cfg from requirements.txt (Removing requirements.txt and requirements_client_only.txt). Add extras algo and app to define additional dependencies.

  • Replace tox with nox

  • Update python version for portable to 3.9.10

  • Update run and update batch files for portable version for Windows. Old portable version is no longer compatible.

  • SDK version is now specific for A111 (acconeer.exptool.a111.SDK_VERSION)

Removed#

  • Machine Learning GUI

  • imock

  • Sensor fusion in obstacle

  • Multi-sensor support in distance and obstacle

  • WSL support

  • Legacy dict based processing configuration interface

  • Legacy calibration interfaces