Librairie logicielle pour Windows CE DLL-MUX-WINCE Guide utilisateur janv.-05 AG/055008
TABLE DES MATIERES 1 But du document...5 1.1 But...5 2 Bibliothèques d accès...6 2.1 Introduction...6 2.1.1 Synoptique... 6 2.1.2 Présentation... 6 2.1.3 Liste des cartes accessibles par les fonctions de la bibliothèque... 7 3 Bibliothèques communes à tous les protocoles...8 3.1 Ordre d appel...8 3.2 MuxCountCards: Retourne le nombre de cartes gérées par les DLLs...8 3.3 MuxUsbCountCards: Retourne le nombre de cartes USB...9 3.4 MuxUsbGetCardInfo: Retourne des informations sur les cartes USB...9 3.5 MuxInit : Initialisation des variables internes des librairies...10 3.6 MuxOpen : Ouverture du driver...10 3.7 MuxGetVersion : Retourne les versions des logiciels...11 3.8 MuxClose : Fermeture du driver...12 3.9 MuxGetLastErrorString: Précision du type d erreur...12 3.10 MuxLoadDLL: Chargement dynamique de la librairie...13 3.11 MuxFreeDLL: Libération du chargement dynamique de la librairie...14 4 Bibliothèques WINCE...15 4.1 Points importants...15 4.2 Ordre d appel...15 4.3 WINCEConfigParam : Paramètres de fonctionnement...15 4.4 WINCEActivate : Activation de la gestion du système Windows CE...16 4.5 WINCEDeactivate : Arrête la gestion du système Windows CE...17 4.6 WINCESetNotification : Déclaration de l événement application...17 4.7 WINCEGetPowerState : Etat de la batterie...18 4.8 WINCEIsDriverUnloaded : Connaître l état du driver USB-MUX...20 4.9 WINCEGetEvent : Lecture d un événement...21 5 Annexe : Insertion des librairies au projet...23 5.1 Méthode par chargement statique...23 5.1.1 Procédure à suivre... 23 5.1.2 Avantages et inconvénients... 23 janvier 2005 AG/055008-3 -
5.2 Méthode par chargement dynamique...24 5.2.1 Procédure à suivre... 24 5.2.2 Avantages et inconvénients... 24 Annexe : Prototypes commune...25 Annexe : Prototypes WINCE...26 Annexe : Liste des documents applicable sous Windows CE...27 Liste des éditions successives...28-4 - AG/055008 janvier 2005
1 But du document 1.1 But Le but de ce document est de décrire les différentes fonctions des drivers MUX spécifiques à Windows CE. Ces bibliothèques de fonctions logicielles permettent de prendre en charge les particularités des systèmes Pocket PC, telle que la mise en veille du système ou du rétro éclairage. L utilisation des ces fonctions permet à l utilisateur de rendre transparent la gestion de l énergie et des modes d économie liés. Ces fonctions sont uniquement disponibles pour le monde des Pocket PC et ne se sont pas intégrées dans la version PC des librairies logicielles. Toutes ces fonctions sont regroupées au sein d une librairie dynamique (DLL), cette librairie est opérationnelle pour des Pocket PC équipés de systèmes d exploitation Windows CE/Mobile (cible ARM). janvier 2005 AG/055008-5 -
2 Bibliothèques d accès 2.1 Introduction 2.1.1 Synoptique Application Librairie (DLL) Driver (*.VXD ou *.SYS) Carte PCI Bus USB Application Librairie (DLL) Driver USB Boîtier USB 2.1.2 Présentation L application dialogue avec les réseaux au moyen de différentes fonctions fournies par la librairie. Ces fonctions sont identiques quelque soit le système d exploitation. Le driver lui dépend du système d exploitation : - (*.VXD) pour les systèmes d exploitation Windows 95/98, - (*.SYS) pour Windows 98, 2000 et XP, - (*.DLL) pour les boîtiers USB sous Windows CE ou Mobile. Les librairies permettent à une application d accéder jusqu à 8 cartes simultanément ainsi qu à tous les réseaux présents sur celles-ci. Les librairies permettent à plusieurs applications d accéder à plusieurs cartes différentes, elles ne permettent pas à plusieurs applications de partager une même carte. - 6 - AG/055008 janvier 2005
2.1.3 Liste des cartes accessibles par les fonctions de la bibliothèque Toutes les cartes de la gamme EXXOTest Multiplexing sont accessibles à l aide des librairies logicielles, cela permet à une application de rester identique et de fonctionner quelque soit le type de matériel utilisé. janvier 2005 AG/055008-7 -
3 Bibliothèques communes à tous les protocoles 3.1 Ordre d appel L application doit respecter le séquencement suivant lors de l appel des fonctions. MuxPciCountCard MuxPciGetCardInfo s MuxOpen Routines VAN Routines CAN Routines ISO9141 Routines LIN Routines WINCE MuxClose 3.2 MuxCountCards: Retourne le nombre de cartes gérées par les DLLs tmuxstatus MuxCountCards(unsigned long *dwcardscount) Cette fonction retourne le nombre de cartes connectées au PC. - 8 - AG/055008 janvier 2005
Aucun dwcardscount : Nombre de cartes détectées STATUS_ERR_OPEN Erreur d ouverture du driver 3.3 MuxUsbCountCards: Retourne le nombre de cartes USB tmuxstatus MuxUsbCountCards(unsigned long *dwcardscount) Cette fonction retourne le nombre de cartes présentes sur le bus USB. Aucun dwcardscount : Nombre de carte USB-MUX détectée sur le bus USB STATUS_ERR_OPEN Erreur d ouverture du driver 3.4 MuxUsbGetCardInfo: Retourne des informations sur les cartes USB tmuxstatus MuxUsbGetCardInfo(unsigned short wcard, unsigned long *dwhubnum, unsigned long *dwportnum, unsigned long *dwfullspeed, unsigned long *dwdeviceaddress, unsigned long *dwcardinfo, unsigned long *dwuniqueid); Cette fonction retourne des informations sur les cartes présentes sur le bus USB. wcard : Indice du numéro de carte à accéder janvier 2005 AG/055008-9 -
dwhubnum : Numéro du «HUB» lequel se trouve la carte dwportnum : Numéro de port sur lequel se trouve la carte dwfullspeed: 1 : Indique que la carte USB fonctionne au débit maximum de 12 Mbit/sec sur le bus USB. dwdeviceadress : Réservé pour utilisation interne dwcardinfo : Informations supplémentaires dwuniqueid : Réservé pour utilisation interne STATUS_ERR_OPEN STATUS_ERR_TO_USB Erreur d ouverture du driver Erreur de communication sur le bus USB 3.5 MuxInit : Initialisation des variables internes des librairies tmuxstatus MuxInit(unsigned int wcard) Cette fonction initialise les états et variables internes des librairies. Cette fonction est la première fonction que doit appeler l application (après MuxLoadDLL si chargement dynamique), cet appel est unique et se situe en début de programme. wcard : Indice du numéro de carte à accéder Aucun STATUS_ERR_SEQUENCE Erreur de séquence 3.6 MuxOpen : Ouverture du driver tmuxstatus MuxOpen(unsigned short wcard, tmuxconfigmode *hmuxconfigmode) - 10 - AG/055008 janvier 2005
Cette fonction permet d initialiser la communication avec le driver de la carte multiplexée. wcard : Indice du numéro de carte à accéder hmuxconfigmode : Mode de fonctionnement du driver emuxmode MODE_APPLI : - Réservé MODE_KERNEL : - Valeur à programmer par l application MODE_DEMO : - Réservé wbusinterface Réservé Aucun STATUS_ERR_PARAM Erreur de paramètres STATUS_ERR_OPEN Erreur d ouverture du driver logiciel STATUS_ERR_OPENKP Erreur d ouverture du driver matériel STATUS_ERR_MEMORY Erreur d allocation mémoire STATUS_ERR_BANK Erreur repagination mémoire STATUS_ERR_SEQUENCE Erreur de séquence 3.7 MuxGetVersion : Retourne les versions des logiciels tmuxstatus MuxGetVersion(unsigned short wcard,unsigned long *dwversiondll,unsigned long *dwversiondriver,unsigned long *dwversionkernel, tmuxhwtype *enumhwtype); Cette fonction retourne les versions de logiciels installés. wcard : Indice du numéro de carte à accéder DwVersionDll : Numéro de version des DLL DwVersionDriver : Numéro de version du driver logiciel DwVersionKernel : Numéro de version du driver matériel enumhwtype : Type de carte janvier 2005 AG/055008-11 -
PCI_MUX_DEMO Carte absente : version de demonstration PCI_MUX_C3V2L Carte PCI-MUX-C3V2L PCI_MUX_CAN Carte PCI-MUX-CAN PCI_MUX_VAN Carte PCI-MUX-VAN PCI_MUX_MultiCAN Carte PCI-MUX-4C2L USB_MUX_C3VL Carte USB-MUX-C3VL USB_MUX_4C2L Carte USB-MUX-4C2L USB_MUX_CL Carte USB-MUX-CL STATUS_ERR_PARAM Erreur de paramètres 3.8 MuxClose : Fermeture du driver tmuxstatus MuxClose(unsigned short wcard) Cette fonction termine la communication avec la carte. Cette fonction est la dernière fonction appelée par l application. wcard : Indice du numéro de carte à accéder Aucun STATUS_ERR_PARAM Erreur de paramètres 3.9 MuxGetLastErrorString: Précision du type d erreur tmuxstatus MuxGetLastErrorString(char **pstring); Cette fonction retourne un texte indiquant le contenu de la dernière erreur surveneue. exemple : char *pstring - 12 - AG/055008 janvier 2005
if (MuxOpen(0, MODE_KERNEL)!= ) { /* Une erreur s est produite */ MuxGetLastErrorString(&pString); printf("erreur : %s",pstring); } pstring : Pointeur sur l adresse à renseigner pstring : Pointeur sur la chaîne de texte 3.10 MuxLoadDLL: Chargement dynamique de la librairie tmuxstatus MuxLoadDLL(void); Cette fonction est nécessaire lorsque l application désire charger les fonctions dynamiquement (Voir chapitre. insertion des librairies au projet). Cette fonction est la première fonction que doit appeler l application, cet appel est unique et se situe en début de programme. exemple : if (MuxLoadDLL()!= ) { /* Une erreur s est produite */ printf("erreur chargement librairie"); } Aucun Aucun STATUS_ERR_OPENDLL Erreur chargement des fonctions de la librairie janvier 2005 AG/055008-13 -
3.11 MuxFreeDLL: Libération du chargement dynamique de la librairie tmuxstatus MuxFreeDLL(void); Cette fonction est nécessaire lorsque l application désire charger les fonctions dynamiquement (Voir chapitre : insertion des librairies au projet). Cette fonction est la dernière fonction que doit appeler l application. exemple : if (MuxFreeDLL()!= ) { /* Une erreur s est produite */ printf("erreur ); } Aucun Aucun STATUS_ERR_OPENDLL Erreur lors de l appel de la fonction - 14 - AG/055008 janvier 2005
4 Bibliothèques WINCE 4.1 Points importants Lors de l utilisation des librairies logicielles USB-MUX, l appel aux fonctions WINCExxx n est pas obligatoire pour assurer un fonctionnement correcte sous Windows CE. Il est tout de même fortement conseillé d utiliser ces fonctions afin de gérer correctement les problèmes de mise en veille, engendrés par la gestion de l énergie sur les Pocket PC. En effet, lors du passage en mode veille, le système d exploitation éteint les périphériques USB et décharge les drivers associés, la communication USB devient donc impossible, et ce, même après le réveil du système. Si aucun appel à ces fonctions est effectué, la gestion de l environnement Windows CE est quand même assuré en interne, mais aucun événement indiquant le déchargement du driver n est remonté à l application. Cette dernière se doit de faire appel périodiquement à la fonction WINCEIsDriverUnloaded. 4.2 Ordre d appel L application doit respecter le séquencement suivant lors de l appel des fonctions. X : signifie que la fonction est autorisée dans l état en cours. X : signifie que la fonction est autorisée dans l état en cours et passe à l état suivant. Etat WINCE_INIT WINCE_START WINCEConfigParam X WINCEActivate X WINCEDeactivate X X WINCESetNotification X WINCEGetPowerState X WINCEIsDriverUnloaded X X WINCEGetEvent X 4.3 WINCEConfigParam : Paramètres de fonctionnement tmuxstatus _MUXAPI WINCEConfigParam(unsigned short wcard, twinceparam *hwinceparam); janvier 2005 AG/055008-15 -
Cette fonction détermine les paramètres de fonctionnement sous Windows CE. wcard : Indice du numéro de carte à accéder hwinceparam : Configuration des paramètres epowermode Mode de gestion de l alimentation : WINCE_POWERMODE_USESYSTEM_SETTINGS - Utilise les paramètres définis par le système d exploitation. WINCE_POWERMODE_PREVENT_POWERDOWN - Empêche le système de passer en mode veille. ebacklightmode Mode de gestion du rétroéclairage : WINCE_BACKLIGHT_USESYSTEM_SETTINGS - Utilise les paramètres définis par le système d exploitation. WINCE_BACKLIGHT_PREVENT_POWERDOWN - Empêche le rétroéclairage de passer en mode veille. esendevent WINCE_FALSE - Aucun événement EVENT_WINCE_xxx n est remonté WINCE_TRUE - Les événements EVENT_WINCE_xxx sont remontés Aucun STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur de paramètres Erreur de séquence 4.4 WINCEActivate : Activation de la gestion du système Windows CE tmuxstatus _MUXAPI WINCEActivate(unsigned short wcard); Cette fonction active la gestion du système Windows CE en fonction des paramètres passés à la fonction WINCEConfigParam, et permet ainsi par exemple de surveiller l état de la batterie. wcard : Indice du numéro de carte à accéder - 16 - AG/055008 janvier 2005
Aucun STATUS_WARNING STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur non critique Erreur de paramètres Erreur de séquence Note sur STATUS_WARNING : Ce code retour correspond à une initialisation, non critique pour le fonctionnement, qui a échouée, par exemple la gestion du rétro éclairage. Pour avoir plus de détails sur l erreur, appeler la fonction MuxGetLastErrorString. 4.5 WINCEDeactivate : Arrête la gestion du système Windows CE tmuxstatus _MUXAPI WINCEDeactivate(unsigned short wcard); Cette fonction arrête la gestion du système Windows CE. wcard : Indice du numéro de carte à accéder Aucun STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur de paramètres Erreur de séquence 4.6 WINCESetNotification : Déclaration de l événement application tmuxstatus WINCESetNotification (unsigned short wcard, HANDLE hwinevent); Cette fonction permet à l application d utiliser les méthodes de synchronisation de tâches fournies par les systèmes d exploitation Windows (API WIN32). Cette fonction janvier 2005 AG/055008-17 -
permet de passer un handle d événement créé par la fonction Windows «CreateEvent» aux DLL. Cet événement est utilisé en cours de gestion du système lorsqu un événement est remonté des DLL vers l application (par exemple : un changement d état de la batterie, une mise en veille du système, ). Dès lors, l application peut se mettre en attente d événements à l aide des fonctions d attente telles que WaitForSingleObject ou WaitForMultipleObject. exemple : /* Demande d indication d événement */ HANDLE hwinevent ; twinceevent hevent ; tmuxstatus Status ; unsigned short wcard=0; hwinevent=createevent(null,false,false,null) ; if (hwinevent == NULL) return ; Status=WINCESetNotification (wcard, hwinevent) ; if (Status!= ) return ; Status=WINCEActivate(wCard) ; if (Status!= ) return ; if (WaitForSingleObject(hWinEvent,INFINITE) == WAIT_OBJECT_0) { WINCEGetEvent(wCard, &hevent); } wcard : Indice du numéro de carte à accéder hwinevent : «handle» retourné par la fonction CreateEvent. Aucun STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur de paramètres Erreur de séquence 4.7 WINCEGetPowerState : Etat de la batterie tmuxstatus _MUXAPI WINCEGetPowerState(unsigned short wcard, twincepowerstate *hpowerstate) ; Cette fonction permet de connaître l état actuel de la batterie. - 18 - AG/055008 janvier 2005
wcard : Indice du numéro de carte à accéder. hpowerstate : Pointeur sur l état à renseigner. hpowerstate : Reçoit l état en cours de la batterie. eaclinestate Etat de l alimentation secteur : WINCE_ACLINE_OFFLINE - L alimentation secteur n est pas branchée. WINCE_ACLINE_ONLINE - L alimentation secteur est branchée. wbatterystate Etat de la batterie, peut contenir une combinaison des valeurs suivantes : WINCE_BATTSTATE_HIGH : - La batterie est chargée au maximum WINCE_BATTSTATE_LOW - La batterie est presque déchargée WINCE_BATTSTATE_CRITICAL - La batterie est à un niveau de charge critique WINCE_BATTSTATE_CHARGING - La batterie est en charge WINCE_BATTSTATE_NOBATTERY - Aucune batterie présente WINCE_BATTSTATE_UNKNOWN - Impossible de connaître l état de la batterie wbatterylifepercent dwbatterylifetime Pourcentage de charge de la batterie. Temps restant en secondes avant la décharge complète de la batterie. WINCE_BATTLIFETIME_UNKNOWN - Durée de vie de la batterie inconnue STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur de paramètres Erreur de séquence Exemple : unsigned short wcard=0 ; twincepowerstate hpowerstate ; // Récupère l état de la batterie if(wincegetpowerstate(wcard, &hpowerstate)!=) return ; // Batterie à l état critique? If(hPowerState.wBatteryState & WINCE_BATTSTATE_CRITICAL) { // Affiche un message d erreur janvier 2005 AG/055008-19 -
} 4.8 WINCEIsDriverUnloaded : Connaître l état du driver USB-MUX tmuxstatus _MUXAPI WINCEIsDriverUnloaded(unsigned short wcard, unsigned short *wisdriverunloaded); Cette fonction permet de connaître l état du driver USB-MUX et plus particulièrement si ce dernier est toujours chargé en mémoire. En effet, lors d une mise en veille du système, tous les périphériques USB sont déconnectés et leur driver associé déchargé. La communication USB entre le système et les boîtiers USB-MUX ne peut plus s effectuer avant une réinitialisation complète de la librairie logiciel muxdll.dll et la reconfiguration complète des boîtiers USB-MUX. Il est possible de connaître le moment précis où le driver est déchargé, sans avoir à appeler périodiquement cette fonction. Il suffit de gérer l événement EVENT_WINCE_DRIVERUNLOADED avec la fonction WINCEGetEvent. wcard : Indice du numéro de carte à accéder. wisdriverunloaded : Pointeur sur la variable à renseigner. wisdriverunloaded : Reçoit l état du driver, une valeur non nulle indique que le driver à été déchargé. STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur de paramètres Erreur de séquence Exemple : unsigned short wcard=0, wisdriverunloaded; // Vérifie si le driver est encore chargé if(winceisdriverunloaded(wcard, &wisdriverunloaded)!=) return ; // Le driver à été déchargé?? If(&wIsDriverUnloaded!=0) { // Réinitialise les librairies mux MuxFreeDLL() ; // Décharge MuxLoadDLL() ; // Recharge la DLL // Réinitialise la carte } - 20 - AG/055008 janvier 2005
4.9 WINCEGetEvent : Lecture d un événement tmuxstatus _MUXAPI WINCEGetEvent(unsigned short wcard, twinceevent *hevent); Cette fonction permet de récupérer un événement en provenance de la gestion de Windows CE. wcard : Indice du numéro de carte à accéder. hevent : Pointeur sur l événement à renseigner. hevent : L événement renseigné. etypeevent Type d événement : EVENT_WINCE_BATTSTATE - L état de la batterie à changé, lors par exemple, d un branchement ou débranchement de l alimentation secteur, lors de la baisse du niveau de la batterie,... EVENT_WINCE_POWERDOWN - Le système passe ou est passé en mode veille. EVENT_WINCE_POWERRESUME - Le système sort du mode veille. EVENT_WINCE_DRIVERUNLOADED - Le driver a été déchargé par le système, il est nécessaire de réinitialiser la librairie logicielle muxdll.dll ainsi que le boîtier USB. dwtimestamp hpowerstate Datation de l événement en 100 de µsec. Etat de la batterie lors de l événement. Voir la fonction WINCEGetPowerState pour le détail de ce paramètre. STATUS_ERR_PARAM STATUS_ERR_SEQUENCE Erreur de paramètres Erreur de séquence Exemple : unsigned short wcard=0 ; twinceevent hevent ; // Récupère le dernier événement janvier 2005 AG/055008-21 -
if(wincegetevent(wcard, &hevent)!=) return ; // Mais qu est-ce qui se passe!!! switch(hevent.etypeevent & (~EVENT_FIFO_OVF) ) { case EVENT_EMPTY : /* Aucun événement */ break ; case EVENT_WINCE_BATTSTATE : /* La batterie viens de changer d état*/ break ; case EVENT_WINCE_POWERDOWN : /* Le pocket est passé en mode veille */ break ; case EVENT_WINCE_POWERRESUME : /* Le pocket se réveille */ break ; case EVENT_WINCE_DRIVERUNLOADED : /* Le driver à été déchargé >> on le recharge*/ MuxFreeDLL() ; MuxLoadDLL() ; break ; } - 22 - AG/055008 janvier 2005
5 Annexe : Insertion des librairies au projet Il existe deux méthodes pour inclure les DLLs au projet : - La méthode dites par chargement statique - La méthode dites par chargement dynamique 5.1 Méthode par chargement statique Cette méthode consiste à appeler directement les fonctions de la librairie en référence externe, comme n importe quelles fonctions standard, puis au moment de l édition de lien d insérer le fichier *.LIB 5.1.1 Procédure à suivre 1 Insérer dans chaque fichier source faisant appel à au moins une fonction des librairies le fichier de définition des prototype REFMUX.H «#include REFMUX.H» 2 Ajouter au projet le fichier MUXDLL.LIB Remarques : En VISUAL C++ et BORLAND C++, cette opération se réalise par le menu «Projet» puis «ajouter au projet» 5.1.2 Avantages et inconvénients Avantages : 1. Méthode très simple à mettre en œuvre Inconvénients : 1. Il se peut qu en fonction de certain compilateur utilisé, le fichier MUXDLL.LIB ne soit pas compatible. Dans ce cas une erreur de format est produite à l utilisateur et seule la méthode de chargement dynamique est possible. 2. Une fois l application générée, l application est dépendante de la version du fichier MUXDLL.DLL. L exécutable de l application et le fichier *.DLL doivent toujours aller de paire. janvier 2005 AG/055008-23 -
5.2 Méthode par chargement dynamique Cette méthode consiste à appeler indirectement les fonctions de la librairie. Cela se réalise par un premier appel à la fonction MuxLoadDLL qui a pour rôle d initialiser des pointeurs de fonctions vers les librairies. Par la suite, l appel aux fonctions a lieu comme si les celles-ci étaient directement liées au projet 5.2.1 Procédure à suivre 1 - Insérer dans un fichier source le fichier de définition des prototypes REFMUX.H avec au préalable le mot clef MUX_DYNAMIC_DLL indiquant le chargement dynamique des fonctions #define MUX_DYNAMIC_DLL «#include REFMUX.H» 2 Appeler la fonction MuxLoadDLL avant tout autre appel de fonction 3 Insérer dans les autres fichiers faisant éventuellement appel aux librairies le fichier de définition REFMUX.H avec le mot clef MUX_DYNAMIC_DLL (chargement dynamique) et MUX_DYNAMIC_DLL_EXTERN pour ne pas redéclarer les pointeurs de fonctions. #define MUX_DYNAMIC_DLL #define MUX_DYNAMIC_DLL_EXTERN «#include REFMUX.H» 4 Appeler la fonction MuxFreeDLL en fin de programme pour libérer les pointeurs de fonctions 5.2.2 Avantages et inconvénients Avantages : 1. L application accède aux fonctions par l intermédiaire de requêtes Windows (API WIN32), l application peut se compiler sans problème de format de fichier avec la librairie. 2. L application n est plus dépendante du fichier MUXDLL.DLL, une mise à jour uniquement des DLLs peut être envisagées sans regénérer l application. Inconvénients : 1. Méthode légèrement plus compliquée à mettre en œuvre que la méthode par chargement statique - 24 - AG/055008 janvier 2005
Annexe : Prototypes commune tmuxstatus _MUXAPI MuxCountCards(unsigned long *dwcardscount); tmuxstatus _MUXAPI MuxUsbCountCards(unsigned long *dwcardscount); tmuxstatus _MUXAPI MuxUsbGetCardInfo(unsigned short wcard, unsigned long *dwhubnum, unsigned long *dwportnum, unsigned long *dwfullspeed, unsigned long *dwdeviceaddress, unsigned long *dwcardinfo, unsigned long *dwuniqueid); tmuxstatus _MUXAPI MuxInit(unsigned int wcard); tmuxstatus _MUXAPI MuxOpen(unsigned short wcard, tmuxmode emode); tmuxstatus _MUXAPI MuxGetVersion(unsigned short wcard,unsigned long *dwversiondll,unsigned long *dwversiondriver,unsigned long *dwversionkernel, tmuxcard *enumcard); tmuxstatus _MUXAPI MuxClose(unsigned short wcard); tmuxstatus _MUXAPI MuxGetLastErrorString(char **pstring); tmuxstatus _MUXAPI MuxLoadDLL(void); tmuxstatus _MUXAPI MuxFreeDLL(void); janvier 2005 AG/055008-25 -
Annexe : Prototypes WINCE tmuxstatus _MUXAPI WINCEConfigParam(unsigned short wcard, twinceparam *hwinceparam); tmuxstatus _MUXAPI WINCESetNotification(unsigned short wcard, HANDLE hwinevent); tmuxstatus _MUXAPI WINCEActivate(unsigned short wcard); tmuxstatus _MUXAPI WINCEDeactivate(unsigned short wcard); tmuxstatus _MUXAPI WINCEGetPowerState(unsigned short wcard, twincepowerstate *hpowerstate); tmuxstatus _MUXAPI WINCEGetEvent(unsigned short wcard, twinceevent *hevent); tmuxstatus _MUXAPI WINCEIsDriverUnloaded(unsigned short wcard, unsigned short *wisdriverunloaded); - 26 - AG/055008 janvier 2005
Annexe : Liste des documents applicable sous Windows CE Nom du document Description DLL-MUX-CAN.PDF Librairie logicielle pour bus CAN DLL-MUX-NWC.PDF Librairie logicielle pour la segmentation CAN (Diagnostics on CAN) DLL-MUX-ISO.PDF Librairie logicielle pour bus ISO DLL-MUX-LIN.PDF Librairie logicielle pour bus LIN DLL-MUX-VAN.PDF Librairie logicielle pour bus VAN DLL-MUX-NMEA0183.PDF Librairie logicielle pour bus NMEA 0183 USB-MUX-4C2L.PDF Boîtier USB:1 CANHS, 1 CANHS ou LS-FT, 2 CANLS- FT, 2 LIN ISO/9141 USB-MUX-C3VL.PDF Boîtier USB: 1 CANHS ou LS-FT, 3 VAN, 1 LIN/ISO9141 USB-MUX-CL.PDF Boîtier USB: 1CAN HS ou LS-FT, 1LIN/ISO 9141 USB-MUX-CV32A.PDF Boîtier USB: 1 CANHS ou LS-FT, 1 VAN, 1LIN/ISO9141 et 32 entrées analogiques USB-MUX-DIAG.PDF Boîtier USB: 1 CANHS, 1 CANHS ou LS-FT, 4 ISO 9141/LIN janvier 2005 AG/055008-27 -
Liste des éditions successives Version Date Auteur Modifications 01 01/2005 A.GAMBIER Création du document - 28 - AG/055008 janvier 2005