- A121: Validate maximum end range on surface velocity
- A121 Distance Detector/Tank Level: Resolve issues with cache loading
- A121: Update SDK version
- 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
- Don't use PySide6==6.8 as it does not work properly.
- A121 Distance: PRF override configuration
- A121 Distance: Fix bug where max_step_length = 1 together with profile 5 gave undefined behavior.
- A121 Waste level: Avoid interference from direct leakage by limiting min start point
- Limit Numpy version to <2.0 to avoid compatibility issues
- A121 vibration: Add low frequency mode
- A121: Add multiple algos to convert_h5.py
- A121 hand motion: Update to use one presence processor
- A121 hand motion: Update mode handler and make result consistent
- 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
- Update Parking to use subsweeps
- Update presence detector to support automatic subsweeps configuration
- Update low power wake up preset
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!
- Bump SDK version for A111 and A121
- A111 Presence: Avoid division by 0 for saturated data when using PCA
- Flashing latest binary after website update
- Waste level example app
- 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
- Parking: Add missing documentation
- The Obstacle Bilateration example app
- 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
- A121 Parking algorithm and documentation.
- Strength added to target in obstacle.
- Direct links to algorithms' documentation pages.
- Example for post-processing recorded data.
- Some error messages have been improved to simplify troubleshooting.
- Tooltips for speed detector.
- Bump SDK version for A121
- 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
- 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
.
- Support for Python 3.7
- Bug in Sparse IQ where selecting multiple subsweeps resulted in an uncaught exception
- Add hand motion detection algorithm for faucet applications
- 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.
- Make it possible to run on other sensor ids than 1 for ref app breathing
- Mention resource calculator in docs
- Bump SDK version for A121
- New tab: Resource Calculator. Visualizes power- and memory consumption for different configurations, enabling quick-and-easy comparisons. Supports Sparse IQ, Distance- and Presence detector.
- Rename covert_to_csv.py to convert_h5.py
- Distance: Remove duplicate breakpoints
- Basic multisensor support in the SparseIQ plugin.
- A121: Distance: Add fixed strength threshold
- A121: Distance: Visualize multiple time series in history plot
- Move links.py from a111 folder to root folder
This release only contains minor fixes and improvements.
- 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.
- 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
- 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
- Breathing is now a reference application instead of an example
- A121: Fix replaying issues in apps
- Recording bug introduced in v7.0.0 that broke all algorithms.
This release is not fully backwards compatibility,
which calls for a major bump (v6 -> v7
).
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.
- A121: Surface velocity: Validation added to check that start point is larger than the surface distance
- Tabs in the A121 Application
- A121: Surface velocity: Remove unused sensor angle from processing config
- 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
- Pin PySide version, which evades some problems with its latest release
- Bump SDK version for A111
- XM125 bin fetching (part of flash).
- ClientInfo not being able to load some older files
- 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.
- Documentation structure
- Client interface
- Setting up instructions
- Drop beta for A121 Application
- A121: High speed mode, HSM, metadata. Available in RSS version > 0.8.0.
- A121:
tcp_port
-argument toa121.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.
- Fix mock/simulated client for portable release
- Fix Python 3.7 incompatibility in AppModel
- Change default PRF to 15.6 MHz
- 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
- Bump A121 SDK version to v0.8.0
- A121: Sector plots in Presence detector example and plugin
- Sensor config info in distance detector
- 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
- 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
- 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
- Rename Virtual button to Touchless button
- Separate changelog for unreleased changes
- Frame count in status bar
- Support for 15.6MHz PRF
- Unplugging of USB device not detected
- Sync default sensor with connected sensors
- Make it possible to select USB device with serial number
- A121: Vibration: Peak detection
- A121: Plugin configuration presets
- Forbid setting up with 5.2MHz PRF if the connected server cannot handle that.
- 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
- Make sure to use correct flash port interface on Linux
- A121: Calibration reuse example
- A121: Bilateration application
- Toggle to enable/disable recording
- A121: Target RSS version v0.6.0
- A121 distance detector: Minor improvements
- USB connection issues
- App taskbar icon on Windows
- A121 presence detector: Add support for setting inter frame idle state
- A121 recorder crashing when stopping due to empty chunk buffer
- A121 recorder can't load recording without calibration
- Flash port not detected correctly
- Vibration measurement application
- Use USB communication when possible in Linux
- Simplify USB device selection in client
- Fix App hints widget
- Make sure to have qtpy>=2.3.0
- Add SensorCalibration to session
- 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
- 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
- Serial port tagging for XE123, XE124, XE125 modules
- Disable connect button for an unflashed XC120 device
- Silent backend logging on Windows
- 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
- Design of status bar.
- A121 distance: Aggregate calibration methods into one function
- Proximity power from regmap
- 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
- Update rate to distance detector.
- Rate/jitter warnings in status bar.
- A121 distance detector: increase signal quality span
- A121 distance detector: perform noise calibration standalone.
- Fix bug where no folder was created when caching
- int16_complex_array_to_complex utility function to
a121
-package
- 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).
- Replace addDataItem() with addItem(). This function was removed in pyqtgraph 0.13.0
- Pin version of PySide6 to avoid bug with overriding builtin enum in Python 3.9
- A121: Convert cache from pickle to h5
- 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
- A121: One-sided CFAR. The concept is not valid with the close range measurement strategy.
- A121: Convert config/context classes to dict before pickle
- Metadata view spacing issue
- A121: Double buffering added to sensor config editor in app
- 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.
- A121 presence detector: Separate output for inter- and intra-frame parts.
- Temporally disable auto-connect functionality because it introduced issues related to flashing
- Cache-related bug that made Distance Detector unusable.
- Platform setup script that is ran with
python -m acconeer.exptool.setup
. - Sensor selection for Presence- and Distance detector.
- Platform-specific setup scripts
- A121 distance detector: Distance offset calibration
- A121 distance detector: Noise calibration
- A121 presence detector: Settings for profile and step length
- A121 distance detector: Account for processing gain when calculating HWAAS.
- Fix sensor selection bug on disconnect.
- Only detect USB devices on Windows.
- Support for "simple" A121 records to the
convert_to_csv
utility. - Sensor id selection to the new A121 application.
- Fix version parsing for a111. Version string
"a111-vx.x.x"
is now handled properly.
- Fix client timeout when auto-detecting port
- Add *.orig to .gitignore
- Add A121 EVK setup to readme
- Bump A111 SDK version to 2.12.0
- Make clean up after stop session more stable
- Set link timeout depending on server update rate and sweep rate
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.
- 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 toa121.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.
- A121: Several minor issues in the core API.
- Avoid incompatible dependencies.
- Remove references to Ubuntu 18.04
- Moved Parking to examples
- 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.
enable_loopback
parameter toa121.SubsweepConfig
.- Side/pole mounted case for parking detector. Modifies some default settings as well as slight changes in computations.
- Bug that made
a121.Client
not stop its session if the session was started with a recorder.
- Unstable (but fully featured) library for the A121 sensor
generation under
acconeer.exptool.a121
.
- Possibility to export Sensor configuration to C code for use with RSS.
- Update demo images in sensor introduction
- The update rate when replaying a saved file is now the same as the file was captured in.
- Bump A111 SDK version to v2.11.1
- Wave to exit algorithm added.
- Tank level algorithm for small tanks.
- Issue where Exploration tool could not be run on Python 3.7.
- Control for amount of peaks plotted in Distance Detector.
- Implicit behavior of calibration application. Now never applies a calibration unless explicitly done by the user.
- Module server protocol is now default for UART connections in examples
- Outdated referenced to
recording
module in File format reference (docs) - Bug that did not allow examples and standalones to be run over UART
- Bump A111 SDK version to 2.11.0
- 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
- 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 withpython -m acconeer.exptool.app
instead ofpython 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 totools/
. Still intended for internal use.- Structure of standalones are separated into
processor
- andui
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)
- 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