TDTPY.

Modulo per comunicare con l'hardware del sistema 3 di TDT
Scarica ora

TDTPY. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • GPL v3
  • Prezzo:
  • FREE
  • Nome editore:
  • Brad Buran
  • Sito web dell'editore:
  • http://bradburan.com/

TDTPY. Tag


TDTPY. Descrizione

Tucker Davis Technologies (TDT) fornisce un componente ActiveX per la configurazione del loro hardware in tempo reale (ad esempio RP2.1, RX6, RZ6, ecc.) E Gestione I / O. TDTPY è un wrapper attorno al componente ActiveX che facilita lo sviluppo di script e programmi di Python (ad esempio Neurobehavior) che utilizzano l'hardware di TDT. Un obiettivo di questo modulo era quello di fornire uno strato di astrazione che ci consentirebbe di migrare il nostro codice a una piattaforma hardware alternativa in futuro con relativamente poco sforzo .Developer Commenti incoraggiano quelli che usano l'hardware di TDT per dare questo modulo. Il codice è stabile, testato e attualmente testato e attualmente in esecuzione in diversi laboratori.Suportato funzionalità: semplice conversione del tipo - Quando si configurano le variabili nel microcodice, alcune unità devono essere convertite in base alla frequenza dell'orologio del processore in tempo reale. L'involucro automatizzerà questo processo di conversione .- I / O non bloccante - Con poche righe di codice Python, è possibile avviare facilmente la comunicazione I / O e hardware in una sottoprocesso per liberare il programma principale per altre attività (ad es. Visualizzazione dei dati in entrata o controllo delle variabili di stimolo). Ciò è particolarmente utile per gli utenti che stanno scaricando grandi (ad esempio 64 o più canali di dati neurofisiologia) quantità di dati dall'hardware.- Letture e scritture continue semplici - diverse classi facilitano l'acquisizione dei dati dei buffer hardware che sono continuamente i dati di spool Dati ai buffer hardware che consumano continuamente i dati. Lo stato attuale del buffer hardware è monitozzato per garantire che non vi siano obsoleti di buffer o sottofondo. e decomprimere automaticamente i dati e registrare la frequenza di campionamento appropriata durante il download dal buffer hardware. Questa funzionalità automatizzata, tuttavia, richiede determinate convenzioni di codifica (vedere la documentazione) .- Controllo degli errori - Alcuni metodi sul driver del produttore falliscono silenziosamente (ad es. Se si tenta di accedere a una variabile inesistente nel microcrodo o tentare di scrivere più dati rispetto al Il buffer hardware può contenere). Quando il microcodice viene prima caricato al processore in tempo reale, TDTPY ispezionerà il microcodice e memorizza alcune informazioni sulle variabili e dei buffer disponibili. Questa informazione verrà utilizzata per convalidare tutte le operazioni prima di passarle al componente ActiveX del produttore per la gestione. Se viene tentata un'operazione non valida, viene sollevato l'errore appropriato. Quando il componente ActiveX restituisce un errore (tramite un valore di ritorno in stile c), TDTPY lo converte in una forma più pitone aumentando un'eccezione. Un breve esempio di come utilizzare il wrapper nel tuo codice: da TDT import DSPCircuitFrom Numpy Importa casuale # Carica il microcode compilato in RZ5 ProcessOrCircuit = DSPCircuit ('Components / Physiology.rcx', 'RZ5') # Inizializza i buffer.RAW_DATA_BUFFER = circuito.Get_Buffer ('Raw_Data', 'R', canali = 16) Speaker_BUFFER = circuito.Get_Buffer ('altoparlante', 'W') circuito.start () # convertiti 0,5 secondi per il numero di campioni forniti a frequenza di campionamento hardwareCircuit.cset_tag ('trial_duration', 0,5, 's', 'n') mentre è vero : # Acquisisci tutti i nuovi dati spolettati nel buffer hardware Data = Raw_Data_Buffer.Read () Process (Data) # Scopri quanto spazio è stato consumato ed è ora disponibile Noise = Random.Normal (Dimensione = Altoparlante.Vailable ()) # Scrivi alcuni nuovi dati su questi Slot Speaker.Write (Noise) Lancio L'acquisizione dei dati in un secondo processo è semplice come sostitutivo ting dspprocess per dspcircuit.da TDT Import DSPPROCESSCIRCIRCUIR = DSPPROCESS ('Components / Physiology.rcx', 'RZ5') Raw_Data_Buffer = circuito.Get_Buffer ('Raw_Data', 'R', canali = 16) Speaker_Buffer = circuito.Get_Buffer ('altoparlante ',' w ') circuito.start () Nell'esempio sopra, quando viene chiamato Circuit.Start (), il processo figlio avvia, configura il processore e inizia a polling continuamente i buffer hardware a intervalli regolari. Tutti i nuovi dati vengono salvati in uno spazio di memoria condiviso. Raw_Data_Buffer monitora questo spazio di memoria condiviso. Ogni volta che viene chiamato Raw_Data_Buffer.Lead (), il buffer controlla per vedere se i nuovi dati sono stati scritti nello spazio di memoria condiviso da parte del processo figlio e restituisce una copia della homepage di questa pagina.


TDTPY. Software correlato

Pyopenlcb.

Implementazione del protocollo di controllo del treno modello OpenLCB in Python ...

47

Scarica

opencnam.

Una semplice libreria Python per ottenere informazioni sul nome ID chiamante utilizzando l'API OpenCinnam ...

69

Scarica