summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/busp/busp_actionneurs.cc
blob: 063da028a298f695087bae006a9f5610827e8c69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// busp_actionneurs.cc
// buzz - Programme du robot Efrei Robotique I1-I2 2003
// Copyright (C) 2003 Nicolas Schodet
//
#include "busp_actionneurs.h"
#include "busp.h"

#include <iostream>

// Constructeur.
BuspActionneurs::BuspActionneurs ()
{
    m_actionneurs = 0;
}

// Destructeur.
BuspActionneurs::~BuspActionneurs ()
{
}

// Change un actionneur.
void
BuspActionneurs::set (int n, int val)
{
    m_actionneurs = m_actionneurs & ~(1 << n) | (val << n);
    Busp::getInstance ().cli ();
    Busp::getInstance ().write (m_address, m_actionneurs);
    Busp::getInstance ().sti ();
}

// Change tous les actionneurs.
void
BuspActionneurs::setAll (int set, int reset)
{
    m_actionneurs = (m_actionneurs & ~reset) | set;
    Busp::getInstance ().cli ();
    Busp::getInstance ().write (m_address, m_actionneurs);
    Busp::getInstance ().sti ();
}