Skip to content

EarlVadim/wxCAN-Sniffer

This branch is 17 commits ahead of KruFFT/wxCAN-Sniffer:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

538c124 · Jan 29, 2025

History

75 Commits
Jan 28, 2025
Dec 6, 2019
Jul 26, 2024
Jan 29, 2025
Jan 29, 2025
Jul 24, 2024
Jul 3, 2024
Jan 29, 2025
Jul 26, 2024

Repository files navigation

Downloads License

wxCAN-Sniffer - CAN bus sniffer (PC side)

  • Изменен ID для пакета статистики с 0x0 на 0xEEE
  • Изменен язык интерфейса с русского на English
  • Скетч под ESP32 переработан на поддержку 2-х CAN-шин и поддержку приложения для смартфона с настройкой CAN.
  • Изменена цветовая гамма темной схемы

AN-Sniffer APP wxCAN-Sniffer

Возможности

  • Отображение передаваемых в CAN-шине пакетов
  • Отображение выбранных данных в двоичном и десятичном виде
  • Построение графика по выбранному пакету + следующий байт
  • Сохранение всех данных в журнал
  • Отправка своего пакета в CAN-шину

Статья

О проекте

Сборка приложения в Windows

Используя Windows CMake

  1. Понадобится Visual Studio 2022 Community (используется компилятор и SDK) и CMake
  2. Запустить Developer Command Prompt for VS 2022 и перейти в директорию с исходниками
  3. Запустить подготовку проекта к сборке, будет автоматически скачан и подготовлен пакет wxWidgets в директорию ./build:
cmake -S . -B build
  1. Запустить сборку (результат будет в ./build/Release):
cmake --build build -j --config Release
  1. Если необходима отладочная сборка (результат будет в ./build/Debug):
cmake --build build -j

Если по каким-либо причинам подготовка завершается с ошибкой, то в файле CMakeLists.txt можно указать версию wxWidgets убрав комментарий со строки GIT_TAG v3.2.5 и задав в ней номер версии.

Используя Visual Studio 2022 Community

Сначала необходимо собрать wxWidgets в static-режиме и потом само приложение.

1. Сборка Windows wxWidgets

  1. Понадобится Visual Studio 2022 Community
  2. Скачать и установить wxWidgets если это установщик, либо распаковать, если это архив. Например в директорию C:/wxWidget
  3. Создать переменную окружения WXWIN и присвоить ей значение директории C:/wxWidgets
  4. В директории C:/wxWidgets/build/msw открыть файл решения wx_vc17.sln для Visual Studio 2022
  5. В Solution Explorer, с помощью клавиши Shift, выделить все проекты, кроме _custom_build и зайти в Properties проектов
  6. В разделе C/C++Code Generation изменить параметр Runtime Library:
    • для конфигурации Debug выбрать /MTd
    • для конфигурации Release выбрать /MT
  7. Нажать Ok и скомпилировать (Ctrl+B) библиотеки wxWidgets по очереди для Debug и Release конфигураций.

2. Сборка приложения в Visual Studio

  1. Открыть файл решения wxCAN-Sniffer.sln
  2. Выбрать необходимую конфигурацию Release или Debug
  3. Произвести сборку нажав F7 (результат будет в ./x64/Release или ./x64/Debug соответственно)

Сборка приложения в Linux

Используя Linux CMake

  1. Понадобится установить следующие пакеты:
sudo apt-get install build-essential
sudo apt-get install libgtk-3-dev
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt-get install cmake
  1. Запустить подготовку проекта к сборке, будет автоматически скачан и подготовлен пакет wxWidgets в директорию ./build-release:
cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release

или отладочной сборки в ./build-debug:

cmake -S . -B build-debug -DCMAKE_BUILD_TYPE=Debug
  1. Запустить сборку Release (результат будет в ./build-release):
cmake --build build-release -j

или Debug (результат будет в ./build-debug):

cmake --build build-debug -j

По каким-то причинам, сборка через CMake в Linux требует огромных ресурсов памяти. На компьютере с 8 ГБ оперативной памяти сборка не завершалась. Помогло увеличение размера swap-файла до 64 ГБ:

sudo swapoff /swapfile
sudo fallocate -l 64G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Если по каким-либо причинам подготовка завершается с ошибкой, то в файле CMakeLists.txt можно указать версию wxWidgets убрав комментарий со строки GIT_TAG v3.2.5 и задав в ней номер версии.

Используя Visual Studio Code

1. Сборка Linux wxWidgets

  1. Понадобится Visual Studio Code и установить следующие пакеты:
sudo apt-get install build-essential
sudo apt-get install libgtk-3-dev
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
  1. Скачать и установить wxWidgets:
git clone https://github.com/wxWidgets/wxWidgets.git
  1. Обновить необходимые зависимости:
cd wxWidgets
git submodule update --init src/stc/lexilla
git submodule update --init src/stc/scintilla
git submodule update --init src/expat
git submodule update --init src/jpeg
git submodule update --init src/png
git submodule update --init src/tiff
git submodule update --init src/zlib
git submodule update --init 3rdparty/catch
git submodule update --init 3rdparty/nanosvg
git submodule update --init 3rdparty/pcre
  1. Подготовить директорию ./gtk-build для сборки и запустить настройку:
mkdir gtk-build
cd gtk-build
../configure --with-gtk=3 --with-opengl --disable-shared
  1. Запустить сборку (использовать 8 потоков):
make -j8
  1. Установить собранный пакет в систему:
sudo make install
sudo ldconfig
  1. Скопировать файл setup.h (обратите внимание на номер версии в директориях, если версия отличается от 3.3, то её надо поправить):
sudo cp ./lib/wx/include/gtk3-unicode-static-3.3/wx/setup.h /usr/local/include/wx-3.3/wx

2. Сборка приложения в Visual Studio Code

  1. Открыть директорию проекта ./wxCAN-Sniffer/wxCAN-Sniffer в редакторе Visual Studio Code
  2. Открыть файл Application.cpp
  3. В меню Terminal выбрать пункт Run Task, выбрать необходимую конфигурацию C/C++: GCC build release или C/C++: GCC build debug (результат будет в этой же директории)

Сборка приложения в macOS

Сборка и работа приложения возможна

License

MIT

About

CAN bus sniffer (PC side)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.8%
  • CMake 1.2%