IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Framework pour programmer efficacement les registres d'une carte spécialisée


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut Framework pour programmer efficacement les registres d'une carte spécialisée
    Bonjour,

    Je suis à la recherche d'un framework pour programmer efficacement les registres d'une carte spécialisée.
    Certaines informations de configuration sont destinées à plusieurs registres.
    Ce framework doit permettre de convertir des enums en bit dans des octets.
    Si vous avez des idées ...

    Merci d'avance.
    Chan

  2. #2
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Hello,

    Va falloir en dire un peu plus : quel est le format de données en particulier ?

    Citation Envoyé par Chachane Voir le message
    Ce framework doit permettre de convertir des enums en bit dans des octets.
    Si vous avez des idées ...
    Un simple truc du genre ne ferait pas l'affaire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    template <class T>
    std::uint32_t set(std::uint32_t &st, T en) {
       return st |= en;
    }
     
    template <class T>
    std::uint32_t clear(std::uint32_t &st, T en) {
       return st &= (~en);
    }
     
    std::uint32_t clear(std::uint32_t &st) {
       return st = 0u;
    }
     
    enum State {
       State_A = 1u,
       State_B = 2u,
       State_C = 4u,
       State_D = 8u
    };
     
    std::uint32_t st;
    set(st, State_A); // st == State_A;
    set(st, State_B); // st == State_A | State_B;
    clear(st, State_B); // st == State_A;
    clear(st); // st == 0;

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 488
    Par défaut
    Le pilotage de carte électronique, c'est plus de l'ordre du Driver que du programme utilisateur.
    Dans ce cadre, les besoins en abstraction sont si minces que les fonctionnalités du langage choisis, ou de leur bibliothèque "standard" feraient largement l'affaire.
    Si votre carte est d'une famille très répandu, des bibliothèques dédiées doivent déjà exister.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut
    Bonsoir,

    C'est pour développer l'interface entre les registres de la cartes et le haut niveau...

    Exemple :
    je veux programmer 50 mbar, 45° et 70% d'humindité :
    --> j' appelle une fonction du genre : SetPression(PRESSION_50)
    Tous les registres en lien avec la pression sont programmés. Niveau bit.
    --> j' appelle une fonction du genre : SetTemperature(TEMP_45)
    Tous les registres en lien avec la t° sont programmés. Niveau bit.
    --> j' appelle une fonction du genre : SetHygro(HYGRO_70)
    Tous les registres en lien avec l' hygro sont programmés. Niveau bit.
    --> j' appelle une fonction du genre : Start()
    Tous les registres en lien avec le start sont programmés. Niveau bit.
    Plusieurs processus peuvent accéder aussi bien en set qu'en get.

    Bon c'est bien plus compliqué mais ça résume bien.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 488
    Par défaut
    Cela rentre parfaitement dans le cadre de mon post précédent, mais vous ne fournissez aucune info supplémentaire.

    Vous regardez la documentation sur le développement de driver associé à la plateforme cible et roule ma poule.

Discussions similaires

  1. comment faire pour supprimer tous les enregistrements d'une table
    Par sehing7 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/04/2009, 14h13
  2. Existe t'il un framework pour programmation orienté plugins
    Par toure32 dans le forum Plateformes réactives et architectures modulaires
    Réponses: 2
    Dernier message: 12/06/2008, 08h26
  3. [RegEx] caractère pour remplacer tous les caractères dans une regex
    Par sp2308 dans le forum Langage
    Réponses: 6
    Dernier message: 09/02/2008, 01h06
  4. commande pour lister ttes les tables d'une bdd
    Par pierre2410 dans le forum Administration
    Réponses: 2
    Dernier message: 30/04/2007, 11h45
  5. SELECT pour avoir tous les TS d'une database
    Par genio dans le forum DB2
    Réponses: 5
    Dernier message: 21/08/2006, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo