<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Ahhh.. eso.. Parafraseando.. PyBot is not Bobot (aunque se parezcan) jajaj<div><br></div><div>Para qué necesitan esa metadata? Están haciendo algo que levanta dinámicamente las funciones?</div><div><br></div><div>En el sistema anterior de drivers de PyBot, yo había copiado el sistema de bobot: un diccionario</div><div>que tenía esa metadata y una función.. pero lo abandoné a algo mas simple:</div><div><br></div><div>En el driver se define una función python que recibe como primer parámetro el "device" correspondiente.</div><div>Si la función se llama xyz, pybot automáticamente, cuando levanta los drivers, sabe que existe</div><div>una función xyz para ese módulo/device.</div><div><br></div><div>Ejemplo de la función getValue de un botón:</div><div><br></div><div>GET_VALUE = 0x01</div><div><br></div><div><div>def getValue(dev):</div><div> dev.send([GET_VALUE])</div><div> raw = dev.read(2)</div></div><div> return raw[1]</div><div><br></div><div>Por ahora no encontré algo que me diera dinámicamente los parámetros de una función (sin hacer cosas</div><div>muy raras :-).</div><div><br></div><div>Además hay un tema que nunca supe resolver: los tipos. Cuando uno usa el server y el cliente, siempre</div><div>termina llegando al server una string (a través del socket). Luego todo se convierte a enteros exceptuando</div><div>alguna función particular (como loopBack).</div><div>Lo que si sería bueno, es tener la cantidad de parámentros de entrada y de salida.</div><div><br></div><div>Adjunto un diagrama que hice una vez y nunca terminé. Quizás alguien encuentre algo mas eficiente</div><div>entre la conversión de tipos.</div><div><br><div><hr id="stopSpelling">From: furquez@gmail.com<br>Date: Mon, 26 Aug 2013 22:23:10 -0300<br>Subject: Re: [Butia-devel-list] protocolo USB4Butia<br>To: alanjas@hotmail.com<br>CC: aaguirre@fing.edu.uy; butia-devel-l@fing.edu.uy; fandrade9@gmail.com; xxopxe@gmail.com<br><br><div dir="ltr"><blockquote class="ecxgmail_quote" style="border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;">Qué significa la "metadata necesaria" ??</blockquote>
los parametros, tipos y que cosa retorna, en bobot si camina con el firmware 7, Nosotros estamos teniendo problemas con eso :)<div><br></div><div>saludos</div><div>Nico</div></div><div class="ecxgmail_extra"><br><br><div class="ecxgmail_quote">
El 26 de agosto de 2013 22:20, Alan Jhonn Aguiar Schwyn <span dir="ltr"><<a href="mailto:alanjas@hotmail.com" target="_blank">alanjas@hotmail.com</a>></span> escribió:<br><blockquote class="ecxgmail_quote" style="border-left:1px #ccc solid;padding-left:1ex;">
<div><div dir="ltr">Qué significa la "metadata necesaria" ??<div>PyBot obtiene dinámicamente el nombre de las funciones de los drivers.. qué mas?<br><br><div><hr>From: <a href="mailto:aaguirre@fing.edu.uy" target="_blank">aaguirre@fing.edu.uy</a><br>
Date: Mon, 26 Aug 2013 20:00:37 -0300<div class="ecxim"><br>Subject: Re: [Butia-devel-list] protocolo USB4Butia<br></div>To: <a href="mailto:alanjas@hotmail.com" target="_blank">alanjas@hotmail.com</a><br>CC: <a href="mailto:fandrade9@gmail.com" target="_blank">fandrade9@gmail.com</a>; <a href="mailto:xxopxe@gmail.com" target="_blank">xxopxe@gmail.com</a>; <a href="mailto:butia-devel-l@fing.edu.uy" target="_blank">butia-devel-l@fing.edu.uy</a><div>
<div class="h5"><br><br><div dir="ltr">el protocolo está acá: <a href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Usb4all" target="_blank">http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Usb4all</a><div>
Alan, estoy haciendo describe de los módulos y no me da la metadata necesaria en pybot. </div>
<div>saludos</div></div><div><br><br><div>2013/8/26 Alan Jhonn Aguiar Schwyn <span dir="ltr"><<a href="mailto:alanjas@hotmail.com" target="_blank">alanjas@hotmail.com</a>></span><br>
<blockquote style="border-left:1px #ccc solid;padding-left:1ex;">
<div><div dir="ltr">Está en la documentación de la USB4all..<div><br></div><div>En PyBot están los mensajes con el admin en "baseboard.py", ahí están</div><div>las funciones principales: get_user_modules_size, get_user_module_line,</div>
<div>get_handler_size, get_handler_type, etc..</div><div><br></div><div>El protocolo es:</div><div><br></div><div>handler .. tamaño_del_paquete .. byte_nulo .. código_operación .. parámentros (si tiene)</div><div><br></div>
<div>Ejemplo: obtener la cantidad de módulos "instanciables" (para el LISTI), es</div><div>decir, la cantidad de user modules del firmware:</div><div><br></div><div>handler = 0 (es una función del admin y el admin tiene handler 0)</div>
<div>tamaño = 4 bytes<br>código de operación: 0x05</div><div><br></div><div>el paquete que mando por USB es:</div><div><br></div><div>[0x00, 0x04, 0x00, 0x05]</div><div><br></div><div>luego leo del usb lo que retorna la función: mismo "encabezado" (los 3 primeros bytes)</div>
<div>luego el código de operación y por último, el valor esperado:</div><div><br></div><div>baseboard.read(5)</div><div><br></div><div>y eso devuelve:</div><div><br></div><div>[0x00, 0x04, 0x00, 0x05, 0x08]</div><div><br>
</div><div>Esto significa que el firmware actual tiene 0x08 user módules.</div><div><br></div><div>Quizás haya que poner algo en la wiki de esto?<br><br><div><hr>From: <a href="mailto:fandrade9@gmail.com" target="_blank">fandrade9@gmail.com</a><br>
Date: Mon, 26 Aug 2013 12:40:40 -0300<br>To: <a href="mailto:xxopxe@gmail.com" target="_blank">xxopxe@gmail.com</a><br>CC: <a href="mailto:aaguirre@fing.edu.uy" target="_blank">aaguirre@fing.edu.uy</a>; <a href="mailto:butia-devel-l@fing.edu.uy" target="_blank">butia-devel-l@fing.edu.uy</a><br>
Subject: Re: [Butia-devel-list] protocolo USB4Butia<div><div><br><br><div dir="ltr">Ahh, no sabía. Pero bueno, la parte del paquete usb4all (andler, modules, opcode, parametros...) donde está?<br></div><div><br clear="all">
<div><div dir="ltr"><div><span style="color:rgb(56,118,29);"><span>salu2x<br>
</span></span></div><span style="color:rgb(56,118,29);"><span>Fede</span></span><br></div></div>
<br><br><div>2013/8/26 Jorge <span dir="ltr"><<a href="mailto:xxopxe@gmail.com" target="_blank">xxopxe@gmail.com</a>></span><br><blockquote style="border-left:1px #ccc solid;padding-left:1ex;">
<div>
<div>aaaaah, cierto. :)<div><div><br>
<br>
On 26/08/13 00:30, Andres Aguirre wrote:<br>
</div></div></div><div><div>
<blockquote>
<div dir="ltr">si, pero solo para recordar que por ahora no
tenemos checksum ni sync :)
<div><br>
</div>
</div>
<div><br>
<br>
<div>2013/8/25 Jorge <span dir="ltr"><<a href="mailto:xxopxe@gmail.com" target="_blank">xxopxe@gmail.com</a>></span><br>
<blockquote style="border-left:1px #ccc solid;padding-left:1ex;">
<div>
<div>Sospecho que se refiere al paquete usb4butia mismo,
el que tiene aquello handler, modules, etc.<span><font color="#888888"><br>
<br>
J.</font></span>
<div>
<div><br>
<br>
On 25/08/13 22:57, Andres Aguirre wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote>
<div dir="ltr">En USB puro eso se encarga de hacerlo
el stack USB que viene en el sistema operativo. A
nivel de usuario no tenes que hacerlo,
simplemente pedís para leer un flujo de bytes de
determinado largo y podes confiar que lo que llegó
esta consistente. A lo mejor vos tenes en mente
cuando usábamos el arduino mega, donde venía
físicamente por el cable USB los datos pero seguía
siendo un serial tonto. Digamos que el estándar
USB es un serial más inteligente ;)
<div> saludos</div>
<div><br>
</div>
<div><br>
<br>
<div>2013/8/25 Federico
Andrade - InCo <span dir="ltr"><<a href="mailto:fandrade@fing.edu.uy" target="_blank">fandrade@fing.edu.uy</a>></span><br>
<blockquote style="border-left:1px #ccc solid;padding-left:1ex;">
<div dir="ltr">
<div dir="ltr">¿donde está el código parte
de protocolo (armado y desarmado del
paquete) usb4butia del butia en pybot?es
decir, la parte que te fijas si el
paquete tiene sync, checksum ok,
desescapeas, etc</div>
<div dir="ltr">etc</div>
<div dir="ltr">???<span><font color="#888888"><br>
<br>
</font></span></div>
<span><font color="#888888">
<div>
<div dir="ltr">Federico Andrade -
InCo<br>
</div>
</div>
</font></span></div>
<br>
_______________________________________________<br>
Butia-devel-l site list<br>
<a href="mailto:Butia-devel-l@fing.edu.uy" target="_blank">Butia-devel-l@fing.edu.uy</a><br>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l" target="_blank">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br>
</blockquote>
</div>
<br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Butia-devel-l site list
<a href="mailto:Butia-devel-l@fing.edu.uy" target="_blank">Butia-devel-l@fing.edu.uy</a>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l" target="_blank">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a></pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Butia-devel-l site list<br>
<a href="mailto:Butia-devel-l@fing.edu.uy" target="_blank">Butia-devel-l@fing.edu.uy</a><br>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l" target="_blank">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Butia-devel-l site list<br>
<a href="mailto:Butia-devel-l@fing.edu.uy" target="_blank">Butia-devel-l@fing.edu.uy</a><br>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l" target="_blank">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br></blockquote></div><br></div>
<br>_______________________________________________
Butia-devel-l site list
<a href="mailto:Butia-devel-l@fing.edu.uy" target="_blank">Butia-devel-l@fing.edu.uy</a>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l" target="_blank">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a></div></div></div></div>                                            </div></div>
</blockquote></div><br></div></div></div></div></div>                                            </div></div>
<br>_______________________________________________<br>
Butia-devel-l site list<br>
<a href="mailto:Butia-devel-l@fing.edu.uy">Butia-devel-l@fing.edu.uy</a><br>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l" target="_blank">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br></blockquote></div><br></div></div></div>                                            </div></body>
</html>