Ligne 46 : |
Ligne 46 : |
| | | |
| == class RobotBase == | | == class RobotBase == |
− | """ Base for PCA9685's based Servo Robot """
| + | ENG: Base class for a Servo's based robot using the PCA9685 controler. You will have to create your own derivated class to specialize RoboBase. You will also provide a collection of movement to your descendant class. |
| | | |
− | def __init__( self, controlers, movementscls ):
| + | FR: Classe de base pour un robot à base de Servo utilisant le contrôleur PCA9685. Vous aurez besoin de créer votre propre classe dérivée de RobotBase, classe que vous spécialiserez. Vous fournirez également une collection de mouvement à votre classe dérivée. |
− | """ :params controlers : list of PCA9685 servo controleur. [ (i2c_bus, address=0x40), ... ]
| |
− | :params movementscls : list of Movement classes to register """
| |
| | | |
− | def movement( self, name ):
| + | === def __init__( self, controlers, movementscls ) === |
− | """ retreive or create a Movement class instance
| |
| | | |
− | :params name: name of the movement (UPPERCASE!) """
| + | * '''controlers''' |
| + | ** ENG: list of PCA9685 servo controleur with following format [ (i2c_bus, address=0x40), ... ]. Most of the projects are only using one servo controleur (16 channels). |
| + | ** FR: Liste des contrôleurs servo PCA9685. En utilisant le format suivant [ (i2c_bus, address=0x40), ... ]. La plupart des projets n'utilise qu'un seul contrôleur de servo (à 16 canaux). |
| + | * '''movementscls''' |
| + | ** ENG: a list of {{fname|Movement}} classes to register for the Robot. See {{fname|doggy.py}} file for samples. |
| + | ** FR: Une liste des classes {{fname|Movement}} (mouvement) à enregistrer pour le robot. Voyez le code de {{fname|doggy.py}} pour des exemples. |
| + | |
| + | === def movement( self, name ) === |
| + | ENG: Retreive or create a Movement class instance (from its name). This function is used by {{fname|move()}} and {{fname|prepare()}} |
| + | |
| + | FR: Retrouve (ou crée) une instance de la classe Movement (depuis son nom). |
| + | |
| + | * '''name''' |
| + | ** ENG: name of the movement to retreive (UPPERCASE!) |
| + | ** FR: Nom du mouvement à retrouver (MAJUSCULE!) |
| | | |
− | def prepare( self, name, **kw ):
| + | === def prepare( self, name, **kw ) === |
− | """ Call the prepare() on a Movement class instance """
| + | ENG: Call the prepare() method on a Movement class instance identified by its name. See {{fname|Movement.prepare()}} for more information. |
| + | |
| + | FR: Appelle la méthode prepare() sur l'instance de la classe Movement identifiée par son nom. Voyez {{fname|Movement.prepare()}} pour plus d'information. |
| + | |
| + | * '''name''' |
| + | ** ENG: Name of the Movement instance to be retreived (usually LEFT, L, FORWARD, F, etc). |
| + | ** FR: Nom de l'instance de Movement (classe mouvement) à retrouver. Habituellement LEFT (''pour gauche''), L, FORWARD (''avant''), etc |
| + | * '''**kw''' |
| + | ** ENG: Named parameters that will be forwarded to the {{fname|Movement.prepare()}} method. |
| + | ** FR: Paramètres nommés qui seront passé à la méthode {{fname|Movement.prepare()}} |
| + | |
| + | === def move( self, name, prepare=False, repeat=None, **kw ) === |
| + | ENG: Call the do() on a Movement class instance identified by its name. So perform the desired movement -OR- an iteration of the desired movement. See {{fname|Movement.do()}} for more information. |
| | | |
− | def move( self, name, prepare=False, repeat=None, **kw ):
| + | FR: Appelle la méthode do() sur l'instance de la classe Movement identifiée par son nom. Effectue donc le mouvement désiré -OU- une itération du mouvement désiré. Voyez {{fname|Movement.do()}} pour plus d'information. |
− | """ Call the step() on a Movement class instance
| |
| | | |
− | :params prepare: call prepare() first
| + | * '''name''' |
− | :params repeat: can be an integer or a callback function.
| + | ** ENG: Name of the Movement instance to be retreived (usually LEFT, L, FORWARD, F, etc). |
− | integer - call x times the do()
| + | ** FR: Nom de l'instance de Movement (classe mouvement) à retrouver. Habituellement LEFT (''pour gauche''), L, FORWARD (''avant''), etc |
− | callable( robotobj, move_name, iteration_count ) - call do() while callable returns True """
| + | * '''prepare''' |
| + | ** ENG: call {{fname|Movement.prepare()}} first before calling the {{fname|Movement.do()}} |
| + | ** FR: Appel d'abord {{fname|Movement.prepare()}} avant d'appeler {{fname|Movement.do()}} |
| + | * '''repeat''' |
| + | ** ENG: can be an integer or a callback function. Used to repeat X time the {{fname|Movement.do()}} |
| + | *** integer - call x times the do() |
| + | *** callaback( robotobj, move_name, iteration_count ) - The do() is repeate as long as the callback returns True. Iteration_count is incremented at each call. |
| + | ** FR: Peut être soit un entier ou une fonction callback. Utilisé pour répéter X fois l'appel à {{fname|Movement.do()}} |
| + | *** entier - appelle x dois la méthode Movement.do() |
| + | *** callaback( robotobj, move_name, iteration_count ) - La méthode do() est répétée aussi longtemps que le callback renvoie True. Iteration_count est incrémenté à chaque appel. |
| + | * '''**kw''' |
| + | ** ENG: Named parameters that will be forwarded to the {{fname|Movement.prepare()}} method. |
| + | ** FR: Paramètres nommés qui seront passé à la méthode {{fname|Movement.prepare()}} |
| | | |
| == class Movement == | | == class Movement == |