Diferencia entre revisiones de «Pybot»

De Proyecto Butiá
Saltar a: navegación, buscar
(→‎Drivers en PyBot)
(→‎Drivers en PyBot)
 
(No se muestra una edición intermedia del mismo usuario)
Línea 1: Línea 1:
  
−
 
−
== Drivers en PyBot ==
 
−
 
−
Los drivers de PyBot son escritos en python. Dentro de la carpeta /drivers se encuentran todos aquellos que no son PNP (plug and play). Los módulos que son abiertos automáticamente por la placa, por ejemplo cuando uno conecta un sensor de grises,
 
−
van dentro de /drivers/hotplug.<br>
 
−
Cada función en el driver se define como una función Python utilizando el "def" y recibe como primer parámetro el dispositivo ("dev") con el cual se va a comunicar.<br>
 
−
Este es el ejemplo del driver del sensor de grises, el cuál tiene dos funciones: getVersion y getValue<br>
 
−
 
−
[[Archivo:pybot_driver_grey.png|Captura del código del driver de grises]]
 
−
 
−
Esta es una captura del código del driver de los hack points (hackp):
 
−
 
−
[[Archivo:pybot_driver_hackp_setmode.png|Captura parcial del código del driver de hackp]]
 
−
 
−
Como se puede observar, la función "setMode" recibe como primer argumento el "dev" y luego el resto de los parámetros: el número de "pin" y el "value" que es el modo.
 
−
Se guarda en "msg" la lista con el "código de operación" SET_MODE y se le agregan los otros parámetros.
 
−
 
−
    msg = [SET_MODE, pin, value]
 
−
 
−
Esto se le envía al módulo con la función "send":
 
−
 
−
    dev.send(msg)
 
−
 
−
Luego se leen 2 bytes: el primero, como en todas las funciones es el mismo "código de operación" que fue enviado y el segundo
 
−
es en este caso, el código de error (si es -1, hubo un error).
 
−
 
−
    raw = dev.read(2)
 
−
 
−
Y solo se retorna el segundo byte que es el el importante:
 
−
 
−
    return raw[1]
 

Revisión actual del 00:03 8 abr 2013