firefox0013
22.11.2013, 13:43
Добрый день. К сожалению не нашел реализации овен под управляемый код. По этому попытался реализовать самостоятельно на основе реализации на "с" (где то на форуме нашел реализацию). Может кому будет полезно.
Реализовано
Запаковка хэша команды во фрэйм овен и преобразование его в ASCII
Распаковка ответ с данными типа Float24
Остальное я думаю не сложно реализовать по аналогии при необходимости
Пример использования как то так:
var asciIframe = OwenEncoding.PackFrame(Addres, command);
var bcmd = Encoding.ASCII.GetBytes(asciIframe);
_sp.Write(bcmd, 0, bcmd.Length);
Thread.Sleep(100);
var read = _sp.ReadExisting().Trim('\0');
if (OwenEncoding.ValidateOwenASCIIframe(read.ToCharAr ray()))
{
var val = OwenEncoding.ReadFloat24(read.ToCharArray());
return val;
}
_sp - SerialPort
Реализовано
Запаковка хэша команды во фрэйм овен и преобразование его в ASCII
Распаковка ответ с данными типа Float24
Остальное я думаю не сложно реализовать по аналогии при необходимости
Пример использования как то так:
var asciIframe = OwenEncoding.PackFrame(Addres, command);
var bcmd = Encoding.ASCII.GetBytes(asciIframe);
_sp.Write(bcmd, 0, bcmd.Length);
Thread.Sleep(100);
var read = _sp.ReadExisting().Trim('\0');
if (OwenEncoding.ValidateOwenASCIIframe(read.ToCharAr ray()))
{
var val = OwenEncoding.ReadFloat24(read.ToCharArray());
return val;
}
_sp - SerialPort