Esempio n. 1
0
 internal void ZeroPortOnDev(string dev, int port)
 {
     lock (this)
     {
         try
         {
             // Create a digital out task for a given device and port.
             // Write clearingBufferSize zeros to that port. Wait
             // until this is finished and destroy the clearning Task.
             Task digitalClearingTask = new Task("DigiClear");
             digitalClearingTask.DOChannels.CreateChannel("/" + dev + "/Port" + port, "",
                                                          ChannelLineGrouping.OneChannelForAllLines);
             //digitalClearingTask.Timing.ConfigureSampleClock("100KHzTimeBase",
             //    clearingSampleRate,
             //    SampleClockActiveEdge.Rising,
             //    SampleQuantityMode.FiniteSamples,
             //    clearingBufferSize);
             DigitalSingleChannelWriter digitalClearingWriter = new DigitalSingleChannelWriter(digitalClearingTask.Stream);
             digitalClearingWriter.BeginWriteSingleSamplePort(true, 0, null, null);
             digitalClearingTask.WaitUntilDone(30);
             digitalClearingTask.Stop();
             digitalClearingTask.Dispose();
             digitalClearingTask = null;
         }
         catch (Exception e)
         {
             Console.WriteLine(" Could not zero digital output on device: "
                               + dev + "/" + port);
         }
     }
 }
Esempio n. 2
0
    public void setPort(uint value)
    {
        Task   task        = new Task();
        string devFullname = string.Format("{0}/port0/line0:31", name);
        //DOChannel dochannel = task.DOChannels.CreateChannel(devFullname, "", ChannelLineGrouping.OneChannelForEachLine);
        DOChannel dochannel = task.DOChannels.CreateChannel(devFullname, "", ChannelLineGrouping.OneChannelForAllLines);

        task.Start();
        //DigitalMultiChannelWriter writer = new DigitalMultiChannelWriter(task.Stream);
        //writer.BeginWriteSingleSamplePort(true, new uint[] {value&0x01, value&0x02, value&0x04, value&0x08}, null, null);
        DigitalSingleChannelWriter writer = new DigitalSingleChannelWriter(task.Stream);

        writer.BeginWriteSingleSamplePort(true, value, null, null);
        task.Stop();
    }
Esempio n. 3
0
 internal void ZeroPortOnDev(string dev, int port)
 {
     lock (this)
     {
         try
         {
             // Create a digital out task for a given device and port.
             // Write clearingBufferSize zeros to that port. Wait
             // until this is finished and destroy the clearning Task.
             Task digitalClearingTask = new Task("DigiClear");
             digitalClearingTask.DOChannels.CreateChannel("/" + dev + "/Port" + port, "",
                 ChannelLineGrouping.OneChannelForAllLines);
             //digitalClearingTask.Timing.ConfigureSampleClock("100KHzTimeBase",
             //    clearingSampleRate,
             //    SampleClockActiveEdge.Rising,
             //    SampleQuantityMode.FiniteSamples,
             //    clearingBufferSize);
             DigitalSingleChannelWriter digitalClearingWriter = new DigitalSingleChannelWriter(digitalClearingTask.Stream);
             digitalClearingWriter.BeginWriteSingleSamplePort(true,0,null,null);
             digitalClearingTask.WaitUntilDone(30);
             digitalClearingTask.Stop();
             digitalClearingTask.Dispose();
             digitalClearingTask = null;
         }
         catch (Exception e)
         {
             Console.WriteLine(" Could not zero digital output on device: "
                 + dev + "/" + port);
         }
     }
 }