123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- #!/bin/bash
- ###################### by Michele Caselle and Uros Stafanovic ##################################################
- ############ Resent procedure and camera initialization for 10 -bit mode ######################################
- error=0
- echo " Reset Readout and CMOSIS "
- pci -w 0x9040 80000204
- sleep .1
- #echo " Release Reset for Readout"
- #pci -w 0x9040 800001e0
- sleep .1
- ##################### PLL SET #####################################
- val=f501
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- echo " Start CMOSIS Configuration .."
- pci -w 0x9000 f301
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "bf301" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- val=d207
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- # Michele 10 - 12 bit mode #
- # ###################################################################################################
- echo " 10 - bit mode, set Bit_mode "
- val=ef00 ######################################################
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- # Michele set ADC_resolution @ 12 bits
- echo " 10 bit mode, set ADC resolution 10 bits "
- val=f000 # qui for 10 - 11 - 12 bits ########################################################
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- # adc recommended 28=44
- val=e72c
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val "
- error=1
- # exit
- fi
- sleep 0.01
- # ####################################################################################################
- ################# CAMERA CONFIGURATION ############################################
- val=e603
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- val=d404
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- val=d501
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- # recommended is d840
- val=d840
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- # sleep 0.01
- # recommended is db40
- val=db40
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- val=de65
- # val=de0
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- sleep 0.01
- val=df6a
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- echo " End CMOSIS Configuration .."
- ########################################################################################################
- echo " Write exp time......"
- ######################################### EXP TIME #######################################################
- val=aa25
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- # val=ab2c
- val=ab00
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- # val=acaa
- val=ac00
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- ####################################################################################################################
- sleep 0.01
- #pci -w 0x9040 80000201
- sleep 0.01
- ########################## WRITE THE READOUT NUMBER OF LINE #######################################################
- pci -w cmosis_number_lines 1088
- #pci -w number_lines 8
- sleep 0.01
- #################################################################################################################
- pci --start-dma dma1
- sleep 0.01
- #VRAMP 6c is 108
- val=e26c
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- #VRAMP 6c is 108
- val=e36c
- pci -w 0x9000 $val
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- sleep 0.01
- ###################################### NUMBER OF OUTPUT ############################################################
- ##pci -w 0x9000 0xc803
- sleep 0.01
- val=c800
- pci -w 0x9000 $val
- #pci -r 0x9000 -s 10
- sleep 0.01
- value=`pci -r 0x9000 -s 8 | grep 9010 | awk '{print $2}' | cut -c 4-8`
- if [ "$value" != "b$val" ]; then
- echo "--------------------------------->>>> ERROR! read value: ${value:1:4}, written value: $val"
- error=1
- # exit
- fi
- #pci -r 0x9000 -s 10
- sleep 0.01
- #pci -w 0x9000 0xd011
- sleep 0.01
- #pci -r 0x9000 -s 10
- sleep 0.01
- #pci -w 0x9000 0xd111
- #########################################################################################################
- sleep 0.01
- ##################################################
- #SET the max number of frame in DDR
- pci -w 0x91a0 0x71
- #echo " Reset Readout and CMOSIS "
- pci -w 0x9040 0x80000204
- sleep .1
- echo " Release Reset for Readout"
- pci -w 0x9040 0x80000201
- sleep .1
- status=`pci -r 0x9050 -s 4 | awk '{print $2$3$4}'`
- if [ "$status" != "8449ffff0f0010013ffff111" ]; then
- echo "--------------------------------->>>> ERROR! in the camera status ... "
- echo " $status "
- error=1
- # exit
- fi
- #echo "--> $status"
- if [ "$error" = "1" ]; then
- echo " Error in the reset and initialization"
- else
- echo " Camera READY ........................... OK"
- fi
- echo
- echo "DMA reset ... "
- pci --stop-dma dma1
- sleep 0.5
- pci --start-dma dma1
|