Commit 38c48da370ff2d73e5f4605907a75edb3e067fe7

Authored by achemin1
1 parent d029a016

README.md finit

Showing 1 changed file with 42 additions and 6 deletions   Show diff stats
1 # Projet/Tutorat système 1 # Projet/Tutorat système
2 2
  3 +Le but de ce tutorat est d'apprendre à utiliser et configurer une Atmega32U4 pour l'interfacer avec l'USB. Pour terminer nous devions montrer un jeu vidéo qui fonctionne avec notre manette, en utilisant en plus du joystick et des bouttons (HID), des leds et deux vibreurs.
  4 +
  5 +Nous avons réussi à faire communiquer un micro-logiciel en C avec la manette pour contrôler les 4 leds implémentées, et à utiliser l'interface HID de la manette comprenant le Joystick et les boutons (S2, S3, S4 et S5).
  6 +
  7 +Pour ce qui est des vibreurs, sur le micro-controlleur l'interface est configuré, mais le code n'est pas implémenté par manque de temps, mais ils se controllent comme les leds (sur PORTD).
  8 +
3 ## Organisation du repertoire 9 ## Organisation du repertoire
4 10
5 -Dossier src/ contenant les sources 11 +Le projet est décomposé en 2 parties/dossiers:
  12 +* 'Software' pour la gestion par l'OS avec libusb de la manettes USB
  13 +* 'Hardware' pour le programme qui sera téléversé sur le 32U4, avec
  14 +
  15 +### Software
  16 +
  17 +* Dossier src/ et include/ contenant les sources
  18 +* Dossier obj/ et bin/ pour les fichiers de compilations
  19 +* L'executable final est bin/main.exe
  20 +* Un fichier Makefile pour la compilation
  21 +* Un utilitaire pour convertir un nombre héxadecimale en base décimale, hexToDec.sh
  22 +
  23 +### Hardware
  24 +
  25 +* Le driver crée pour la manette se situe dans Hardware/LUFA/Drivers/Board/AVR8/PINGUI
  26 +* On y trouve le Driver pour les LEDS, pour le JOYSTICK et pour les BOUTONS
  27 +
  28 +
  29 +* Dans le dossier Hardware/PolytechLille/Manette on trouve le fichier Manette.c, ainsi que tous les fichiers Manette.*
  30 +* On y retouve aussi les fichiers Descriptors.c et Descriptors.h (qui contiennent les interfaces entre autres)
  31 +* On y trouve également le Makefile qui permet de compiler Manette.c et de le lier aux drivers.
  32 +On peut upload directement ce qui a été make sur la manette en utilisant "make " puis "make upload".
6 33
7 34
8 ## Compiler 35 ## Compiler
9 36
10 -Il faut installer les dépendances : libusb avec `apt-get install libusb-1.0`  
11 -Pour compiler il faut lancer la commande `make` 37 +### Software
  38 +
  39 +Il faut installer les dépendances pour la partie software : libusb avec `apt-get install libusb-1.0`
  40 +
  41 +Dans le dossier Software/ il faut lancer la commande `make`. Pour avoir un niveau haut de verbosité (libusb en très verbeux), on peut lancer la commande `make DEBUG=1`.
  42 +
  43 +### Hardware
  44 +
  45 +Il faut installer les dépendances pour la partie hardware : `apt-get install dfu-programmer`
  46 +Pour compiler il faut être dans le dossier Hardware/PolytechLille/Manette, lancer la commande `make`, puis pour téléverser `make upload`
  47 +
12 48
13 -Pour avoir un niveau haut de verbosité, on peut lancer la commande `make DEBUG=1`  
14 49
15 50
16 ## Utiliser 51 ## Utiliser
17 52
18 -Pour lancer le programme principale, il faut exécuter bin/main.exe 53 +On peut tester l'interface HID avec `jstest-gtk`.
19 54
20 -Les demo des questions se lancent avec `make demostep` (pour l'instant) 55 +Pour lancer le micro-logiciel dans le dossier Software, il faut exécuter `bin/main.exe`.
21 56
  57 +Par défaut le logiciel cherche dans l'énumération des périphériques USB la manette avec le *vendor-id* et le *product-id* correspondant à la manette. On peut aussi lancer `bin/main.exe demo4.1`, `bin/main.exe demo4.1plus` qui requiert plus de droits, et `bin/main.exe demo4.2 <VID> <PID>` .