Skip to content

khosta77/project_Squid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект Squid

Система управления до 10 шаговыми двигателями (ШД) для ЧПУ-станков. Поддерживает синхронный и асинхронный режимы запуска.

Архитектура

PC (squid CLI / MotorManagerService)
    | USB
    v
FT232RL (USB-UART мост)
    | UART4
    v
STM32F407VG (центральный контроллер)
    | USART2 + CD4066BM мультиплексор
    v
STM32G031F8P6 x10 (Motor Drivers)
    | STEP/DIR
    v
Драйверы ШД -> Моторы

Сборка firmware

Требуется arm-none-eabi-gcc. Используется чистый CMSIS (HAL запрещён).

# Оба таргета
cmake -B build && cmake --build build

# Только MCU / только Motor Driver
cmake --build build --target stm32f407vg_mcu
cmake --build build --target stm32g031_motor_driver

# Прошивка через ST-Link
cmake --build build --target flash-mcu
cmake --build build --target flash-driver

Python CLI

poetry install

# Центральный MCU
poetry run squid board version
poetry run squid board status
poetry run squid board move -m 1 -s 5000

# Motor Driver (прямое управление)
poetry run squid driver move --accel 2000 --speed 5000 --steps 1000
poetry run squid driver stress-test --count 10
poetry run squid driver dump-raw

Тестирование

# Unit тесты
poetry run pytest tests/test_packet.py tests/test_motor.py -v

# Интеграционные тесты (требуется подключенный MCU)
poetry run pytest tests/test_integration.py -v --port /dev/tty.usbserial-*

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

Директория Описание
firmware/stm32f407vg/ Прошивка центрального MCU (STM32F407VG, Cortex-M4)
firmware/stm32g031f8/ Прошивка Motor Driver (STM32G031F8P6, Cortex-M0+)
cli/ Единый Python CLI (squid board ... / squid driver ...)
tests/ Unit и интеграционные тесты (pytest)
docs/ Документация: протоколы, архитектура, схемы
cmake/ Единый ARM toolchain

Документация

Известные проблемы

  • FT232RL нестабилен -- периодически не видит данные
  • Запрос версии срабатывает через раз
  • Асинхронный режим работает нестабильно

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages