# BEANalyzer UltraPro for Windows

## Requirements

Install Python 3.12 from the official Python website.

During installation, enable:

```text
Add python.exe to PATH
```

Check it in PowerShell:

```powershell
py -3.12 --version
```

## Portable run

Double-click:

```text
Run_BEANalyzer_UltraPro.bat
```

## Install to Windows user profile

Double-click:

```text
Install_BEANalyzer_UltraPro_Windows.bat
```

It copies the app to:

```text
%LOCALAPPDATA%\BEANalyzer UltraPro
```

and creates shortcuts on the Desktop and Start Menu.

On first launch, it creates a `.venv` and installs requirements automatically.

## v2.2 Maintenance Update

This package includes fixed CSV replay, updated application icons, and preserved macOS/Linux executable permissions in the ZIP archive.


## Help Menu

The application includes a top-level `Help` menu:

```text
Help -> Check for Updates...
Help -> About
```

`Check for Updates...` opens the AE&D website in the default system browser.
`About` opens a professional software information dialog with the BEANalyzer UltraPro icon, AE&D manufacturer logo, website link, version information, and © 2026 AE&D copyright notice.


## v2.5 Startup / About Menu Fix

- Hardened the About menu role handling for different PySide6 builds.
- Removed a risky macOS launcher override that could cause the app to open and close immediately on some systems.
- Added runtime/crash logging under `~/Library/Application Support/BEANalyzer UltraPro/logs/` on macOS.
- Help -> About BEANalyzer UltraPro remains available, and Check for Updates opens https://aend-tech.com.


## BEANalyzer UltraPro v2.6 - CAN Gateway Monitor

This version adds a dedicated CAN Gateway Monitor window. It can be opened from:

```text
View -> Open CAN Gateway Monitor
Devices / CAN Gateway -> Open CAN Gateway Monitor
```

The CAN Gateway Monitor shows CAN RX/TX traffic in real time, including frames received from python-can hardware such as CANalyst-II, CANable/SLCAN, SocketCAN, PCAN, Kvaser, Vector, or virtual backends, plus frames sent through the Arduino CAN serial bridge.

The window includes:

```text
- Live RX/TX table
- Backend/source column
- CAN ID, extended flag, DLC and data bytes
- Raw CAN notation ID#DATA
- Per-ID counter
- Per-ID delta time
- CSV export
- JSON export
- Manual CAN transmit console
- Repetition count
- Delay between transmissions
- Continuous loop mode when Count = 0
```

The manual CAN transmit console can send through either:

```text
python-can
Arduino CAN serial bridge
```

For CANalyst-II, remember that it normally does not use a COM/tty serial port. Use the python-can backend with interface `canalystii`, device/channel configuration, and the selected bitrate.
