Nowy Mirlight


Wraz z grizz'em zabraliśmy się za realizacje nowej wersji oprogramowania dla Mirlight. Program do mikrokontrolera jest już dostępny na stronie projektu. W nowej wersji zmieniono system komunikacji z komputerem. Układ odbiera teraz 26 bajtową paczkę w której skład wchodzi identyfikator pakietu, 24 bajty danych o kolorach oraz suma kontrolna na końcu. Takie rozwiązanie pomoże uniknąć niewłaściwych kolorów na ekranie. Przenieśliśmy całe przeliczenia kolorów na komputer a procesor pracuje w sumie teraz jako wyświetlacz sterowany RS232.

Zmiana oprogramowania to pierwszy krok do sprzętowego Mirlight 2, który będzie już działał na USB (za pomocą konwertera FT232) i moduły diodowe będą tak pomyślane aby można było je montować na tył monitora za pomocą taśmy dwustronnej :) i oczywiście przycinać płytkę do długości monitora.

Kolejnym ulepszeniem oprogramowania będzie odczyt kolorów bezpośrednio z pamięci karty graficznej, jednak to wymaga trochę kombinowania i podszkolenia się w tej dziedzinie, no chyba że ktoś wie jak to sprawnie zrobić (odczytać cały ekran do tablicy w programie ale nie za pomocą funkcji z pod QT, czy innych podobnych)

Proszę zgłaszać propozycję i rady




Portret użytkownika grizz

Jestem właśnie po pierwszym

Jestem właśnie po pierwszym teście praktycznym nowej wersji.

Uwagi:

  • Nowa wersja działa zdecydowanie lepiej, natychmiastowo reaguje na zmiany kolorów, co świetnie sprawdza się w momentach szybkiej akcji na filmie
  • W przypadku scen bardziej statycznych, gdzie następują minimalne wahania koloru - np. drzewa na tle jasnego nieba - pojawia się dość irytujące miganie kanału - ale to dość proste do przeskoczenia w programie (chyba :P)
  • Płynne przejścia między kolorami wydają się zupełnie zbyteczne - obecnie wrażenie wcale nie jest gorsze od ww. na filmie philipsa (nie licząc, tego, ze 8 kanałów to troszkę mało na 24" monitor)
  • Związku z masą obliczeń program zaczął dość mocno zjadać procesor (~30% jednego rdzenia 2.0ghz)- przy oglądaniu filmów nie ma to znaczenia, mamy drugi rdzeń w zapasie, jednak przy grach to problem, który trzeba wyeliminować. Chętnie zobaczę jakieś pomysły.
  • GUI trzeba przeprojektować.

Portret użytkownika reaper7

zastanawiam się czy można

zastanawiam się czy można MirLight zaimplementować do telewizora z linuxem na pokładzie...
Oczywiście z pełnym dostępem do TV więc pythona można będzie zainstalować :D

Portret użytkownika grizz

Jeżeli ten TV to po prostu

Jeżeli ten TV to po prostu komputer, to można ;)

Portret użytkownika reaper7

@grizz - no w sumie tak -

@grizz - no w sumie tak - choć na GUI do settingsów to nie ma co liczyć:)
ale pod konsolą praktycznie wszystko.
P.S. jak obecnie skrypt pobiera dane o kolorach? skąd? - nie mogę się doszukać takiej informacji...(nie mówię o przyszłościowym rozwiązaniu - że bezpośrednio z pamięci grafiki)

Portret użytkownika reaper7

kurcze - ale z Qt będzie

kurcze - ale z Qt będzie problem...nie widzę w pakietach :(

Portret użytkownika grizz

Pobieranie koloru, to 4

Pobieranie koloru, to 4 linijki.

def getColor(self, px, py, w, h ):
    """
    Grab specific field and resize it to receive average color of field
    @return a color value
    """
    self.originalPixmap = QtGui.QPixmap.grabWindow(QtGui.QApplication.desktop().winId(), px, py, w, h)
    self.destPixmap = self.originalPixmap.scaled(1, 1, QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation)
    self.destImage = self.destPixmap.toImage()
    value = self.destImage.pixel(0,0)
    return value