dc30f3006cb90e2f745304cdcec3fc235ea78fdb
Архитектура
Проект разделен на функциональные модули, восстанавливающие логику оригинальной C++ библиотеки:
ps2000_core.c: Управление жизненным циклом контекста, глобальное состояние, подсчет ссылок.ps2000_ops.c: Диспетчер операций (реконструкцияsub_237C0), таблица виртуальных методов.ps2000_usb.c: Транспортный уровень на базеlibusb-1.0.ps2000_hw.c: Уровень абстракции оборудования (HAL), IO-команды, SPI, FPGA.ps2000_math.c: Централизованная математика (SSE/SSE2 паттерны, быстрое округление через 2^52).ps2000_osc.c: Осциллограф, расчет таймбаз, обработка данных.ps2000_gen.c: Генератор сигналов (DDS/AWG), встроенные формы волн.ps2000_cfg.c: Чтение EEPROM, калибровка, информация об устройстве.ps2000_trig.c: Валидация и расчет позиции триггера.ps2000_stream.c: Стриминг, кольцевой буфер, обработка raw-данных.ps2000_thread.c: Обертка над pthreads (замена C++IRunnable).ps2000_fw.c: Загрузчик прошивок (протокол Cypress Anchor).ps2000_init_tbl.c: Парсер бинарного скрипта инициализации регистров.ps2000_log.c: Подсистема логирования с поддержкой callback.
Сборка
make
Languages
C
86.2%
Python
10.5%
Makefile
3.3%