Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
92b8e8c
attempt to refactor the logwriter to have a more clean surface
roffe Jun 3, 2026
3d19825
update deps
roffe Jun 3, 2026
618e30b
get rid of sysvar order
roffe Jun 5, 2026
59af7f5
add pprof under a debug tag
roffe Jun 8, 2026
d7affb7
move to experiments
roffe Jun 10, 2026
cda8006
add new bus
roffe Jun 10, 2026
62e07bb
remove ebusmonitor
roffe Jun 10, 2026
8f74ee3
remove ebusmonitor
roffe Jun 10, 2026
1cf5892
some concepts for t7logger
roffe Jun 10, 2026
3dbc4fa
use new bus
roffe Jun 10, 2026
b31da7c
update multiplewindows
roffe Jun 10, 2026
f79537c
deps and whatsnew
roffe Jun 10, 2026
76d6ba2
update ecusymbol
roffe Jun 10, 2026
fd7312b
WBL refactor to reconnect port if it's dropped mid logging
roffe Jun 11, 2026
28efe96
widget improvements
roffe Jun 11, 2026
8ec418f
mapviewer optimization
roffe Jun 11, 2026
c27591a
optimize meshgrid
roffe Jun 11, 2026
72ccc10
update deps
roffe Jun 11, 2026
7a96bd1
better meshgrid
roffe Jun 11, 2026
ca275e2
update plotter
roffe Jun 11, 2026
d68d955
cache objects
roffe Jun 11, 2026
b63e817
save
roffe Jun 11, 2026
a20073e
2d graph
roffe Jun 12, 2026
6046190
build pipeline
roffe Jun 12, 2026
8ec8166
save meshgrid with setcursor
roffe Jun 12, 2026
b515346
meshgrid poly support
roffe Jun 12, 2026
99fcc21
meshgrid shader
roffe Jun 12, 2026
44243f7
resolve issue with wbledit object cache
roffe Jun 12, 2026
9f78467
remove unused
roffe Jun 12, 2026
2cef514
update ecusymbol
roffe Jun 12, 2026
aadb984
use opengl shader to draw log plotter
roffe Jun 12, 2026
69284e7
shaders in dials
roffe Jun 12, 2026
988e9ac
update whatsnew
roffe Jun 12, 2026
905822c
revert dial shaders
roffe Jun 13, 2026
e2f8a85
make render mode configurable
roffe Jun 13, 2026
ef9c1a6
fix poly meshgrid
roffe Jun 13, 2026
24af0ea
meshgrid improvements
roffe Jun 13, 2026
8031da5
set default mode for mesh
roffe Jun 13, 2026
59bfd11
save settings
roffe Jun 13, 2026
3c66f3f
refactor settings
roffe Jun 13, 2026
55422fe
more settings
roffe Jun 13, 2026
8762b8c
update secret
roffe Jun 13, 2026
7c82074
fix innovate serial logging
roffe Jun 14, 2026
e4a44f7
save tunnel shader
roffe Jun 14, 2026
3f2c791
tidy
roffe Jun 15, 2026
96d49a2
improved selection and copy paste
roffe Jun 15, 2026
a51146e
fancier meshgrid
roffe Jun 15, 2026
1c641d8
better copy paste on mapviewer
roffe Jun 15, 2026
84653f1
save
roffe Jun 15, 2026
2e22b3b
matrixbuilder and meshgrid updates
roffe Jun 16, 2026
709f7b8
experiment
roffe Jun 17, 2026
9c0590f
add initial AS2 support
roffe Jun 17, 2026
87055af
add coverage view
roffe Jun 17, 2026
988cc34
gocan stuff
roffe Jun 18, 2026
ae0b338
new symbol browser
roffe Jun 18, 2026
4c23dd0
add liveplotter
roffe Jun 18, 2026
02c7205
fix bug in matrixbuilder
roffe Jun 18, 2026
9a97b3c
split out to separate minmax function in plotter
roffe Jun 18, 2026
2c6b0b1
get and set value of plotter tappable text
roffe Jun 18, 2026
5b26a12
use new end of frame marker
roffe Jun 18, 2026
3b7cf9d
add logexport to be able to cut out sections of a log
roffe Jun 18, 2026
e8c860d
use end of frame onCapture
roffe Jun 18, 2026
8e52e1a
add live plot to toolbar
roffe Jun 18, 2026
f0f7eff
add PublishFrame
roffe Jun 18, 2026
6b00801
update whatsnew
roffe Jun 18, 2026
0287f13
update go deps
roffe Jun 18, 2026
614d6e4
better single cell viewing
roffe Jun 19, 2026
e778e60
refactor mainmenu again
roffe Jun 19, 2026
9c5a1cf
update ecusymbol
roffe Jun 19, 2026
92f3186
add button to decr or incr
roffe Jun 19, 2026
f00f7b6
multimap
roffe Jun 19, 2026
e4ee237
toggle 3d mesh from context menu
roffe Jun 19, 2026
b991ed5
minimize support
roffe Jun 19, 2026
02cb2fe
cache borders
roffe Jun 19, 2026
1029260
fix possible crash
roffe Jun 19, 2026
a7dd4a4
restructure toolbar and menu some
roffe Jun 20, 2026
bb8619b
fix bug when toggling 3d mesh
roffe Jun 20, 2026
0ff8cbc
symbolcompare
roffe Jun 20, 2026
e44b0d3
symbolcompare tweaking
roffe Jun 20, 2026
308bc44
add region axis to display open and closed region border
roffe Jun 20, 2026
8517a26
update deps
roffe Jun 20, 2026
df1d676
liveplot
roffe Jun 20, 2026
b6cc041
add ctrl-shift click
roffe Jun 21, 2026
acaacc4
update t7 menus
roffe Jun 21, 2026
c12c612
some menu stuff and experimental scaler
roffe Jun 22, 2026
518e98c
more maps
roffe Jun 23, 2026
02c5166
some housekeeping
roffe Jun 23, 2026
d819546
another round of optimizations
roffe Jun 25, 2026
790b36f
update gocan
roffe Jun 25, 2026
6e6c045
work now
roffe Jun 25, 2026
0a2c30e
varför e du arg
roffe Jun 26, 2026
8ab02b1
kan du inte cykla eller?
roffe Jun 26, 2026
59009af
tons of stuff again
roffe Jun 28, 2026
1d91b45
save
roffe Jul 1, 2026
f22d00e
save
roffe Jul 1, 2026
e3731f3
cleanup
roffe Jul 3, 2026
f855fd1
updates to canflasher
roffe Jul 4, 2026
f11b589
t5: rewrite flashing for correctness, error handling and recovery
roffe Jul 4, 2026
2452248
canflasher: unify logging and confirm flash with ECU info
roffe Jul 4, 2026
4bd2e74
trionic5: add T5 CLI widget for the ECU serial monitor over CAN
roffe Jul 4, 2026
a75bc1a
chore: bump fyne, add T7 source folder to workspace
roffe Jul 4, 2026
72eedb3
fix deps
roffe Jul 4, 2026
12ebb7c
save deps
roffe Jul 5, 2026
3478edd
gocan v2
roffe Jul 5, 2026
89d1f91
ton-o-stuff
roffe Jul 6, 2026
bbfb9c6
Merge pull request #41 from roffe/gocanv2
roffe Jul 6, 2026
b3146c0
fix build
roffe Jul 6, 2026
58b9330
update sum
roffe Jul 6, 2026
316f302
try fix
roffe Jul 6, 2026
0c45640
workflows
roffe Jul 6, 2026
7a00a35
update workflow
roffe Jul 6, 2026
73f0a77
update gocan
roffe Jul 7, 2026
def38fd
add refresh to settings and update fyne
roffe Jul 7, 2026
370f800
add scan support for the j2534 proxy
roffe Jul 7, 2026
6cb3707
update deps
roffe Jul 7, 2026
f01e2df
fix mapviewer grid to be more consistent
roffe Jul 10, 2026
1459f78
better compare
roffe Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions .github/workflows/linux-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,23 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v6.4.0
with:
go-version: '1.26.3'
go-version: '1.26.4'
cache: false
- name: Get dependencies
run: sudo apt-get update && sudo apt-get install 7zip gcc libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libx11-dev xorg-dev libusb-1.0-0-dev libgtk-3-dev libasound2-dev libftdi1 libftdi1-dev
- name: Build CanGateway
run: GOPATH=$PWD/go go install -tags="j2534" github.com/roffe/gocangateway@latest; mv go/bin/gocangateway cangateway
- name: Install Kvaser CANLIB
run: |
wget -qO- "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=latest" | tar xz
make -C linuxcan/canlib
sudo make -C linuxcan/canlib install
- name: Build j2534proxy
run: make j2534proxy
- name: Get Go dependencies
run: go get .
- name: Build txlogger
run: make txlogger
- name: Archive
run: 7z a txloger_ubuntu_x64.7z cangateway txlogger
run: 7z a txloger_ubuntu_x64.7z j2534proxy.exe txlogger
- name: Release
uses: softprops/action-gh-release@v3
if: github.ref_type == 'tag'
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,18 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v6.4.0
with:
go-version: '1.26.3'
go-version: '1.26.4'
cache: false
- name: Get dependencies
run: sudo apt-get update && sudo apt-get install 7zip gcc libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libx11-dev xorg-dev libusb-1.0-0-dev libgtk-3-dev libasound2-dev libftdi1 libftdi1-dev
- name: Install Kvaser CANLIB
run: |
wget -qO- "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=latest" | tar xz
make -C linuxcan/canlib
sudo make -C linuxcan/canlib install
- name: Get Go dependencies
run: go get .
- name: Build CanGateway
run: GOPATH=$PWD/go go install -tags="j2534" github.com/roffe/gocangateway@latest
- name: Build j2534proxy
run: make j2534proxy
- name: Build txlogger
run: make txlogger
32 changes: 27 additions & 5 deletions .github/workflows/windows-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,29 +24,51 @@ jobs:
submodules: recursive

- name: Install NSIS
uses: repolevedavaj/install-nsis@v1.2.0
uses: repolevedavaj/install-nsis@v1.2.1
with:
nsis-version: '3.11'

- name: Set up Go
uses: actions/setup-go@v6.4.0
with:
go-version: '1.26.3'
go-version: '1.26.4'
cache: false

- name: Install dependencies
run: |
go get .
go install fyne.io/tools/cmd/fyne@latest
.\setup_build_env.ps1

#- name: Install CANUSB SDK
# run: |
# New-Item -ItemType Directory -Path .\canusb -Force | Out-Null
# Invoke-WebRequest -Uri "https://www.canusb.com/files/canusb_dll_driver.zip" -OutFile canusb_dll_driver.zip
# Expand-Archive -Path canusb_dll_driver.zip -DestinationPath .\canusb -Force

- name: Install CANLIB
run: |
Invoke-WebRequest -Uri "https://pim.kvaser.com/var/assets/Product_Resources/7330130980150/5.51.461/canlib_5_51_461.exe" -OutFile canlib.exe
Start-Process -FilePath .\canlib.exe -ArgumentList "/S" -Wait

- name: Install llvm-mingw
run: |
Invoke-WebRequest -Uri "https://github.com/mstorsjo/llvm-mingw/releases/download/20251216/llvm-mingw-20251216-ucrt-x86_64.zip" -OutFile llvm-mingw.zip
Expand-Archive -Path llvm-mingw.zip -DestinationPath .\ -Force
Rename-Item -Path .\llvm-mingw-20251216-ucrt-x86_64 -NewName llvm-mingw

- name: Install libusb via vcpkg
run: |
git clone https://github.com/microsoft/vcpkg.git --depth=1
.\vcpkg\bootstrap-vcpkg.bat -disableMetrics
.\vcpkg\vcpkg.exe install libusb:x64-windows

- name: Build
run: |
$env:PATH += ";D:\a\txlogger\txlogger\llvm-mingw\bin"
.\build.ps1 -cangateway -usegitsrc -txlogger -setup
.\build.ps1 -j2534proxy -txlogger -setup

- name: Creating Zip
run: 7z a txlogger.zip txlogger.exe cangateway.exe .\debug.bat C:\Progra~2\Kvaser\Canlib\Bin\canlib32.dll .\vcpkg\packages\libusb_x64-windows\bin\libusb-1.0.dll .\canusb\dll64\canusbdrv64.dll
run: 7z a txlogger.zip txlogger.exe j2534proxy.exe .\debug.bat C:\Progra~2\Kvaser\Canlib\Bin\canlib32.dll .\vcpkg\packages\libusb_x64-windows\bin\libusb-1.0.dll .\dist\canusbdrv64.dll

- name: Creating Setup Zip
run: 7z a txlogger_setup.zip txlogger_setup.exe
Expand Down
32 changes: 27 additions & 5 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,51 @@ jobs:
submodules: recursive

- name: Install NSIS
uses: repolevedavaj/install-nsis@v1.2.0
uses: repolevedavaj/install-nsis@v1.2.1
with:
nsis-version: '3.11'

- name: Set up Go
uses: actions/setup-go@v6.4.0
with:
go-version: '1.26.3'
go-version: '1.26.4'
cache: false

- name: Install dependencies
run: |
go get .
go install fyne.io/tools/cmd/fyne@latest
.\setup_build_env.ps1

#- name: Install CANUSB SDK
# run: |
# New-Item -ItemType Directory -Path .\canusb -Force | Out-Null
# Invoke-WebRequest -Uri "https://www.canusb.com/files/canusb_dll_driver.zip" -OutFile canusb_dll_driver.zip
# Expand-Archive -Path canusb_dll_driver.zip -DestinationPath .\canusb -Force

- name: Install CANLIB
run: |
Invoke-WebRequest -Uri "https://pim.kvaser.com/var/assets/Product_Resources/7330130980150/5.51.461/canlib_5_51_461.exe" -OutFile canlib.exe
Start-Process -FilePath .\canlib.exe -ArgumentList "/S" -Wait

- name: Install llvm-mingw
run: |
Invoke-WebRequest -Uri "https://github.com/mstorsjo/llvm-mingw/releases/download/20251216/llvm-mingw-20251216-ucrt-x86_64.zip" -OutFile llvm-mingw.zip
Expand-Archive -Path llvm-mingw.zip -DestinationPath .\ -Force
Rename-Item -Path .\llvm-mingw-20251216-ucrt-x86_64 -NewName llvm-mingw

- name: Install libusb via vcpkg
run: |
git clone https://github.com/microsoft/vcpkg.git --depth=1
.\vcpkg\bootstrap-vcpkg.bat -disableMetrics
.\vcpkg\vcpkg.exe install libusb:x64-windows

- name: Build
run: |
$env:PATH += ";D:\a\txlogger\txlogger\llvm-mingw\bin"
.\build.ps1 -cangateway -usegitsrc -txlogger -setup
.\build.ps1 -j2534proxy -txlogger -setup

- name: Creating Zip
run: 7z a txlogger.zip txlogger.exe cangateway.exe .\debug.bat C:\Progra~2\Kvaser\Canlib\Bin\canlib32.dll .\vcpkg\packages\libusb_x64-windows\bin\libusb-1.0.dll .\canusb\dll64\canusbdrv64.dll
run: 7z a txlogger.zip txlogger.exe j2534proxy.exe .\debug.bat C:\Progra~2\Kvaser\Canlib\Bin\canlib32.dll .\vcpkg\packages\libusb_x64-windows\bin\libusb-1.0.dll .\dist\canusbdrv64.dll

- name: Creating Setup Zip
run: 7z a txlogger_setup.zip txlogger_setup.exe
Expand Down
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
.tmp
tmp
tmp2
dist
.vscode
*.afr
*.t7l
*.t8l
*.csv
*.dif
*.dll
/*.dll
/*.json
*.dat
*.exe
*.zip
!pkg/dtc/wis/wis.zip

# raw SAAB WIS dumps used by pkg/dtc/wis/gen.go
/pkg/dtc/9400/
/pkg/dtc/9440/
/pkg/dtc/9600/
debug.log
symbols.txt
*.o
Expand Down
2 changes: 1 addition & 1 deletion FyneApp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Icon = "Icon.png"
Name = "txlogger"
ID = "com.roffe.txlogger"
Version = "2.1.10"
Build = 689
Build = 705

[Migrations]
fyneDo = true
29 changes: 23 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,36 @@ endif

default: txlogger

cangateway:
go build -tags="j2534" -ldflags '-s -w' -o cangateway ../gocangateway
pkg/ota/firmware.bin: /home/roffe/Documents/PlatformIO/Projects/txbridge/.pio/build/esp32dev/firmware.bin
@cp $< $@

txlogger:
go build -tags=$(BUILDTAGS) -ldflags '-s -w' -o txlogger .

release:
fyne package -tags=$(BUILDTAGS) --release

run: clean cangateway
debug: clean
@echo Using compiler "$(CC)"
-go run -tags=$(BUILDTAGS) . 2>&1 | tee run.log
-go run -tags=$(BUILDTAGS),debug . 2>&1 | tee run.log

windows:
CGO_CFLAGS="-Ivcpkg/packages/libusb_x64-windows/include/libusb-1.0" \
CGO_LDFLAGS="-Lvcpkg/packages/libusb_x64-windows/lib" \
CGO_ENABLED=1 \
CC=x86_64-w64-mingw32-gcc \
GOARCH=amd64 \
GOOS=windows \
fyne package --os windows --icon Icon.png -tags=$(BUILDTAGS) --release
# go build -tags=$(BUILDTAGS) -ldflags '-s -w' -o txlogger.exe .

run: clean pkg/ota/firmware.bin
@echo Using compiler "$(CC)"
-GOEXPERIMENT=simd go run -tags=$(BUILDTAGS) . 2>&1 | tee run.log

clean:
rm -f cangateway
rm -f txlogger
rm -f cangateway j2534proxy.exe
rm -f txlogger
.PHONY: j2534proxy
j2534proxy:
GOOS=windows GOARCH=386 go build -tags="j2534" -ldflags '-s -w' -o j2534proxy.exe ./j2534proxy
42 changes: 10 additions & 32 deletions build.ps1
Original file line number Diff line number Diff line change
@@ -1,59 +1,37 @@
param(
[switch]$cangateway,
[Alias("cangateway")]
[switch]$j2534proxy,
[switch]$txlogger,
[switch]$setup,
[switch]$release,
[switch]$usegitsrc
)

if (-not ($cangateway -or $txlogger -or $setup -or $release)) {
Write-Host "Please specify at least one of the following switches: -cangateway, -txlogger, -setup, -release"
if (-not ($j2534proxy -or $txlogger -or $setup -or $release)) {
Write-Host "Please specify at least one of the following switches: -j2534proxy, -txlogger, -setup, -release"
exit
}

New-Item -ItemType Directory -Path "dist" -Force | Out-Null

if ($release) {
$cangateway = $true
$j2534proxy = $true
$txlogger = $true
$setup = $true
}

$env:CGO_ENABLED = "1"
$env:CGO_ENABLED = "1"
$env:GOGC = "100"
$env:CC = "x86_64-w64-mingw32-clang.exe"
$env:CXX = "x86_64-w64-mingw32-clang++.exe"

$current_path = Get-Location

if ($cangateway) {
Write-Output "Building cangateway.exe"
#$includes = @(
# 'C:\Progra~2\Kvaser\Canlib\INC'
#)

# $libs = @(
# 'C:\Progra~2\Kvaser\Canlib\Lib\MS'
# )
# $env:PKG_CONFIG_PATH = "$current_path\vcpkg\packages\libusb_x64-windows\lib\pkgconfig"
# $env:CGO_CFLAGS = ($includes | ForEach-Object { '-I' + $_ }) -join ' '
# $env:CGO_LDFLAGS = ($libs | ForEach-Object { '-L' + $_ }) -join ' '
if ($j2534proxy) {
Write-Output "Building j2534proxy.exe"
$env:GOOS = "windows"
$env:GOARCH = "386"
if ($usegitsrc) {
# git clone https://github.com/roffe/gocangateway.git
# Set-Location -Path ".\gocangateway"
# go build -tags="canlib,j2534" -ldflags '-s -w -H=windowsgui' -o cangateway.exe .
# Move-Item -Path ".\cangateway.exe" -Destination "$current_path\cangateway.exe" -Force
# Set-Location -Path $current_path
go install -tags="j2534" -ldflags '-s -w -H=windowsgui' github.com/roffe/gocangateway@latest
Move-Item -Path "$Env:USERPROFILE\go\bin\windows_386\gocangateway.exe" -Destination "$current_path\cangateway.exe" -Force
}
else {
#Set-Location -Path "..\gocangateway"
go build -tags="j2534" -ldflags '-s -w -H=windowsgui' -o cangateway.exe ..\gocangateway
#Move-Item -Path ".\cangateway.exe" -Destination "$current_path\cangateway.exe" -Force
#Set-Location -Path $current_path
}
go build -tags="j2534" -ldflags '-s -w -H=windowsgui' -o j2534proxy.exe .\j2534proxy
}

if ($txlogger) {
Expand Down
3 changes: 1 addition & 2 deletions console_linux.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
package main

func InitConsole() {
}
func InitConsole() {}
2 changes: 1 addition & 1 deletion console_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"os"
"syscall"

"github.com/roffe/gocan/pkg/w32"
"github.com/roffe/gocan/v2/pkg/w32"
)

const (
Expand Down
Binary file added dist/canusbdrv64.dll
Binary file not shown.
36 changes: 18 additions & 18 deletions pkg/analyzer/analyzer.go → experiments/analyzer/analyzer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,41 @@ import (

// 75 125 150 180 240 300 360 420 480 540 600 660 720 800 900 1100 1300 1500
var tolerancces []int = []int{
5, //75
5, // 75
5,
10, //125
10, // 125
10,
10, //150
10, // 150
10,
10, //180
10, // 180
10,
10, //240
10, // 240
10,
15, //300
15, // 300
15,
15, //360
15, // 360
15,
15, //420
15, // 420
15,
15, //480
15, // 480
15,
15, //540
15, // 540
15,
15, //600
15, // 600
15,
20, //660
20, // 660
20,
20, //720
20, // 720
20,
20, //800
20, // 800
30,
30, //900
30, // 900
40,
40, //1100
40, // 1100
40,
50, //1300
50, // 1300
50,
50, //1500
50, // 1500
}

// AnalyzeLambda analyzes lambda values based on stable pedal conditions
Expand Down
Loading