Add BullTron BLE desktop GUI
This commit is contained in:
@@ -52,6 +52,43 @@ Send that frame to characteristic `0000fff2-0000-1000-8000-00805f9b34fb`
|
||||
after subscribing to notifications on
|
||||
`0000fff1-0000-1000-8000-00805f9b34fb`.
|
||||
|
||||
## Local Desktop App
|
||||
|
||||
This repo includes a small Python GUI client that can scan for BullTron-style
|
||||
BLE devices, connect, poll telemetry, and display the decoded values locally on
|
||||
a PC.
|
||||
|
||||
Install:
|
||||
|
||||
```sh
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
python3 -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Run:
|
||||
|
||||
```sh
|
||||
python3 bulltron_gui.py
|
||||
```
|
||||
|
||||
The GUI shows:
|
||||
|
||||
- live pack voltage, current, discharge watts, SOC, remaining Ah, cell max/min,
|
||||
imbalance, cell count, cycle count, charge MOS, discharge MOS, and computed
|
||||
time-to-empty/time-to-full
|
||||
- alarm/status words decoded into readable alarm names where known
|
||||
- system/settings values such as the control PIN, firmware/version text,
|
||||
product info, battery code/SN, production-date raw value, and inferred battery
|
||||
Ah when the settings block contains a plausible capacity
|
||||
- raw TX/RX frames for debugging and protocol confirmation
|
||||
|
||||
The settings tab has MOS on/off controls, but writes are deliberately guarded:
|
||||
you must enter the BMS PIN, tick `Enable MOS writes`, and confirm each write.
|
||||
The default write registers are the observed live MOS status registers
|
||||
`0x0035` and `0x0036`; keep them editable until those write registers are
|
||||
verified on your exact hardware/firmware.
|
||||
|
||||
## App Workflow
|
||||
|
||||
The app's normal telemetry flow is:
|
||||
|
||||
Reference in New Issue
Block a user