# Les pages à onglet de WxPic

Les pages à onglet regroupent les données gérées par WxPic ainsi que les contrôles permettant de configurer WxPic. Les éléments sont réparties dans les pages suivantes:

Code
  Affiche/Édite la Mémoire du code programme.
Données
  Affiche/Édite la Mémoire de données si le composant sélectionné en possède une.
Config PIC
  Permet le choix du composant et Affiche/Édite la configuration de manière symbolique.
Mémoire Config
  Affiche/Édite la Mémoire de configuration en hexadécimal ou en binaire (y compris le(s) mot(s) de configuration traité(s) par la page Config PIC).
Options
  Configure le fonctionnement de WxPic.
Interface
  Sélectionne l'interface du programmateur et fournit des outil de débogage de cette interface.
Messages
  Affiche les messages d'erreur et de debogage.

Haut

## La page du Code

Affiche le contenu de la mémoire code avec les éventuelles éditions effectuées. Les éditions sont possibles si elles ont été autorisées grâce au menu Autoriser l'édition mémoire. Pour être effective les modifications doivent être appliquées.

La colonne de gauche indique l'adresse du premier mot de la rangée. La ligne du haut le décalage d'adresse par rapport au début de ligne. Les cellules du centre affichent chacune la représentation hexadécimale de la valeur d'un mot de la mémoire code. La colonne de droite affiche la représentation ASCII US des octets des mots de chaque rangée. Les octets d'un mot sont ordonnés en commençant par le plus faible poids. Les octets qui ne sont pas dans l'intervalle 20-7F (hexa) sont représentés par des rectangles.

Les mots peuvent être édités soit par leur représentation hexadécimale, soit par leur représentation ASCII. Quand la représentation ASCII est éditée, l'entrée est rejetée dans les cas où l'une des erreurs suivantes est présente dans la valeur validée :

- Le nombre de caractères ne coreespond pas exactement au nombre d'octets dans les mots de la rangée.
- Un caractère hors de l'intervalle 20-7F (hexa) a été saisi et ce n'est pas un rectangle.
- Un rectangle est entré pour un octet qui n'était pas représenté par un rectangle au début de l'édition.
- Une valeur convertie de l'ASCII déborde de la valeur maximale des mots.

Un rectangle dans l'entrée validée conserve la valeur de l'octet qu'il représente.

La couleur des représentations hexadécimales indique l'un des quatre états suivant pour chacun des mots:

Mot utilisé
  Couleur contrastée modifiable dans la page des options.
Mot inutilisé (valeur identique à celle d'un mot effacé)
  Couleur atténuée
Mot en erreur (différence entre la mémoire de WxPic et celle du composant)
  Rouge
Mot spécial (calibration)
  Violet

Haut

## La page des Données

Affiche le contenu de la mémoire de données avec les éventuelles éditions effectuées. Les éditions sont possibles si elles ont été autorisées grâce au menu Autoriser l'édition mémoire. Pour être effectives, les modifications doivent être Appliquées.

La colonne de gauche indique l'adresse de début de la ligne. La ligne du haut le décalage d'adresse par rapport au début de ligne. Les autres cellules représentent en hexadécimal ou en ASCII le contenu des données. L'édition se fait de la même manière que pour la Page du Code.

Haut

## La page de la Config PIC

Permet le choix du composant à programmer grâce à la liste déroulante. Il est possible d'ajouter de nouveaux composants en éditant le fichier Device.ini

Suivant le composant choisi, les tailles des mémoires code et données du composant sont affichées dans le cadre des caractéristiques du composant. La case à cocher désactivée indique lorsqu'elle est cochée, que la mémoire du composant est de type flash.

La valeur hexadécimale du ou des mots de configuration du composant est affichée (un ou deux mots selon le modèle sélectionné).

La signification de cette configuration est donnée par la table. Chacune de ses lignes représente un paramètre de configuration du composant. Les colonnes indiquent respectivement :

1. Le nom de ce paramètre,
2. L'adresse du mot de configuration qui contient ce paramètre,
3. Le masque hexadécimal correspondant aux bits du mot de configuration qui codent les valeurs de ce paramètre,
4. La signification de la valeur actuelle de ces bits.

La liste des paramètres est dépendante du composant sélectionné.

L'édition du ou des mots de configuration, soit par sa représentation hexadécimale soit par la signification de ses parametres, est possible si elles ont été autorisées grâce au menu Autoriser l'édition mémoire. Pour être effectives, les modifications doivent être Appliquées. Cette valeur est modifiable par sélection dans la liste des significations possibles du paramètre. Cette liste déroulante s'obtient par double clic sur la case à modifier (si l'édition est autorisée).

Les informations sauvegardées avant effacements sont des valeurs de calibration programmée en usine mais qui ne sont pas épargnées par l'opération d'effacement. WxPic sauvegarde donc ces valeurs pour pouvoir les reprogrammer par la suite. En outre elles sont affichées ici.

Haut

## La page de la Mémoire de config

Affiche dans une table, les mots de la mémoire de configuration. On y retrouve entre autres, le ou les mots de configuration traités en détail par la page de la Config Pic. Chaque ligne de la table présente un mot de la mémoire de configuration du composant. Les colonnes indiquent respectivement :

1. L'adresse du mot,
2. Un mot réservé marqué par une astérisque,
3. L'utilisation de ce mot,
4. La valeur actuelle représentée en hexadécimal ou en binaire du mot dans la mémoire de configuration.

Plus de détails sont donnés sur ces mots de configuration ci-dessous.

Dans le panneau de droite, les boutons radio permettent de choisir entre les représentations hexadécimale ou binaire. Celle-ci est utilisée pour les valeurs de tous les mots de la mémoire de configuration de cette page.

La case à cocher permet d'afficher, quand elle est cochée, tous les mots de la mémoire de configuration, même ceux qui sont réservés (non inscriptibles et souvent non utilisés). Lorsqu'ils sont affichés ces mots sont marqués par une astérisque dans la deuxième colonne.

L'identification du composant fournit la valeur du mot indiquant le type du composant pour ceux qui supportent cette information. La traduction de cette valeur en un nom de composant est affichée. Elle devrait correspondre au composant sélectionné. Le mot d'identification du composant permet de vérifier l'identité du composant après l'avoir lu. Ce mot de 14 bits se trouve à l'adresse x2006, mais tous les composants ne semblent pas en être pourvu (un test sur un vieux 16F84 retourne toujours 3FFF comme ID composant). Les 4 ou 5 bits de poids faible peuvent contenir un indice de révision sur certains composants. WxPic essaye de décoder le mot d'identification du composant et montre le résultat sous ident composant dans le panneau de droite. S'il y a un conflit entre le composant sélectionné et l'identification lue, l'identification devient rouge. Si WxPic ne peut pas trouver une correspondance entre un composant connu et le numéro lu, vous pouvez ajouter une nouvelle entrée dans la base des composants comme expliqué ici (n'oubliez pas de mettre à jour le paramètre DeviceIdValue avec le nouveau numéro).

Les éditions des valeurs sont possibles si elles ont été autorisées grâce au menu Autoriser l'édition mémoire. L'édition des valeurs peut se faire en binaire ou en hexadécimal quelque soit la sélection du format d'affichage. La syntaxe des valeurs binaires n'accepte que des 0 ou des 1, separés par des espaces facultatifs. Le nombre de bits doit correspondre exactement au nombre attendu. Si la valeur entrée ne respecte pas les règles de la syntaxe d'une valeur binaire, elle est interprétée comme une valeur hexadécimale. Le format hexadecimal peut commencer avec "0x" ou "h", et/ou se terminer avec "h" (Majuscules autorisées). Les autres caractères doivent tous être des digits hexadécimaux. Les espaces ne sont pas admis dans la valeur mais ils peut y en avoir avant ou après. Une fois l'entrée validée elle est réaffichée formatée comme demandée par la sélection du format d'affichage. Pour être effectives, les modifications doivent être Appliquées.

Haut

### Données d'identification

La plupart des adresses de la mémoire de configuration est utilisée pour stocker des données d'identification. Ces adresses contiennent le plus souvent seulement 4 ou 7 bits par mot. Par exemple dans les composant 14 bits, ces adresses se trouvent de 0x2000 à 0x2003. Contrairement à la mémoire code, les adresse d'ID sont lisibles même si le PIC est protégé.

MPASM (l'assembleur de Microchip) possède la directive __idlocs (avec 2 soulignés) pour définir ces bits, mais uniquement les 4 bits de poids faible de chaque adresse. Cette directive concatène 4 x 4 bits dans une unique valeur de 32 bits, probablement car les anciens PIC n'avaient que 4 bits utilisable par adresse. Mais le PIC12F675 par exemple a 7 bits par adresse !

Avec WxPic vous pouvez lire / modifier / écrire tous les bits des adresses d'identification. Si des données sont contenues dans un fichier HEX pour ces adresses, elles seront chargées et affichées. WxPic n'affiche pas la donnée au format 4 x 4 bits, il utilise un tableau où chaque bit est affiché en binaire. Le tableau est éditable. Appuyer sur le bouton Valider en bas à droite permet de mettre à jour la mémoire de WxPic avec les modifications effectuées. Cela ne programme par pour autant immédiatement le PIC. Cela se fait en demandant une opération de programmation.

### Haut Autres Données

Le mot d'identification du composant permet de vérifier l'identité du composant après l'avoir lu. Ce mot de 14 bits se trouve à l'adresse x2006, mais tous les composants ne semblent pas en être pourvu (un test sur un vieux 16F84 retourne toujours 3FFF comme ID composant). Les 4 ou 5 bits de poids faible peuvent contenir un indice de révision sur certains composants. WxPic essaye de décoder le mot d'identification du composant et montre le résultat sous ident composant dans le panneau de droite. S'il y a un conflit entre le composant sélectionné et l'identification lue, l'identification devient rouge. Si WxPic ne peut pas trouver une correspondance entre un composant connu et le numéro lu, vous pouvez ajouter une nouvelle entrée dans la base des composants comme expliqué ici (n'oubliez pas de mettre à jour le paramètre DeviceIdValue avec le nouveau numéro).

La mémoire de configuration peut aussi parfois contenir d'autres registres spéciaux qui ne rentre pas dans les mots de configuration. Par exemple le mot de Backup OSCCAL du PIC10F20x est dans cette table.

Comme il est impossible de savoir combien et quelles adresses seront utilisées dans les futurs composants, la table des composants de WxPic contient une indication des adresses effectivement implémentées. Vous trouverez plus d'information à ce sujet dans le chapitre sur le fichier DEVICE.INI, qui décrit comment ajouter un support pour les futurs composants.

Haut

##

## La page des Options

Cette page regroupe des choix permettant de modifier le mode de fonctionnement de WxPic

Les cases Programmer la mémoire CODE, les DONNEES et la CONFIGURATION, permettent, en ne les cochant pas, de restreindre la programmation du PIC aux mémoires restant cochées.

Vider la Mémoire avant de charger un fichier HEX permet de garantir que les mots non-spécifiés par le fichier seront inutilisés. A l'inverse, ne pas cocher la case permet de combiner le contenu de plusieurs fichiers HEX.

Établir Vdd avant Vpp change l'ordonnancement des alimentations du PIC. Choisir la valeur qui convient pour le composant et le programmateur.

La listes des langues permet de sélectionner une traduction de l'interface de WxPic. Celle-ci ne sera active qu'après le prochain démarrage de WxPic. Attention si WxPic est arrêté avec l'option Quitter sans sauver les paramètres le changement de langue ne sera pas sauvegardé et donc pas appliqué au démarrage suivant.

Les boutons Couleur du code et Couleur des données permettent de changer la couleur d'affichage des pages Code et Données. Ils affichent le dialogue de choix des couleurs deux fois. La première fois sélectionner la couleur du texte, la seconde fois sélectionner la couleur du fond. Les couleurs proches du rouge sont déconseillées car elles sont déjà utilisées pour afficher les erreurs et les mots spéciaux.

Le champ Répertoire des fichiers Dev de MPLAB doit pointer le sous-répertoire Device du répertoire d'installation de MPLAB où sont rangé les fichiers de définition des composant PIC produits par Microchip. Si ce répertoire est incorrecte et que le fichier de description du composant courant ne peut y être trouvé, le titre du champ passe en rouge. Il redeviendra noir uniquement lorsque l'erreur sera corrigée (c'est à dire lorsque la description du composant pourra être trouvée à l'endroit indiqué).

Windows Only:
  Sous un Windows 32 bits, généralement ce répertoire est: C:\Program Files\Microchip\MPLAB IDE\Device.
  Si le champ Répertoire des fichiers Dev de MPLAB est effacé ou laissé vide, WxPic essaye de trouver dans la base de registre l'emplacement où les fichiers device de MPLAB sont installés. Dette recherche est basée sur une fonctionnalité non-documentée de MPLAB. Elle risque donc de ne pas fonctionner avec toutes les versions.

Si WxPic ne trouve pas le fichier dans le répertoire spécifié (où qu'aucun répertoire n'a été spécifié) WxPic cherche les fichiers de description des composants dans le répertoire Devices sous le répertoire d'installation de WxPic. Copier ces fichiers à cet endroit pourrait être un bon choix au cas où une future version de MPLAB n'utiliserait plus ces fichiers Dev ou utiliserait un autre format incompatible.

Haut

## La page de l'Interface

Cette page regroupe la sélection, la configuration et le test de l'interface du programmateur.

La liste en haut à droite permet de choisir le type de programmateur utilisé. Ce choix conditionne le type de port sélectionnable. Le champ adresse permet de sélectionner une adresse différente de l'adresse par défaut. C'est généralement une erreur grave de changer cette valeur, cela pouvant aller jusqu'au plantage du PC.

Pour les interfaces de type custom il faut sélectionner le fichier qui décrit le fonctionnement du programmateur grâce au bouton Sélectionner du Fichier de définition de l'interface. Il est aussi possible de saisir directement le chemin du répertoire dans le champ texte. Le fichier de définition de l'interface contient des règles permettant de la commander.

Les autres champs en dessous permettent de modifier les durées dans les cycles d'accès au programmateur. Il ne faut généralement pas y toucher.

Les cases à cocher à gauche permettent de modifier manuellement l'état des sorties de commande du programmateur. Il indique aussi l'état de l'entrée, et si le programmateur en possède, l'état des LEDs et du bouton. Cela ne devrait être utile que pour la mise au point d'un nouveau programmateur. En effet WxPic effectue automatiquement des vérifications de bon fonctionnement du programmateur. Le résultat est affiché dans le cadre du panneau de droite. Le bouton Initialiser en haut à gauche permet de relancer cet auto-test.

ATTENTION: Pour pouvoir utiliser un adaptateur sur port parallèle, il faut installer et exécuter WxPic dans un compte administrateur. Pour les utilisateurs de VISTA, il faudra en outre enregistrer WxPic comme un programme privilégié. Pour cela cliquer avec le bouton droit sur le raccourci utilisé pour lancer WxPic et choisissez Propriété. Dans l'onglet Compatibilité cocher la case du bas.

Lors de l'utilisation du port parallèle, il arrive souvent d'obtenir l'erreur : WARNING ! Windows fooled around with the LPT port bits !

Cette erreur est causée par Windows qui accède au port parallèle sans vérifier qu'une application l'a ouvert. Cela sert probablement à détecter le branchement d'un périphérique (imprimante) plug-and-play. La méthode pour désactiver cet accès c'est de modifier la base de registre :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters] "DisableWarmPoll"=dword:00000001

Cette méthode n'est pas documentée par MS. Si bien qu'il n'est pas sûr que cela fonctionne toujours. Cependant cela a été testé avec succès avec XP SP2 et VISTA. Vous pouvez double-cliquer sur le fichier DisablePolling.reg dans le répertoire d'installation de WxPic pour effectuer la modification de la base de registre. Au cas vous avez besoin de ré-activer le polling du port, utilisez le fichier EnablePollingBack.reg Haut

## La page des Messages

Dans cette page sont affichés les messages d'erreur et de débogage. Il ne sera utile de s'y reporter que pour analyser les détails d'une erreur. Il y a cependant un exception: La programmation par lot. L'entrée doit être sur la fenêtre de messages pour presser Entrer lors de la confirmation du démarrage de la programmation du prochain composant du lot.

Le bouton Effacer permet de vider la zone des messages. C'est nécessaire de le faire lorsque le nombre de messages devient trop important.

Haut

## Le Dialogue de gestion des Sessions

Ce dialogue s'ouvre en grâce à Gérer les Sessions... dans le menu Fichier.

Il est aussi affiché au démarrage de WxPic s'il existe plus d'une session. Dans ce cas aucune session ne sera En cours.

Haut

### Définition de la notion de Session

Une session définit une configuration de WxPic. Changer de session permet de rapidement basculer d'une configuration à une autre. En outre, différentes sessions peuvent être utilisées simultanément par différentes instances de WxPic. Attention cependant, ces différentes instances ne peuvent PAS partager le même port d'interface. Donc les configurations de sessions destinées à fonctionner simultanément DOIVENT faire référence à des ports d'interface différents (comme COM1 et LPT1 ou COM1 et COM2). Notez aussi qu'il n'est pas recommandé d'utiliser simultanément plus d'instances de WxPic qu'il y a de Coeur (ou de fils d'exécution - threads - pour les processeurs utilisant cette technologie) dans le(s) processeur(s) de votre machine. En effet WxPic monopolise un fil d'exécution par instance lorsqu'il accède à l'adaptateur.

Les paramètres de configuration d'une session sont :
  - Le port d'Interface,
  - La définition de l'Adaptateur,
  - Le modèle du composant programmé,
  - Le fichier Hex par défaut,
  - Les modes de programmation.
  Ces paramètres sont sauvegardés lorsque la configuration est enregistrée c'est à dire en effectuant l'une des actions suivantes :
  - Quitter normalement WxPic (Clic sur la boîte de fermeture de la fenêtre ou menu Quitter)
  - Changer de configuration avec le choix rapide de session,
  - Demander l'enregistrement des paramètres de session,
  - Confirmer la proposition de sauvegarde affichée par l'opération Utiliser du gestionnaire de session.
  Ces paramètres sont perdus lorsque la configuration est abandonnée c'est à dire en effectuant l'une des actions suivantes :
  - Quitter WxPic sans sauver,
  - Rejeter les modifications de la configuration.
La configuration d'une session n'inclut PAS :
  - La langue de l'interface utilisateur,
  - La liste des fichiers récents,
  - Les nom des sessions,
  - La position et la taille de la fenêtre de WxPic,
  - Les couleurs utilisées dans les pages Code et Données.
  Ces paramètres sont partagés par toutes les sessions. Les 3 premiers sont sauvegardés à chaque modification. Les 2 autres sont sauvegardés lors de l'arrêt de WxPic.

Il existe 2 sessions particulières :

La Session en cours
  C'est la session utilisée par cette instance de WxPic. Sa configuration est chargée. Cependant tant que le Dialogue de gestion des sessions est ouvert, les modifications de la configuration ne sont pas visibles dans la fenêtre principale de WxPic. Cette fenêtre ne sera mise à jour que lorsqu'elle récupérera la main après la fermeture du dialogue. Il existe un seul cas où il n'y a pas de session En cours, c'est lors du démarrage de WxPic, avant que l'utilisateur choisisse une session parmi plusieurs.
La Session par défaut
  Cette session est toujours affichée en haut de la liste et est marquée de l'étiquette [Défaut]. Elle est crée automatiquement la première fois que WxPic est lancé. La configuration de cette session est alors initialisée avec les valeurs par défaut des paramètres ou, lorsqu'une version antérieure à V1.3 a été utilisée avant, avec les anciens paramètres sauvegardés par cette version. La Session par Défaut ne peut être supprimée, mais sa configuration peut être modifiée sans restriction.

Les états possibles pour les sessions sont :

Disponible
  La session a été créée mais aucune instance de WxPic ne l'utilise.
Utilisée
  La session n'est pas disponible car elle est utilisée par une autre instance de WxPic.
En cours
  C'est la session utilisée à ce moment par cette instance (celle qui affiche cet état). Une seule session est En cours par instance, c'est la Session en cours.

Dans la liste des sessions, l'état des sessions est indiqué entre parenthèses après le nom de la session. Notez que cet état est déterminé au moment où la liste est affichée ou lorsqu'une opération faite depuis le dialogue qui affiche la liste, modifie l'état des sessions. Mais cet état n'est pas mis à jour lors des modifications effectuées par une autre instance. La fonction Rafraîchir permet de forcer manuellement une mise à jour dans ce cas.

Haut

### Opérations du Gestionnaire de Sessions

Nouvelle Session
  Crée une nouvelle session qui sera ajoutée à la liste. Cette session est créée avec la même configuration que celle de la précédente session en cours, ou avec les paramètres par défaut s'il n'y avait pas de session en cours. La nouvelle session devient la session En cours.
  Au maximum, 20 sessions peuvent être créées. Si bien que le bouton Nouvelle Session est désactivé si ce nombre de sessions est atteint.
  L'opération peut échouer si une autre instance de WxPic a déjà créé les 20 sessions.
Utiliser
  Démarre l'utilisation de la session sélectionnée qui devient En cours. Charge la configuration attachée à cette session. L'ancienne session En cours est libérée et devient Disponible. Si cette dernière session avaient des paramètres modifiés non sauvegardés, une confirmation est demandée. Elle permet, soit de sauvegarder les modifications avant de basculer vers la nouvelle session, soit d'ignorer ces modifications et donc les perdre, soit d'annuler complètement le changement de session. Et si le nom de l'ancienne session a été modifié mais pas sauvegardé, un dialogue similaire est affiché. Son rôle est de permettre la sauvegarde du nouveau nom avant le basculement.
  Il n'est pas possible d'utiliser une session qui l'est déjà. Donc le bouton Utiliser sera désactivé si la session sélectionnée n'est pas Disponible.
  L'opération peut échouer si une autre instance de WxPic a supprimé ou utilisé la session sélectionnée.
Utiliser et Fermer
  Exécute successivement une opération Utiliser suivie d'une opération Fermer. Référez-vous aux définitions de ces opérations. L'opération Fermer ne sera pas effectuée si l'opération Utiliser a échoué ou a été annulée. Le double clic gauche sur une session Disponible est un raccourci pour exécuter cette opération.
Supprimer...
  Supprime la session sélectionnée. Une confirmation sera demandée car les sessions supprimées ne peuvent pas être récupérées.
  Il n'est pas autorisé de supprimer une session qui est Utilisée ou En cours. Donc le bouton Supprimer... sera désactivé si la session sélectionnée n'est pas Disponible.
  L'opération peut échouer si une autre instance de WxPic a supprimé ou commencé à utiliser la session sélectionnée.
Rafraîchir
  Met à jour le contenu de la liste des Sessions. Ceci n'est utile que si vous avez changé l'état des sessions à partir d'une autre instance de WxPic. En effet la liste est automatiquement mise à jour suite aux opérations faites dans cette instances, même lorsqu'elles ont échoué à cause d'un changement d'état venant d'une autre instance.
Aide
  Affiche cette section de l'aide
Fermer
  Ferme le dialogue. Si aucune session n'est En cours au moment de la fermeture, WxPic se termine. Sinon les opérations de WxPic continuent avec la configuration de la session En cours. Si le nom de la session a été modifié mais pas enregistré, un dialogue de confirmation sera affiché permettant soit d'enregistrer le nouveau nom avant de continuer, d'ignorer la modification du nom ou d'annuler la fermeture du dialogue.
Renommer
  Enregistre la modification du nom de la session En cours qui a été effectuée dans le champs texte au dessus du bouton. Notez que le nom d'une session est limité à 30 caractères maximum et que 2 sessions ne peuvent recevoir le même nom en ignorant la casse (Majuscule/minuscule). Les espaces en début et fin de nom sont supprimés, et les espaces multiples à l'intérieur du nom sont remplacés par un seul espace. D'autre part il est déconseillé d'utiliser des guillemets dans les noms de session. Sinon ils ne peuvent être spécifiés en ligne de commande.
  Ce bouton est désactivé si le nom de la session n'a pas été modifié.
Enregistrer
  Enregistre les modifications de la session En cours.
  Ce bouton est désactivé si la session n'a aucun paramètre modifié dans sa configuration.
Rejeter Modif
  Rejette les modifications effectuées à la configuration de la session En cours, depuis sa dernière sauvegarde ou, à défaut, depuis le début de son utilisation.
  Ce bouton est désactivé si la session En cours n'a pas de paramètre modifié.

Haut