Skip to content
CAI
Software that uses CAICheck a score

analogdevicesinc/iSensor-FX3-Eval

44.1

Weak · 1 October 2026

9.2k

lines of production code

VB.NET

with JavaScript, C#

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an evaluation software suite for Analog Devices inertial and machine health sensors, designed to capture, process, and log sensor data via a Cypress FX3 interface. It provides a Windows GUI for real-time streaming and buffered logging, alongside a .NET API wrapper that enables integration with external tools like MATLAB, Python, and LabVIEW. The codebase manages hardware-specific configurations, register maps, and signal processing for a wide range of ADIS and ADcmXL device families.

How it got here

2019–2020 — Initial EVAL-ADIS-FX3 release and ADcmXL support

5 changes.

This period established the initial release of the EVAL-ADIS-FX3 evaluation software, introducing the core WinForms GUI, .NET API wrapper, and data logging components. It expanded functionality to support ADcmXL real-time streaming and buffered logging, while refining application settings, project structure, and device configuration files.

2021–2025 — FX3 API wrapper and hardware support expansion

9 changes.

This period focused on expanding the FX3 API wrapper to support non-.NET languages like Python, MATLAB, and LabVIEW, accompanied by comprehensive example scripts for various IMU families. Concurrently, the project added hardware design files for the RevC breakout board and extended driver support to a wide range of new ADIS16x IMU parts through updated register maps and helper classes.

Features

Added .NET assembly metadata and LabVIEW example project for FX3ApiWrapper

The FX3ApiWrapper assembly now includes standard .NET metadata (AssemblyInfo.cs) defining its version and COM visibility settings, alongside auto-generated resource files for localization support. Additionally, a new LabVIEW example project has been added to demonstrate basic data capture features, including raw register reads, register access by name, array reads, asynchronous streaming, and LED blinking via the FX3Api.

_src\_wrapper/Properties, src\wrapper/examples/LabVIEW · high confidence

Added RevC hardware design files for the Cypress FX3 Explorer Eval Breakout Board

Added the complete RevC hardware resource package for the Cypress FX3 Explorer Eval Breakout Board, including the EAGLE schematic and board layout files, Gerber manufacturing outputs (copper, solder mask, silk screen, and drill data), and a fabrication file. This update provides the necessary design artifacts to manufacture the RevC revision of the board.

hardware · high confidence

Added device personality and plot color configuration files

The UserConfig area now includes \dut\_personalities.csv\ and \plot\_colors.txt\. The CSV file defines device personalities for a wide range of ADI sensors (including ADIS16xxx, ADcmXL, and ADIS1660x families), specifying parameters such as SPI frequency, stall times, and default plot registers. The text file provides a new palette of 12 hex color codes for plotting data.

src/UserConfig · high confidence

Added register maps for new ADIS1613x, ADIS1620x, ADIS1630x, ADIS1636x, ADIS16375, ADIS16385, ADIS16405, and ADIS16407 IMU parts

This change adds comprehensive CSV-based register map definitions for a wide range of Analog Devices IMU parts, enabling the driver to correctly interpret sensor data and configuration registers for these devices. The new files cover the ADIS1613x family (ADIS16133, ADIS16135, ADIS16136, ADIS16137), the ADIS1620x family (ADIS16201, ADIS16203, ADIS16209, ADIS16210, ADIS16228), the ADIS1630x family (ADIS16300, ADIS16305), the ADIS1636x family (ADIS16362, ADIS16364, ADIS16365, ADIS16367), the ADIS16375, ADIS16385, ADIS16405, and ADIS16407. Each map defines the specific register addresses, scales, read/write flags, and calibration parameters required for accurate data acquisition and device control for that specific hardware variant.

regmaps · high confidence

Initial release of EVAL-ADIS-FX3 evaluation software

This commit introduces the initial public release of the EVAL-ADIS-FX3 evaluation software, providing a complete solution for capturing inertial sensor data. The release includes the iSensor FX3 Evaluation GUI (a WinForms application requiring .NET Framework 4.5+), a .NET API wrapper (FX3ApiWrapper) for custom application development, and a StreamDataLogger project for recording data to files. The repository is structured with a Visual Studio solution file, comprehensive documentation in the README, and necessary build artifacts like .gitignore and license files.

(repo-wide) · high confidence

Initial release of FX3ApiWrapper for non-.NET integration

The src\_wrapper directory now contains the FX3ApiWrapper library, which provides a simplified interface for consuming the FX3 API from non-.NET languages such as LabVIEW, MATLAB, and Python. The Wrapper.cs implementation translates complex .NET class objects into numeric or string primitives, enabling easier interop. The release includes a .gitignore file to manage build artifacts and a README.md documenting the library's purpose, integration examples, and debugging capabilities.

_src\wrapper · high confidence

Introduce StreamDataLogger for buffered streaming with configurable timestamping and data scaling

A new StreamDataLogger component has been added to support streaming data to a file with configurable buffering and timestamping. The logger now uses a single stream-start timestamp for all buffered data rather than recording individual timestamps per buffer, simplifying the output to report only stream time. Users can enable data scaling to native units and configure buffering parameters such as buffers per write and file row limits to optimize write performance.

_src\StreamDataLogger · high confidence

New ADcmXL real-time streaming and buffered logging GUIs

Added two new Windows Forms for the ADcmXLx021 series machine health sensors: a real-time streaming capture interface and a buffered data logging interface. The streaming GUI allows users to configure capture parameters such as frames per sample, lines per CSV file, and trigger methods (pin or timer), while the buffered logging GUI supports capturing time-domain or FFT data from specific ADcmXL models (ADcmXL1021, 2021, 3021) and saving it to CSV files.

src · high confidence

New MATLAB examples for ADIS1650x and ADIS1657x IMUs

Added new MATLAB scripts in the \src\_wrapper/examples/Matlab\ directory to demonstrate usage of the FX3 API wrapper. The \adis16488\_example.m\ script shows how to read accelerometer data from an ADIS1648x IMU and perform an FFT. The \adis1657x\_sync\_example.m\ script provides examples for configuring and using various synchronization modes (internal, external, and scaled sync) with the ADIS1657x IMU. The \fx3\_api\_example.m\ script demonstrates basic data acquisition and FFT analysis for the ADIS1650x series. A README.md file has also been added to explain the example setup and resource paths.

_src\wrapper/examples/Matlab · high confidence

New Python examples for ADIS16210 and ADIS1650x IMUs

Added Python example scripts demonstrating usage of the FX3 API wrapper with ADIS16210 and ADIS1650x IMUs. The ADIS16210 example enables decimation filtering and data-ready triggered sampling on DIO1, while the ADIS1650x example synchronizes register reads with the Data Ready signal. Both examples require PythonNet and use hard-coded paths to locate the FX3 API wrapper DLL and device-specific register maps.

_src\wrapper/examples/Python · high confidence

New helper classes for burst data management and plotter configuration

This change introduces a new \HelperClasses\ folder containing core logic for handling IMU burst reads and plotter settings. The \BurstManager\ class now manages burst read transactions for supported ADIS1636x, ADIS164xx, and ADIS165xx families, configuring the FX3 and DUT based on device capabilities. \DutPersonality\ stores device-specific settings, including a fix for handling commas in file paths by replacing them with a token. \PlotterSettings\ and \RegPlotterInfo\ classes store and manage user-configurable options for time-domain and FFT plotters, such as timestamps, autoscaling, and passband limits.

src/HelperClasses · high confidence

Behavioural changes

Added XML documentation for FX3 and ADIS API libraries

The resources directory now includes generated XML documentation files for the internal FX3 and ADIS API libraries, including AForge.Math, FX3Api, FX3ApiWrapper, FX3USB, RegMapClasses, SignalProcessing, StreamDataLogger, adisApi, and adisInterface. These files provide IntelliSense and documentation support for the underlying hardware interface and signal processing components used by the application.

resources · high confidence

Application renamed to iSensor FX3 Eval with updated settings and resources

The application has been renamed to iSensor FX3 Eval, with the main entry point updated to launch the TopGUI form. New user settings have been added to persist the last connected FX3 board, the selected DUT personality, and options to log scaled data and timestamps. The resource file now includes chip illustrations for additional ADIS product families (such as ADIS1660x), and the assembly version has been incremented to 2.9.5.11.

src/My Project · high confidence

Dependencies

Initial project structure and dependency configuration for iSensor FX3 Eval

The iSensor FX3 Eval application and its supporting libraries are now defined by three new project files (iSensorFX3Eval.vbproj, StreamDataLogger.vbproj, and FX3ApiWrapper.csproj). These files establish the build configuration for the evaluation software, targeting .NET Framework 4.5.2 and referencing local binary dependencies such as adisApi, adisInterface, CyUSB, FX3Api, and RegMapClasses located in the resources folder. This change introduces the project scaffolding required to compile the application and its data logging components.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 44 → 44 (+0.0)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 84 → 84 (+0.0)
  • Architecture 98 → 98 (+0.0)
  • Maturity 46 → 46 (+0.0)
  • Readiness 17 → 17 (+0.0)
  • Security 100 → 100 (+0.0)

Resolved (4)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (README.md)
  • Documentation: no usage examples (README.md)
  • redundant comment (src_wrapper/Wrapper.cs)

New (2)

  • Inconsistent naming for LED control commands. 'UserLEDBlink' uses the verb 'Blink' to describe an action, whereas 'UserLEDOn' and 'UserLEDOff' use noun-like state descriptors ('On', 'Off') which are typically predicates or state names rather than imperative commands for void methods. For void methods (commands), a consistent verb-based naming convention (e.g., 'Blink', 'TurnOn', 'TurnOff' or 'Enable', 'Disable') is preferred.
  • redundant comment (src_wrapper/Wrapper.cs)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

analogdevicesinc/iSensor-FX3-Eval was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 42d7b957dfaaf38303726b14abd0bf566810c5d3 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.