Index of /~rsulej/CEthCamera

Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [   ] CEthCamera.cpp 20-Jul-2006 00:01 20K [TXT] CEthCamera.h 20-Jul-2006 00:02 8.0K [TXT] CEthCameraDefines.h 14-Jul-2006 11:21 684 [   ] CameraTest.cpp 17-Jul-2006 20:36 3.4K [   ] Makefile 22-Sep-2005 00:40 456 [DIR] Makefile_for_Sockets/ 22-Sep-2005 01:18 - [   ] NudpSocket.cpp 17-Jul-2006 22:19 9.5K [TXT] NudpSocket.h 14-Jul-2006 11:21 1.8K [TXT] NudpSocketDefines.h 14-Jul-2006 11:21 629 [   ] camera_test 14-Jul-2006 11:33 727K [DIR] docs/ 30-Mar-2006 21:47 - [DIR] win/ 23-Mar-2007 18:36 -
CEthCamera - README

Dokumentacja
Wersja dla Windows

v1.07
- poprawka poprawki w metodzie Open()

v1.06
- poprawka w dzialaniu refresh'a

v1.05
- poprawka w watkach i w metodzie Open()
- w programiku przykladowym dodalem petle, ktora trwa 1h i nic nie robi, zeby sprawdzic dzialanie refresh

v1.01
- poprawiony blad w reakcji na sporadycznie wystepujaca sytuacje, kiedy to kamera po poleceniu 0x08 wysyla caly obrazek zanim jeszcze zdarzy odeslac potwierdzenie komendy
- rozszerzone info w logach

v1.0
- odpytanie o status kamery w przypadku timeout'u danych RAW
- wsztrzymany refresh watchdoga podczas transmisji RAW
- drobne poprawki i optymalizacje

v0.9c
- zmiana adresowania RAW na slowa 16-bitowe
(ze strony uzytkownika nie ma roznicy, za wyjatkiem recznego odpytywania
w trybie top=6, gdzie trzeba pamietac o poprawnym wskazaniu adresu w buforze
i poprawnym wypelnieniu pola number, co z reszta jest pokazane w programie
przykladowym)

v0.9b
- poprawiony blad reakcji na timeout lub zla odpowiedz na komende 0x08 (wczesniej zglosilby sie timeout transmisji RAW zamiast odpowiedniego bledu wyslania komendy)
- dodana metoda ReadMissing( char* buf ), odpytujaca kamere o brakujace pakiety (uzywajac top=6); char* buf - adres bufora z wybrakowanym obrazkiem

v0.9a
- poprawiona synchronizacja watkow

v0.9
- dziala logowanie do pliku
- doszla jeszcze funkcja odczytujaca ostatnia odpowiedz kamery

v0.85
- dodalem wyczerpujace komentarze w CEthCamera.h
- zadeklarowane sa juz funkcje do logow, ale jeszcze nie sa zaimplementowane
- dodalem funkcje odpytujace czy pakiet RAW dotarl po jego numerku lub adresie
- w przykladowym programie na koniec dolozylem wzor odpytania o brakujacy pakiet
- jest tez funkcja zwracajaca liczbe otrzymanych pakietow RAW
- powyzsze funkcje mozna bezpiecznie wywolywac w trakcie transmisji danych, jak by ktos chcial zrobic np elegancki progress bar :-)

UWAGA:
Calosc opiera sie o biblioteke C++ Sockets Library 1.9.7, do pobrania pod adresem: http://www.alhem.net/Sockets
Instalacja biblioteki:
1. Rozpakowac zassane z sieci archiwum.
2. Zastapic oryginalny Makefile plikiem Makefile_for_Sockets_Library z mojej strony.
3. su -
3. make
4. make install
5. make clean
...i gotowe.


A teraz programik camera_test.

Kompilacja:

make

Uruchomienie:

./camera_test ip_lokalne ip_kamery

np.:

./camera_test 192.168.123.126 192.168.123.154



Powinno zadzialac tak:

- wszelkie komunikaty ida do plikow log.txt i log_err.txt
- co 5s refresh
- wyslanie komendy "binning on" (dla przykladu wyslania komendy w postaci char[4])
- sprawdzenie wartosci 16-bitowego rejestru o numerze 1 (dla przykladu wyslania komendy w postaci unsigned int oraz odebrania odpowiedzi)
- wyslanie komendy 0x08, czyli start transmisji obrazka
- podczas odbioru danych RAW wysylanie co 3s komend "binning on/off" (zeby cos jeszcze sie dzialo poza refreshem...)
- wstrzymanie glownego watku programu do zakonczenia transmisji, czyli komenda WaitForRawData
- retransmisja pakietu #251
- powtorne odczytanie pola number z ostatniej odpowiedzi kamery
- polecenie odczytania ID kamery


pozdrawiam,
Robert Sulej