Commit 1bbb77562c3305416e43be9745d1bf4a03fd1f7b
1 parent
1561dad8
J'ai apporté qques modifs, malheureusement j'ai qques merdes à gérer pour le gal…
…a. Si t'as des questions sur le code je reste dispo par sms. aussi j'ai chopé ça : https://drive.google.com/open?id=1Q_jqwALRuwz_w2vwgcjw7Yd2YwWfoV9F c'est pas 100% juste mais ça peut donner des idées.
Showing
1 changed file
with
7 additions
and
13 deletions
Show diff stats
lufa-master/PolytechLille/PAD/init_USB.c
@@ -93,38 +93,32 @@ void config_periph(){ | @@ -93,38 +93,32 @@ void config_periph(){ | ||
93 | for(int num_intf=0;num_intf < config->bNumInterfaces ;num_intf++){ | 93 | for(int num_intf=0;num_intf < config->bNumInterfaces ;num_intf++){ |
94 | for(int num_ep=0;num_ep<config->interface[num_intf].altsetting[0].bNumEndpoints ;num_ep++){ | 94 | for(int num_ep=0;num_ep<config->interface[num_intf].altsetting[0].bNumEndpoints ;num_ep++){ |
95 | int eptype = config->interface[num_intf].altsetting[0].endpoint->bDescriptorType; | 95 | int eptype = config->interface[num_intf].altsetting[0].endpoint->bDescriptorType; |
96 | + | ||
97 | + // Regarde si les endpoint sont de type interruption. | ||
96 | if((eptype & 0b11)==LIBUSB_TRANSFER_TYPE_INTERRUPT){ //sauvegarde dans tab_pa du point d'accès qui est une interruption | 98 | if((eptype & 0b11)==LIBUSB_TRANSFER_TYPE_INTERRUPT){ //sauvegarde dans tab_pa du point d'accès qui est une interruption |
97 | struct EP ep1; | 99 | struct EP ep1; |
98 | 100 | ||
99 | - | ||
100 | - | ||
101 | - /* | ||
102 | - //LAISSER TOMBER INPUT OUTPUT | 101 | + //met les endpoint dans un tableau en indiquant arbitrairement si on le veut en sortie ou non (voir les struct du début) |
103 | ep1.ep=config->interface[num_intf].altsetting[0].endpoint.bEndpointAddress; | 102 | ep1.ep=config->interface[num_intf].altsetting[0].endpoint.bEndpointAddress; |
104 | if (num_intf==0){ | 103 | if (num_intf==0){ |
105 | - if (eptype & 0b10000000 == LIBUSB_ENDPOINT_OUT){ | ||
106 | tab_pa.tableau[num_intf].ep=ep1.ep; | 104 | tab_pa.tableau[num_intf].ep=ep1.ep; |
107 | tab_pa.tableau[num_intf].io=1; | 105 | tab_pa.tableau[num_intf].io=1; |
108 | tab_pa.dernier++; | 106 | tab_pa.dernier++; |
109 | - break; | ||
110 | - } //sortie => io=1 | ||
111 | } | 107 | } |
112 | else{ | 108 | else{ |
113 | - if (eptype & 0b10000000 == LIBUSB_ENDPOINT_IN) { | 109 | + |
114 | tab_pa.tableau[num_intf].ep=ep1.ep; | 110 | tab_pa.tableau[num_intf].ep=ep1.ep; |
115 | tab_pa.tableau[num_intf].io=0; | 111 | tab_pa.tableau[num_intf].io=0; |
116 | tab_pa.dernier++; | 112 | tab_pa.dernier++; |
117 | if (num_ep >2)break;//entrée => io=0 | 113 | if (num_ep >2)break;//entrée => io=0 |
118 | - } | ||
119 | - } | ||
120 | - */ | 114 | + } // Le if et else ci-dessus doivent pouvoir être simplifiés. |
121 | } | 115 | } |
122 | } | 116 | } |
123 | if (num_intf == 3) break; | 117 | if (num_intf == 3) break; |
124 | } | 118 | } |
125 | 119 | ||
126 | 120 | ||
127 | - | 121 | + |
128 | 122 | ||
129 | //release des interfaces | 123 | //release des interfaces |
130 | for(int num_intf=0;num_intf < config->bNumInterfaces ;num_intf++){ | 124 | for(int num_intf=0;num_intf < config->bNumInterfaces ;num_intf++){ |
@@ -161,4 +155,4 @@ int main(){ | @@ -161,4 +155,4 @@ int main(){ | ||
161 | 155 | ||
162 | libusb_exit(context); //fermeture de la bibliothèque | 156 | libusb_exit(context); //fermeture de la bibliothèque |
163 | return 0; | 157 | return 0; |
164 | -} | 158 | -} |
159 | +} | ||
165 | \ No newline at end of file | 160 | \ No newline at end of file |