SysIo  1.9.0
Embedded Library and tools
Connecteurs

Detailed Description

Collaboration diagram for Connecteurs:

Classes

class  Sysio::Connector
 Connecteur. More...
 
class  Sysio::Connector::Descriptor
 Descripteur d'un connecteur. More...
 

Functions

void Sysio::Connector::close ()
 Fermeture du GPIO.
 
int Sysio::Connector::columns () const
 Nombre de colonnes.
 
 Sysio::Connector::Connector (Gpio *parent, const Descriptor *desc)
 Constructeur. More...
 
Device * Sysio::Connector::device () const
 Accès à la couche matérielle.
 
Gpio * Sysio::Connector::gpio () const
 Accès au GPIO parent.
 
bool Sysio::Connector::isDebug () const
 Indique si le mode mise au point est actif.
 
bool Sysio::Connector::isOpen () const
 Indique si ouvert.
 
const std::string & Sysio::Connector::name () const
 Nom du connecteur.
 
int Sysio::Connector::number () const
 Numéro du connecteur sur la carte (commence à 1)
 
bool Sysio::Connector::open ()
 Ouverture.
 
Pin & Sysio::Connector::pin (int num) const
 Broche du connecteur. More...
 
const std::map< int, std::shared_ptr< Pin > > & Sysio::Connector::pin ()
 Liste des broches du connecteur. More...
 
int Sysio::Connector::pinNumber (int row, int column) const
 Calcul du numéro de broche. More...
 
void Sysio::Connector::printHline (std::ostream &os) const
 Affiche une ligne horizontale d'un tableau de broches. More...
 
void Sysio::Connector::printRow (std::ostream &os, int num) const
 Affiche une ligne d'un tableau de broches Si le connecteur à 2 colonnes, les broches num et num+1 sont affichées. More...
 
void Sysio::Connector::printTitle (std::ostream &os) const
 Affiche l'entête d'un tableau de broches. More...
 
int Sysio::Connector::rows () const
 Nombre de lignes.
 
void Sysio::Connector::setDebug (bool enable)
 Active le mode mise au point. More...
 
int Sysio::Connector::size () const
 Nombre de broches.
 
virtual Sysio::Connector::~Connector ()
 Destructeur.
 

Typedefs

typedef int(* Sysio::Connector::PinNumberFunc) (int row, int column, int columns)
 Fonction de calcul du numéro d'une broche de connecteur Le numéro d'une broche dépend de sa ligne row, de sa colonne column, du nombre de colonnes columns et du modèle du connecteur. More...
 

Variables

int Sysio::Connector::Descriptor::columns
 
std::string Sysio::Connector::Descriptor::name
 
int Sysio::Connector::Descriptor::number
 
std::vector< Pin::Descriptor > Sysio::Connector::Descriptor::pin
 
PinNumberFunc Sysio::Connector::Descriptor::pinNumber
 
int Sysio::Connector::Descriptor::rows
 

Friends

std::ostream & Sysio::Connector::operator<< (std::ostream &os, const Connector *c)
 Affiche toutes les informations sur le connecteur et ses broches. More...
 

Typedef Documentation

typedef int(* Sysio::Connector::PinNumberFunc) (int row, int column, int columns)

Fonction de calcul du numéro d'une broche de connecteur Le numéro d'une broche dépend de sa ligne row, de sa colonne column, du nombre de colonnes columns et du modèle du connecteur.

Chaque connecteur dispose d'une de ses fonctions fournis au constructeur par le descripteur.

Definition at line 44 of file gpioconnector.h.

Function Documentation

Sysio::Connector::Connector ( Gpio parent,
const Descriptor desc 
)

#include <gpioconnector.h>

Constructeur.

Un connecteur ne peut être instancié que par une classe Board.

Parameters
parentpointeur sur le Gpio parent
descpointeur sur la description du connecteur
Pin& Sysio::Connector::pin ( int  num) const

#include <gpioconnector.h>

Broche du connecteur.

Parameters
numnuméro de broche dans la numérotation du connecteur. Déclenche une exception std::out_of_range si la broche n'existe pas
Returns
référence sur la broche
const std::map<int, std::shared_ptr<Pin> >& Sysio::Connector::pin ( )

#include <gpioconnector.h>

Liste des broches du connecteur.

Permet de parcourir les broches à l'aide des itérateurs de la STL par exemple pour mettre en entrée toutes les broches:

Gpio * g = new Gpio;
// ....
Connector * c = g->connector(1);
// ....
for (auto p = c->pin().begin(); p != c->pin().end(); ++p) {
// p est une std::pair: first = numéro et second = broche
p->second->setMode(ModeInput);
}
Returns
Container std::map indexé par numéro de broche connecteur
int Sysio::Connector::pinNumber ( int  row,
int  column 
) const
protected

#include <gpioconnector.h>

Calcul du numéro de broche.

Permet à une broche de récupérer son numéro dans le connecteur

Parameters
rowligne de la broche
columncolonne de la broche
Returns
Numéro de la broche dans le connecteur
void Sysio::Connector::printHline ( std::ostream &  os) const
protected

#include <gpioconnector.h>

Affiche une ligne horizontale d'un tableau de broches.

Parameters
osflux d'affichage
void Sysio::Connector::printRow ( std::ostream &  os,
int  num 
) const
protected

#include <gpioconnector.h>

Affiche une ligne d'un tableau de broches Si le connecteur à 2 colonnes, les broches num et num+1 sont affichées.

Parameters
osflux d'affichage
numnuméro de broche dans la numérotation du connecteur. Déclenche une exception std::out_of_range si la broche n'existe pas
void Sysio::Connector::printTitle ( std::ostream &  os) const
protected

#include <gpioconnector.h>

Affiche l'entête d'un tableau de broches.

Parameters
osflux d'affichage
void Sysio::Connector::setDebug ( bool  enable)

#include <gpioconnector.h>

Active le mode mise au point.

Cela active l'affichage d'informations de mise au point de la couche matérielle (GpioDevice).

Friends

std::ostream& operator<< ( std::ostream &  os,
const Connector c 
)
friend

#include <gpioconnector.h>

Affiche toutes les informations sur le connecteur et ses broches.

Voici un exemple d'affichage pour le connecteur DBG_UART d'un NanoPi à partir du code suivant:

Sysio::Gpio * board = new Sysio::Gpio;
...
cout << board->connector(4);
....

Cela donne à l'affichage :

                      CON2 (#4)
   +-----+-----+----------+------+------+---+----+
   | sOc | sIo |   Name   | Mode | Pull | V | Ph |
   +-----+-----+----------+------+------+---+----+
   |     |     |       5V |      |      |   |  1 |
   |     |     |  USB-DP1 |      |      |   |  2 |
   |     |     |  USB-DM1 |      |      |   |  3 |
   |     |     |  USB-DP2 |      |      |   |  4 |
   |     |     |  USB-DM2 |      |      |   |  5 |
   | 105 |  20 |  GPIOL11 |  OUT |  OFF | 0 |  6 |
   |  17 |  11 |  GPIOA17 |  OUT |  OFF | 0 |  7 |
   |  18 |  31 |  GPIOA18 |  OUT |  OFF | 0 |  8 |
   |  19 |  30 |  GPIOA19 |   IN |   UP | 1 |  9 |
   |  20 |  21 |  GPIOA20 |   IN |   UP | 1 | 10 |
   |  21 |  22 |  GPIOA21 |   IN |   UP | 1 | 11 |
   |     |     |      GND |      |      |   | 12 |
   +-----+-----+----------+------+------+---+----+
   | sOc | sIo |   Name   | Mode | Pull | V | Ph |
   +-----+-----+----------+------+------+---+----+
* 
Parameters
osos flux de sortie
cpointeur sur un connecteur