software:qview:qview_6:qcl_library:vi10checkbufferready

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
software:qview:qview_6:qcl_library:vi10checkbufferready [2025/01/13 12:28] – [IMPLEMENTAZIONE] qem214software:qview:qview_6:qcl_library:vi10checkbufferready [2025/04/02 11:29] (versione attuale) qem214
Linea 1: Linea 1:
 ====== VI10CheckBufferReady ====== ====== VI10CheckBufferReady ======
- 
-PRELIMINARE- 
  
 Sostituisce [[software:qview:qview_6:qcl_library:vi10waitbufferreadyusingend|VI10WaitBufferReadyUsingEND]] Sostituisce [[software:qview:qview_6:qcl_library:vi10waitbufferreadyusingend|VI10WaitBufferReadyUsingEND]]
Linea 11: Linea 9:
 Funzione utilizzata per la gestione della funzionalità Vector Image (oggetto presente su alcune versioni di Qpaint). Funzione utilizzata per la gestione della funzionalità Vector Image (oggetto presente su alcune versioni di Qpaint).
  
-La funzione VI10CheckBufferReady viene utilizzata per poter ottenere lo stato di READY del buffer, utile __in un task a tempo__.\\+La funzione VI10CheckBufferReady viene utilizzata per poter ottenere lo stato di ''READY'' del buffer senza essere bloccante.
  
 Si usa all'interno di una macchina a stati per poter sapere quando procedere con lo stato successivo. Si usa all'interno di una macchina a stati per poter sapere quando procedere con lo stato successivo.
  
 ===== IMPLEMENTAZIONE ===== ===== IMPLEMENTAZIONE =====
- 
-FIXME 
  
 **VI10CheckBufferReady (awBuffer, gfState)** **VI10CheckBufferReady (awBuffer, gfState)**
Linea 25: Linea 21:
 ^ IN/OUT  ^ TIPO VARIABILE      ^ NOME DI ESEMPIO  ^ DIM                                                  || ^ IN/OUT  ^ TIPO VARIABILE      ^ NOME DI ESEMPIO  ^ DIM                                                  ||
 |  IN      ARRSYS /\\ ARRGBL  |  awBuffer        |  W   | Array che funge da buffer per istruzioni/dati  | |  IN      ARRSYS /\\ ARRGBL  |  awBuffer        |  W   | Array che funge da buffer per istruzioni/dati  |
-|  OUT    |  GLOBAL              gfState          F    Stato del buffer: 0 = pronto, 1 = occupato    |+|  OUT    |  GLOBAL              gfState          F    Stato del buffer: 0 = occupato, 1 = pronto    |
  
 === Esempio === === Esempio ===
Linea 31: Linea 27:
 //T_TIME00// //T_TIME00//
 <code qcl> <code qcl>
 +;dichiarazione costanti
 +CONST
 +
 +BUFFPLOT_SIZE 500                        ;dimensione del buffer
 +
 ;dichiarazione variabili ;dichiarazione variabili
 GLOBAL  GLOBAL 
  
 +gfState    F                               ;stato del buffer
 +phase      B                               ;numero dello stato (macchina a stati)
  
 +;dichiarazione array
 +ARRGBL
  
 +agwBuffPlotDemo11    W    BUFFPLOT_SIZE    ;buffer per VectorImage 
  
 SUB DRAW SUB DRAW
Linea 42: Linea 48:
  NOP   NOP
  CASE 1  CASE 1
- VI10InitBuffer(agwBuffPlotDemo11)+ VI10CheckBufferReady(agwBuffPlotDemo11, gfState)
  VI10SetLayer (agwBuffPlotDemo11, 0)   VI10SetLayer (agwBuffPlotDemo11, 0)
  VI10SetBackground (agwBuffPlotDemo11, COLOR.BLUE)  VI10SetBackground (agwBuffPlotDemo11, COLOR.BLUE)
Linea 59: Linea 65:
  phase = 2   phase = 2
  CASE 2   CASE 2
- VI10CheckBufferReady(agwBuffPlotDemo11) + VI10CheckBufferReady(agwBuffPlotDemo11, gfState
  IF NOT gfState  IF NOT gfState
  VI10SetLayer(agwBuffPlotDemo11, 1) ;- LAYER 1 (one)   VI10SetLayer(agwBuffPlotDemo11, 1) ;- LAYER 1 (one) 
Linea 74: Linea 80:
  ENDIF   ENDIF
  CASE 3  CASE 3
-            VI10CheckBufferReady(agwBuffPlotDemo11) +        VI10CheckBufferReady(agwBuffPlotDemo11, gfState
- IF result+     IF NOT gfState
      phase = 4      phase = 4
      ENDIF       ENDIF
  CASE 4  CASE 4
- phase = 0+     phase = 0
  ENDSWITCH  ENDSWITCH
 ENDSUB ENDSUB
 </code> </code>
- 
-=== Note === 
- 
-  * La funzione può interrompere l'esecuzione del task e, nel ciclo successivo, farlo ripartire dalla prima istruzione. 
  
  • Ultima modifica: 2025/01/13 12:28