Esempio n. 1
0
        public bool TTA_wait_for_Trigger()
        {
            //Mögliche Errors mitzählen
            uint error_Sum = 0;

            error_Sum += WaitTime_for_Trigger_inf();
            error_Sum += Adopt_Settings();
            error_Sum += Start_Card();
            error_Sum += Wait_to_fill_PreTrigger();
            error_Sum += Enable_Trigger();
            error_Sum += Force_Trigger_after_time((long)Samples * 1000 / Frequency);

            //Auf Errors checken
            if (error_Sum != 0)
            {
                MessageBox.Show("An Error occured while measurment!\n Error Code: ." + error_Sum.ToString(), "Warning",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);

                //Speicher lösen
                H_BufferHandle.Free();

                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 2
0
        public bool TTA_Collect_Data(short[,] data_out, int cycle)
        {
            uint error_Sum = 0;

            //Wurde ein Trigger Event gefunden (wenn nich Rückgabewert ist 263)
            if (Did_Trigger_Event_occured() == 263)
            {
                //Fehlermeldung
                //SetAsyncText(Spectrum_answer, "Kein Trigger gefunden");

                error_Sum += 263;
                error_Sum += Force_Trigger();
            }


            //4. Daten abholen**********************************************************************************************

            //WArten bis alle Daten vorhanden sind (unendlich lang möglich)
            error_Sum += WaitTime_for_Trigger_inf();
            error_Sum += Wait_for_all_samples();

            //Datentransfer einstellen (Datapointer enspricht der Stelle des ersten Samples im Array)
            //Bei weiteren Zyklen muss dieser Pointer geändert werden
            //DataPointer is [0,0]
            //anzahl_samples entspricht der Länge einer Zeile
            //2 ist notwendig für short (2byte)
            //i ist die aktuelle Zeile (Zyklus)

            IntPtr aktuellerPointer = new IntPtr(Daten_Pointer.ToInt64() + 2 * cycle * Samples);

            error_Sum += Send_Pointer_of_Array(aktuellerPointer, Samples);
            error_Sum += Get_Data();


            //Auf Errors checken
            if (error_Sum != 0)
            {
                MessageBox.Show("An Error occured while measurment!\n Error Code: ." + error_Sum.ToString(), "Warning",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);

                //Speicher lösen
                H_BufferHandle.Free();

                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 3
0
 public bool TTA_free_Storage(short[,] array)
 {
     H_BufferHandle.Free();
     return(true);
 }