Skip to content

Alex5200/CAN-Statistics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚗 L3 CAN Statistics

📊 Windows Forms приложение для анализа и визуализации данных CAN-шины. Этот инструмент помогает парсить, обрабатывать и отображать статистику из дампов CAN-сообщений.

⚙️ Возможности

  • 📥 Загрузка и парсинг дампов CAN-сообщений
  • 📈 Визуализация статистики CAN-сообщений
  • 🔍 Анализ частоты и шаблонов сообщений
  • 🔄 Поддержка различных форматов CAN-сообщений

🧩 Структура данных

Приложение использует следующую основную структуру данных для представления CAN-сообщений:

public struct CANDumpData
{
    public UInt32 TickStamp;    // ⏱️ Метка времени
    public byte Prefix;         // 🔠 Префикс
    public byte Format;         // 📝 Формат сообщения
    public byte Dest;           // ➡️ Адрес назначения
    public byte Source;         // ⬅️ Адрес источника
    public byte DLC;            // 📏 Длина данных
    public byte b1, b2, b3, b4, b5, b6, b7, b8;  // 🔢 Байты данных
}

📋 Требования

  • 💻 .NET Framework (версия уточняется в настройках проекта)
  • 🖥️ Операционная система Windows

🚀 Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/Alex5200/L3_CAN-Statistics.git
  2. Откройте файл решения L3_CAN Statistics.sln в Visual Studio
  3. Соберите решение (Ctrl+Shift+B)
  4. Запустите приложение (F5)

🎮 Использование

  1. 🚀 Запустите приложение
  2. 📂 Нажмите кнопку "Загрузить" для открытия файла с дампом CAN-сообщений
  3. 👁️ Просматривайте распарсенные данные в интерфейсе
  4. 🛠️ Используйте доступные инструменты для анализа статистики CAN-сообщений

💻 Пример кода: Загрузка файла

private void buttonLoad_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        using (FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open))
        {
            byte[] bytes = new byte[fs.Length];
            int bytesRead = 0;
            while ((bytesRead = fs.Read(bytes, 0, bytes.Length)) > 0)
            {
                // 📖 Логика чтения файла
            }
            // 🔄 Обработка CAN-данных
        }
    }
}

📁 Структура проекта

  • Form1.cs - 🖼️ Главная форма приложения и логика пользовательского интерфейса
  • Data.cs - 🧮 Структуры данных и логика обработки
  • Program.cs - 🎯 Точка входа в приложение
  • Properties/ - ⚙️ Свойства и ресурсы приложения

📜 Лицензия

MIT License

🤝 Вклад в проект

Вклады приветствуются! Вы можете отправить Pull Request.

About

Windows Forms приложение для анализа и визуализации данных CAN-шины.

Resources

License

Stars

Watchers

Forks

Contributors

Languages