Pixel Shift Study  - Problem finaly solved !!!!!!!!

1. What we now know ( 20060619 ) :

2. Tools for testing


3. Plans for testing


4. Problem - solved

Pixel shift problem finally solved - buffer 4096 bytes used for copying was to big - according to consultation with Robert Sulej it should be
512 bytes, but in such case transfer is to slow. I used buff_size=1024 and pixel shift disappeared !!!!
Today (20060721) is the first night of tests without pixel shift and without correcting for it !!!
So on pi2 I comment out lines in custom cfg file /opt/pi/dev/pisys/daq/config/custom/ccd.cfg , lines :

# testing correction of pixel shift :
CCD_CHECK_FRAME=1
CCD_REPAIR_FRAME=1

changed to :

# testing correction of pixel shift :
# CCD_CHECK_FRAME=1
# CCD_REPAIR_FRAME=1


The soruce code change was done only in file Device2K2K.cpp in function Device2K2K::GetDataRawIOCTL , where buff_size was changed from 4096
to 1024 , maybe 512 should be used but then transfer is becoming to slow ...
Some more tests are maybe needed to see if 2048 will also be good .
Table below summarizes transfer times for different buffer sizes :
         
Buffer Size
Transfer Time
Pixel Shift
512
TO SLOW - I checked it >=  5 sec
NO
1024
Data transfer took  : 1.05 sec
NO
2048
Data transfer took  : 0.53 sec
YES
4096
Data transfer took  : 0.53 sec
YES


Dodatkowo sprawdzilem , ze na pioneer2 ( czyli obecnie pi3 ) czas transmisji wynosil okolo 2 sec, czyli po zmianie kompa w wyniku moze
jakis roznic w hardwarze mielismy przy tym samym buforze odczyt duzo szybszy ( ~0.5 ) po zmieniejszeniu bufora , zmniejszyla sie tez szybkosc do 1 sec
i jak widac to juz jest wystarczajaco wolno i nie ma pixel shitfa.
Wartosci czasow transmisji mozna znalezc w headerach fitsow , pod keywordem CROTIME.
Generalnie widac ze jak transmisja jest za szybka to nie jest dobrze i nalezy pamietac o tym zeby nie byla szybsza niz 1 sec.