27 травня 2015 р.

"Тюнінг" старенької електроплити - додавання таймеру часу

У продовженні модифікації електроплити створено наступну модифікацію - додано механічний таймер зворотнього відліку часу для керування часом роботи "духовки". Так сталося що вийшов з ладу корпус пароварки (Moulinex MV 1003), почала протікати, було прийнято рішення про демонтаж її на комплектувальні деталі.
Панель електроплити з таймером

14 травня 2015 р.

Перші спроби багатопотокового програмування Qt5 + OpenMP +MS Visual Studio

 Продовжуючи вивчати багатопотоковість з'ясував що бібліотека libraw має підтримку багатопотокового програмування - OpenMP.

Для використання потрібно дозволити компілятору використовувати OpenMP у  випадку MS  Visual Studio це вмикається так : OpenMP in Visual C++, /openmp (Enable OpenMP 2.0 Support)


Перші спроби багатопотокового програмування Qt5

Існує задача обробки зображень, по пікселям обробляється у циклі. 
Наприклад:
for (int i = 0; i < numPixels; i++, data += pixelSize) {
 if (output->colors == 3) {
  pixels[i * 4] = data[2 * colorSize];
  pixels[i * 4 + 1] = data[1 * colorSize];
  pixels[i * 4 + 2] = data[0];
 }
 else {
  pixels[i * 4] = data[0];
  pixels[i * 4 + 1] = data[0];
  pixels[i * 4 + 2] = data[0];
 }
}
З метою оптимізації розрахунку, спробую використати можливості багатопроцесорного комп'ютера.
Використовуючи фрейморк Qt 5.4.0. Створив новий клас IncTask. Вхідні дані до потоку можливо передати тільки під час ініціалізації класу. А надалі використовувати приватні змінні.

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready