Меню

Категории

Digital Oscillograph. Второй альфарелиз

Home » Hardware » Digital Oscillograph. Второй альфарелиз
Категория: Development
Опубликованно:25. Август 2009, 01:00


Свои впечатления после успешного испытания второго релиза Digital Oscillograph. Что нового, какие проблемы уже успели решить, а какие предстоит. Свои эмоции, исходники скнишоты прилагаються.


Преамбула

В это весьма раннее время я пишу эти строки в радостном настроении. С чем это связанно? Всё очень просто, мы протестировали второй релиз “Цифрового осциллографа” и тесты прошли удачно!

Какие проблемы были, и что нового?

Новое

1. Основное – использование OpenGL в качестве инструмента для рисования графики. Наверно именно с ним, а вернее с реализацией его под C# была самая большая проблема. Мало примеров, те что я нашёл не подходили… а те что подходили не запускались…

2. Теперь стало возможно навигация и масштабирование по графику, что весьма упрощает жизнь.

Проблемы

1. Из-за того что OpenGL не потокобезопасный, а считывание и отрисовка проходить в двух разных потоках приходиться применять синхронизацию, что несколько затормаживает работу в целом.
2. Синхронизация . Данные поступаю пачками, как отрисовать засинхронизированную волну? Сейчас применяю буфер, но отрисовка при это не такая, как я это вижу…

p.s.
А теперь несколько эмоций.
После того, как я вторые сутки сидел и изучая, вернее восстанавливая в памяти, OpenGL я нашёл пару хороших примеров и документов которые помогли разобраться и расставить все точки над i.
Ниже исходники. Перетаскивайте мышкой экран, колёсико мышки – прокрутка (если зажать Shift – горизонтальный зум, Ctrl – вертикальный зум):

Файл: GL_ZoomAndMove.zip
Размер: 62.41KB
Закачек: 89

После успешной реализации описанного выше функционала – перешёл к написанию соответствующего класса в C#, и уже к вечеру 24\08\2009 я протестировал работу класса.

Почти в 12:00 передомной встала задача – необходимо заменить класс вывода изображения в первом альфарелизе, на новый с OpenGL. Так как интерес подогрел коллега, который уже подговтоил соответствующую прошивку для микропроцессора я решился. В час ночи манипуляции с кодом привели к успешному билду.

С трепетом в руках мы снова подсоединили USB кабель, запустили программу и нажали на кнопку “Открыть порт”. Вот что мы увидели в первые секунды:
Первые изображения с второго релиза.

Это, мягко говоря несколько напугало. Но после синхронизации всё стало на свои места. К примеру вот фотографии от данных при поднесении к датчику Холла:
График полученный со второго релиза.

А вот – второй эксперимент. На колесе закреплён магнит, на вилке – датчик Холла, к которому подсоединён микроконтроллер, который, в свою очередь послыает данные на ПК, на котором запущенна наша программа.
График полученный со второго релиза.

А вот видео:

Файл: DO_Video_1.wmv
Размер: 394.30KB
Закачек: 41

и исходники второго релиза:

Файл: Digital Oscillograph.zip
Размер: 159.14KB
Закачек: 56


Комментарии

Помощь по Textile


Feeds