Blame view

README.md 2.78 KB
25b14844   achemin1   Ajout squelette R...
1
2
  # Projet/Tutorat système
  
38c48da3   achemin1   README.md finit
3
4
5
6
7
8
  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.
  
  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).
  
  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).
  
25b14844   achemin1   Ajout squelette R...
9
10
  ## Organisation du repertoire
  
38c48da3   achemin1   README.md finit
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  Le projet est décomposé en 2 parties/dossiers:
  * 'Software' pour la gestion par l'OS avec libusb de la manettes USB
  * 'Hardware' pour le programme qui sera téléversé sur le 32U4, avec
  
  ### Software
  
  * Dossier src/ et include/ contenant les sources
  * Dossier obj/ et bin/ pour les fichiers de compilations
  * L'executable final est bin/main.exe
  * Un fichier Makefile pour la compilation
  * Un utilitaire pour convertir un nombre héxadecimale en base décimale, hexToDec.sh
  
  ### Hardware
  
  * Le driver crée pour la manette se situe dans Hardware/LUFA/Drivers/Board/AVR8/PINGUI
  * On y trouve le Driver pour les LEDS, pour le JOYSTICK et pour les BOUTONS
  
  
  * Dans le dossier Hardware/PolytechLille/Manette on trouve le fichier Manette.c, ainsi que tous les fichiers Manette.*
  * On y retouve aussi les fichiers Descriptors.c et Descriptors.h (qui contiennent les interfaces entre autres)
  * On y trouve également le Makefile qui permet de compiler Manette.c et de le lier aux drivers.
  On peut upload directement ce qui a été make sur la manette en utilisant "make " puis "make upload".
25b14844   achemin1   Ajout squelette R...
33
34
35
36
  
  
  ## Compiler
  
38c48da3   achemin1   README.md finit
37
38
39
40
41
42
43
44
45
46
47
  ### Software
  
  Il faut installer les dépendances pour la partie software : libusb avec `apt-get install libusb-1.0`
  
  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`.
  
  ### Hardware
  
  Il faut installer les dépendances pour la partie hardware : `apt-get install dfu-programmer`
  Pour compiler il faut être dans le dossier Hardware/PolytechLille/Manette, lancer la commande `make`, puis pour téléverser `make upload`
  
25b14844   achemin1   Ajout squelette R...
48
  
7e2160f8   achemin1   Ajout du mode debug
49
  
25b14844   achemin1   Ajout squelette R...
50
51
52
  
  ## Utiliser
  
38c48da3   achemin1   README.md finit
53
  On peut tester l'interface HID avec `jstest-gtk`.
25b14844   achemin1   Ajout squelette R...
54
  
38c48da3   achemin1   README.md finit
55
  Pour lancer le micro-logiciel dans le dossier Software, il faut exécuter `bin/main.exe`.
d6e16d2e   achemin1   Tout propre
56
  
38c48da3   achemin1   README.md finit
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>` .