public Calibrar(ref Session _session, ref TeensyUsbCom _serialPortObj, ref TeensyData _dataObj) { InitializeComponent(); session = _session; serialPortObj = _serialPortObj; dataObj = _dataObj; }
//Este objeto contem os diversos elementos associados ao equipamento, //firmware, status, dados de experimento etc. public Conectar(ref Session _session, ref TeensyUsbCom _serialPortObj, ref TeensyData _dataObj) { string[] ports = SerialPort.GetPortNames(); InitializeComponent(); CBoxCOMs.Items.Clear(); CBoxCOMs.Items.AddRange(ports); serialPortObj = _serialPortObj; }
//Contrutores #region Constructors //Inicializa Objeto de comunicação USB. //Recebe uma referência ao objeto TeensyData para armazenamento das mensagens recebidas. //port usb-serial sem nome - utilizando configuração default para comunicação. //As propriedades default estão definidas na classe estatica MipUsbComConstants. public TeensyUsbCom(ref TeensyData _TeensyDataObj) { teensyDataObj = _TeensyDataObj; serialPort = null; //criar uma instância default do port serial createDefaultComPort(); //Adicionar um handler para manipulador de eventos 'DataReceived' //(indica que uma certa quantidade de bytes foi recebida. //Atenção: O evento é gerado quando a serial receber PELO MENOS a quantidade de // bytes definida na propriedade ReceivedBytesThreshold do port. // Nesta aplicação aquele limiar é setado para a mínima quantidade de bytes // que deve ser enviada em cada transação. Aqui a propriedade ReceivedBytesThreshold // do port é setada para a quantidade de bytes do cabeçalho das mesnagens, // conforme o protocolo de comunicação Teensy<->HOST - ver comentários acima). // Desta forma, o evento DataReceived será disparado quando chegarem, // PELO MENOS, a quantidade de bytes definida em serialPort.ReceivedBytesThreshold. // Por fim: the DataReceived event is also raised if an Eof character // is received, regardless of the number of bytes in the internal input // buffer and the value of the ReceivedBytesThreshold property. serialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort_DataReceived); }