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