TODO **** - use last version of SimSPU ask CRISA to modify SUSW such that : - it sets DMBANK3 to 0x40200000 (currently 0x80000000) - initialize communication with DPU as a MASTER. - Copy CS2 code into CS1 task QUESTIONS ********* No commutation bit for CS ? Yes, there is none, but setting this bit should not harm TODO LONG TERM ************** - Have 2 separate commands (or a parameter to the enable pid command) to be able to enable/disable the commutation (i.e with a pid disabled). - Option to use/not use synchro in a move command (chopper & grating) - Write an OBCP that validates the DMC OBS. DONE **** On garde 7 param pour le FPGA mais, on recommande d'en écrire 6 (->update SUM), Le 7ième est gardé uniquement pour du debug. - SET_PARAM_SPECTRO_ARRAY. Lorsqu'on fait un set_param_both, on doit faire un reset (de la clock) => ramp counter remis à zéro. Pour rester cohérent, ça serait bien de faire également un reset lorsqu'on sette les paramètres d'un seul array. Mais, dans ce cas, le reset va remettre à zéro les ramp counters des deux DEC. => le SET_PARAM_BLUE/RED ne fait pas de reset des DEC (sauf si on continue à utiliser le ramp counter (-> A FAIRE)). Insister dans la doc : 'ça na pas de sens d'utiliser cette commande si les deux DEC sont ON. Pour qu'ils restent synchro, toujours utiliser SET_BOTH. Tester la validité/invalidité dans les séquences.: Start OBS, DPU Sim and DummySPU connected on Red SPU link. - Reduce the speed of readouts such that DummySPU is able to receive all the packets -- Write FF in the first word of RED DEC Parameters (Switch-on Red DEC, write command, set param) - Upload a new sequence : LOOP(1000) LABEL(2) MOVE_GRATING_RELATIVE(100) WAIT(1) LABEL(1) VALIDATE_RED_SCIENCE_DATA() WAIT(1) INVALIDATE_RED_SCIENCE_DATA() END_LOOP() END_SEQUENCE() - Power on and enable grating controller - Synchronize on Red DEC - Enable Red DEC packets transmission - Start execution of Sequence init gpMim (Control Word) init FPGA Timing param : 16384 40 2 32 0 0 3 Chaque fois qu'on modifie un reg du FPGA en ASM, reproduire le changement dans la structure C : Synchronize, init On peut maintenant lire/écrire/relire les reg du FPGA. On peut donc écrire un bit à la fois (voir commentaire dans le code). - DEC Communications problems : (25/07/02) -- Sometimes, the two bytes of a 16bits word are swapped (Must be a DEC problem). -- Sometimes, (when it happens, it happens every 2 seconds), the DEC Fifo is full. This happens because DMC doesn't send any FCT during a given period. It seems that it happens while a HK packet is send to DPU during the reception of a packet from DEC. - Problem of reception on SMCS2, BOL Sim packets are cropped. (25/07/02) - rewriting of smcs.s and smcsdrv.c (clean-up + comment) (15/07/02) -Update AVM User Manual :(15/07/02) --initial HK checks --hardcode sequence in OBS --procedure test communication DPU - SPU - BOLC - si, pendant une HK acquisition, une erreur intervient au niveau du SEQ, elle va apparaître dans le LAST_ERR_BUFF et pas dans le DMC_SEQ_TASK_STATUS. Vérifiez qu'elle apparaîtra bien dans l'acquisition suivante. (Pas remis à zero à la fin de l'acquisition). => la tâche de HK doit flagger les erreurs de tâche et les resetter une fois qu'elles ont été transmises. (26/06/02) - Mec pos in photometry header are 0 (they should be ffffff) (26/06/02) - WARNING, we may reach a stack overflow with a very simple sequence where every command is immediate (check InterpreteAndExecute) (24/06/02) -HK_INVALID shall be initialized at startup, not at the first HK acquisition (chopper pos and grating pos changes in the SPU header (10 first packets are 0 and then 0xFFFFFF) (19/06/02) -Reject command whithout parameters when one is expected (check SID) (17/06/02) -Check Move command for PID (no feedback in TaskStatus and no position update) (17/06/02) -disable commutation when disabling pid controller (don't use DISABLE_PID_CONTROLLER macro) (13/06/02) -check OBS_GLOBAL_STAT when error occurs (13/06/02) -Not implemented command shall point to a DummyCommand (13/06/02)