Re: [Monobotics-develop] [ES] Desorden al realizar lecturas desde SerialPort
Brought to you by:
buhochileno
|
From: <buh...@gm...> - 2009-09-21 19:26:49
|
> public int BytesToRead
> {
> get
> {
> return this.serialPort.BytesToRead;
> }
> }
>
Ok, puse tambien algunas vlaidaciones y agregue tambien algunas otras
propiedades faltantes..en realidad no agregamos todo desde el comienzo
porque la implementacion del serialport de mono no esta completa, asi
que vamos agregando lo que sabemos que va funcionando, asi que en este
caso esta bien...
Te pediria que actualices tus fuentes del serialport desde el repo para
que trabajaes con la ultima, para eso elimina tu SerialPort.cs para que
el svn no te reclame por versiones dispares (le haces un backup por si a
caso) y por consola como usaurio normal vas a
...monoBOTICS/Souces/MBF.Ports y simplemente haces "svn up", si te
reclama algo me avisas, luego recompilas...
>> Mauricio Henriquez
>> Escuela de Computacion
>> Universidad Austral de Chile
>> Puerto Montt
>>
>> El 20/09/2009, a las 20:38, "Jaime Alvarado"
>> <obe...@ho...
>> > escribió:
>>
>>> Solucione el problema.
>>> No me había dado cuenta de que el puerto serial, no borra los datos
>>> no capturados o leídos.
>>> Como la interfaz al enchufarla, tira continuamente la alerta de que
>>> le configuren el reloj, como yo no leo esos datos, esos quedan
>>> guardados, entonces al hacer lecturas posteriores leo las lecturas
>>> correspondientes a la alerta.
>>> Solucione esto creando un método que me limpia el puerto de lecturas
>>> no capturadas, para esto tuve que cambiar el código del serialport
>>> agregando la propiedad BytesToRead que lo único que hace retornar la
>>> propiedad BytesToRead.
>>>
>>> --------------------------------------------------
>>> From: <buh...@gm...>
>>> Sent: Friday, September 18, 2009 3:23 PM
>>> Cc: "monoBOTICS Developers" <mon...@li...>
>>> Subject: Re: [Monobotics-develop] [ES] Desorden al realizar lecturas
>>> desde SerialPort
>>>
>>>>
>>>>
>>>>>
>>>>> Debiendo leer por ejemplo 255:255:4:5:5:4:...... algunas veces lee
>>>>> 0:0:0:0:0:255:255:4:5:5:4
>>>>> Viendo el código de Heyu, este aplica timeout.
>>>>>
>>>>> ¿Tiene que ver en esta anomalía el hecho de que yo no uso el tim
>>>>> eout?
>>>>> Yo no lo uso debido a que en la documentación no sale nada sobre
>>>>> timeout.
>>>> Podria ser, tal vez en Heyu lo usan debido a que notaron esto
>>>> empiricamente aunque no saliera en la documentacion...
>>>>>
>>>>> Ahora de ser necesario el uso de timeout, debo setear los
>>>>> ReadTimeOut
>>>>> y WriteTimeOut antes o después de llamar a los read y write
>>>>> correspondientes.
>>>> En este caso seria necesario solo el ReadTimeOut aunque puedes probar
>>>> con ambos, solo necesitas setarlo una vez, puede ser en el
>>>> InitializeSimulation, a no ser que diferentes lecturas necesiten un
>>>> timeout diferente, lo cual seria muy raro..
>>>>
>>>
>>> El Timeout no fue necesario, no era la razón de la desincronización.
>>>
>>>> Si esto no funciona, otra alternativa sera implementar una funcion
>>>> que
>>>> ordene el paquete que se lee, puesto en los casos malos lees algo
>>>> asi:
>>>> 0:0:0:0:0:255:255:4:5:5:4
>>>> Hacer una funcion que si o si, siempre trate de mover el los
>>>> numeros al
>>>> comienzo buscando en el arreglo los 255:255 que debes ser algo asi
>>>> como
>>>> "inicio del paquete", lo importante seria que hacia la cola no se
>>>> pierdan en la lectura, en ese caso tal vez deberia dejarse el
>>>> buffer de
>>>> lectura un poco mas largo...
>>>>
>>>> Me cuentas como resulta...
>>>>
>>>> Mauricio
>>>>
>>>>>
>>>>> --- ---
>>>>> ------------------------------------------------------------------
>>>>>
>>>>> --- --- --- ---
>>>>> ------------------------------------------------------------------
>>>>> Come build with us! The BlackBerry® Developer Conference in
>>>>> SF, CA
>>>>> is the only developer event you need to attend this year.
>>>>> Jumpstart your
>>>>> developing skills, take BlackBerry mobile applications to market
>>>>> and stay
>>>>> ahead of the curve. Join us from November 9-12, 2009. Register
>>>>> now!
>>>>> http://p.sf.net/sfu/devconf
>>>>> --- ---
>>>>> ------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> Monobotics-develop mailing list
>>>>> Mon...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>>>>>
>>>>
>>>>
>>>> --- --- ---
>>>> ---------------------------------------------------------------------
>>>> Come build with us! The BlackBerry® Developer Conference in
>>>> SF, CA
>>>> is the only developer event you need to attend this year. Jumpstart
>>>> your
>>>> developing skills, take BlackBerry mobile applications to market
>>>> and stay
>>>> ahead of the curve. Join us from November 9-12, 2009. Register
>>>> now!
>>>> http://p.sf.net/sfu/devconf
>>>> _______________________________________________
>>>> Monobotics-develop mailing list
>>>> Mon...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>>
>
|