Device

We had this issue on BCU #1 and also on BCU #2

Description

Quando si configura le 2 schede HVC, qualcosa va storto e la scheda di sotto non si configura a modo. Ci se ne accorge perchè: 1) manca il tipico sibilino acutissimo che si sente quando tutto è a posto, 2) se sei nella shell ipython e dai un hvc.mirroSet() dà errore quando prova a cambiare il preshaper della 2 scheda. Sulla prima non ci sono errori. 3) Si sente un solo "toc" al mirrorSet.

Sembra che si scriva roba nella HVCboard[1] e lei non capisca. Se si rilegge la roba scritta, si trova altro.

La cosa non sembra dipendere dal nuovo software di configurazione: fa lo stesso anche con la versione vecchia a scripts.

Un power-cycle della BCU può talvolta risolvere.

Occurence

When notes
20121019_xxxxxx Scompare solo facendo un power-cycle della BCU
20121022_114xxx Scompare solo facendo due power-cycle della BCU
20121025_101600 Lo seguita a fare spesso, sempre sulla scheda di sotto
20120327_153000 On dspUploadCode, on board HVC1, on the new unit BCU #2
20140125_112200 On dspUploadCode, on board HVC1, on BCU #2. email to MPIA with workaround
20140203_130000 Seen also by Mario in OAA
20150304_153800 Failed 5 times in a row (BcuNumber1). Ccd_viewer does not show frames and frame rate oscillates between 800 and 1000Hz.

Trace

In [29]: hvc._hvc_channels[2].setCurrPreshaper([0.12]*4)

In [30]: hvc._hvc_channels[2]._getGeneric('step_ptr_preshaper_curr', 4)
Out[30]: [1234784250, 0, 1234784250, 0]

In [31]: hvc._hvc_channels[2]._getGeneric('step_ptr_preshaper_curr', 4)
Out[31]: [1234653157, 0, 1234653157, 0]

In [32]: hvc._hvc_channels[2].getCurrPreshaper()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)

/home/argos/<ipython console> in <module>()

/home/argos/apps/lib/python/site-packages/argos/lgsw/device/hvc_channel.pyc in getCurrPreshaper(self)
    204         sh_step=self._getGeneric('step_ptr_preshaper_curr', 4)
    205         sh_time =  [HVCConstants.PRESHAPER_BUFF_SIZE/x/HVCConstants.CNT_FREQ 
--> 206                           for x in sh_step]
    207         return sh_time
    208 

ZeroDivisionError: integer division or modulo by zero

In [33]: hvc._hvc_channels[0].setCurrPreshaper([0.12]*4)

In [34]: hvc._hvc_channels[0].getCurrPreshaper()
Out[34]: 
[0.13654618352941178,
 0.13654618352941178,
 0.13654618352941178,
 0.13654618352941178]

In [35]: hvc._hvc_channels[2].setCurrPreshaper([0.12]*4)

In [36]: hvc._hvc_channels[2].getCurrPreshaper()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)

/home/argos/<ipython console> in <module>()

/home/argos/apps/lib/python/site-packages/argos/lgsw/device/hvc_channel.pyc in getCurrPreshaper(self)
    204         sh_step=self._getGeneric('step_ptr_preshaper_curr', 4)
    205         sh_time =  [HVCConstants.PRESHAPER_BUFF_SIZE/x/HVCConstants.CNT_FREQ 
--> 206                           for x in sh_step]
    207         return sh_time
    208 

ZeroDivisionError: integer division or modulo by zero

EDIT LB 20150528 - THE EVENT BELOW IS SOMETHING ELSE. BcuNumber2 DOESNT SEEM TO BE AFFECTED BY THE HVC BOOT ISSUE

Log of Mar 27 2013, with BCU #2


In [9]: hvc.configure()
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)

/home/argos/workspace/argos_trunk/<ipython console> in <module>()

/home/argos/apps/lib/python/site-packages/argos/lgsw/device/hvc_device.pyc in configure(self)
     58         #TODO relaisOff e setRest?

     59         self._boards[0].configure()
---> 60         self._boards[1].configure()
     61         self._channels[b].configure(calib_blue.calibration())
     62         self._channels[y].configure(calib_yellow.calibration())

/home/argos/apps/lib/python/site-packages/argos/lgsw/device/hvc_board.pyc in configure(self)
     46 
     47         #load program

---> 48         self._uploadDspCode()
     49 
     50         # delay of the DAC update respect to the begin of the isr routine


/home/argos/apps/lib/python/site-packages/argos/lgsw/device/hvc_board.pyc in _uploadDspCode(self)
     83     def _uploadDspCode(self):
     84         self._bcuCtrl.uploadDspCode(self._boardNo, self._boardNo,
---> 85                                      HVCConstants.HVC_DSP_PROGRAM_PATH)
     86 
     87     def _setPreshaper(self):

/home/argos/apps/lib/python/site-packages/argos/lgsw/device/bcu_device.pyc in uploadDspCode(self, firstDsp, lastDsp, programPathOnServer)
    149         assert 0 < len(programPathOnServer)
    150 
--> 151         self._bcu.uploadDspCode(firstDsp, lastDsp, programPathOnServer)
    152 
    153 

Exception: Nice::UnknownException: Exception Type not found !
> /home/argos/apps/lib/python/site-packages/argos/lgsw/device/bcu_device.py(151)uploadDspCode()
    150 
--> 151         self._bcu.uploadDspCode(firstDsp, lastDsp, programPathOnServer)
    152 

ipdb> firstDsp, lastDsp, programPathOnServer
(4, 4, '/home/argos/apps//share/argos_bcu/HVCMainProgram_2_01.ldr')


-- LorenzoBusoni - 19 Oct 2012
Topic revision: r15 - 28 May 2015, LorenzoBusoni
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding AOWiki? Send feedback