Перейти к основному содержимому

Record (запись данных)

Окно Record (вкладка в нижней панели) предназначено для записи потока данных с микросхемы в текстовый файл. В режиме записи контроллер ESP32 циклически считывает заданные пары регистров с интервалом 1 мс и передаёт значения на ПК, где они сохраняются в файл. Позволяет захватывать динамические процессы для последующего анализа.

Расположение элементов

Окно разделено на три части:

  • Верхняя панель — кнопка записи, поле пути к файлу и кнопка обзора.
  • Центральная панель — таблица из 9 пар адресов (четный + следующий нечётный).
  • Нижняя панель — статус записи.

Панель управления

ЭлементНазначение
Rec / StopКнопка запуска и остановки записи. При нажатии Rec отправляется команда START_RECORD на ESP32, начинается циклический опрос и запись данных в файл. Кнопка меняет текст на Stop. Повторное нажатие останавливает запись (STOP_RECORD).
Поле путиПуть к файлу для сохранения. Путь сохраняется между сеансами в config.properties. По умолчанию — rec1.txt.
...Кнопка выбора файла через диалог.
СтатусТекстовая метка в нижней части: «Ready» — ожидание, «Recording... N samples» — идёт запись, «Done. N samples written» — запись завершена.

Таблица адресов

Каждая строка задаёт пару регистров для чтения:

СтолбецНазначение
#Номер пары (1–9).
Addr (even)Чётный адрес регистра (редактируемое поле).
Addr (odd)Нечётный адрес (автоматически = even + 1, только для чтения).
14b14Флажок режима объединения. При установке значения из двух 16-битных регистров объединяются как 14 старших бит + 14 младших бит (2 старших бита каждой части отбрасываются). По умолчанию — объединение 12 старших + 16 младших бит.

Значения по умолчанию

#Addr (even)Описание
116
248
3162
4674
5676
6678
7680
8682
9684

При изменении чётного адреса нечётный обновляется автоматически (even + 1). Настройки пар адресов и флажков 14b14 сохраняются между сеансами.

Формат выходного файла

Каждая строка содержит 9 значений, разделённых табуляцией. Значения записываются в шестнадцатеричном формате (7 цифр, с ведущими нулями):

0012345\t0023456\t0034567\t...

Объединение данных

Для каждой пары ESP32 считывает два 16-битных слова:

  • 14b14 выключен (по умолчанию): result = (odd[11:0] << 16) | even — 12 старших бит из нечётного регистра + 16 младших бит из чётного. Итого 28 бит.
  • 14b14 включен: result = (odd[13:0] << 14) | even[13:0] — 14 старших бит + 14 младших бит. Итого 28 бит (4 старших бита каждой половины отбрасываются).

Взаимодействие с ESP32

В режиме записи ESP32 выполняет циклический опрос микросхемы по SPI по заданным адресам и передаёт результаты на ПК через UART. Порядок работы:

  1. Rec — ПК отправляет команду START_RECORD с адресами всех 18 регистров (9 пар × 2).
  2. ESP32 начинает циклический опрос микросхемы с интервалом 1 мс.
  3. При каждом опросе ESP32 считывает 18 регистров и отправляет пакет на ПК.
  4. ПК принимает данные через callback, объединяет пары в значения и записывает в файл.
  5. Stop — ПК отправляет команду STOP_RECORD, ESP32 прекращает опрос.

Типичное использование

  1. Настройте пары адресов в таблице.
  2. Укажите путь к файлу записи.
  3. Нажмите Rec — начнётся запись данных.
  4. При необходимости включите флажки 14b14 для нужных пар (зависит от формата данных в регистрах).
  5. Нажмите Stop для остановки записи.
  6. Полученный файл можно использовать для анализа в MATLAB, Python или других инструментах.