Skip to content

MossbauerLab/Sm2201Autosave

Repository files navigation

Это программное обеспечение используется для форсирования сохранения спектров, имзмеряемых с использованием ПО для управления спектрометром SM-2201 (ПО - MS-DOS утилита, запускается из под Win98, которое обладает псевдо-графическим интерфейсом.

Основная идея: отправка событий нажатия клавиш в MS-DOS окно, что позволит эмулировать управление программой с клавиатуры. И управление этим процессом по расписанию (сейчас сохранение через заданный интервал времени в секундах)

В Win98 имя процесса, запускающего MS-DOS программу

  • C:\WINDOWS\SYSTEM\WINOA386.MOD

SM2201 Горячие клавиши:

W - запись С - продолжение Left Arrow - на канал 1 Right Arrow - на канал 2

Для канала 1: Последовательность виртуальных нажатий клавиш будет следующая

  1. Выбор канала - Left Arrow
  2. Продолжение - Продолжение - C, Enter, Enter
  3. Запись - W
  4. Перезапись файла - Enter

Для канала 2: Последовательность виртуальных нажатий клавиш будет следующая

  1. Выбор канала - Right Arrow
  2. Продолжение - C, Enter, Enter
  3. Запись - W
  4. Перезапись файла - Enter

Конфигурационный файл для управления настройками приложения:

`

# Внимание с символа решетка (#) начинаются комментарии, они не используются для конфигурирования
# Настройки идут в виде пар ключ = значение
# в конфигурации должны присутствовать все пары значений, а именно пары, которые содержат следующие ключи: 
#    - state, 
#    - useChannel1, 
#    - useChannel2,
#    - channel1Period
#    - channel2Period
#    - outputDir
#    - archiveDir
# В текущей версии все значени¤ чувствительны к регистру, поэтому нужно использовать их так, как они перечислены выше
# state - состо¤ние автосохранени¤: 0 - автосохранение ВЫКЛ, 1 - ВКЛ , например, state = 0
state = 1
# useChannel1 - автоматическое сохранение спектров по каналу 1, 0 - автосохранение по каналу 1 ВЫКЛ, 1 - ВКЛ, например, useChannel1 = 1
useChannel1 = 1
# useChannel2 - сохранение спектров по каналу 2, 0 - автосохранение по каналу 2 ВЫКЛ, 1 - ВКЛ, например, useChannel2 = 1
useChannel2 = 1
# channel1Period - период автосохранени¤ спектров по каналу 1 в СЕК , например, дл¤ сохранения спектров с периодом 1 час,       channel1Period = 3600
channel1Period = 5
# channel2Period - период автосохранени¤ спектров по каналу 2 в СЕК , например, дл¤ сохранения спектров с периодом 1 час,     channel2Period = 3600
channel2Period = 10
# outputDir - директория (АБСОЛЮТНЫЙ ПУТЬ), в которую, SM2201 сохран¤ет спектры, например, outputDir=C:\\SM2201\\Specs
outputDir=C:\SM2201\Specs
# archiveDir - директория (АБСОЛЮТНЫЙ ПУТЬ), в которую спектры будут копироватьс¤ из outputDir с уникальным именем, содержащим timestamp,
archiveDir=C:\SavedSpecs

`Text UI Examples:

Channel 1 spec saved