Commit 93cb7e9780979196f7b563006494784c7c4d1655

Authored by gperson
1 parent a072f3c2

Les quatre boutons gauche, haut, droite et gauche fonctionnent, moyennant la des…

…activation d'un registre dans le setup_hardware
src/lufa-LUFA-170418/LUFA/Drivers/Board/AVR8/PINGUI/Buttons.h
... ... @@ -124,7 +124,7 @@
124 124 static inline void Buttons_Init_BAS(void)
125 125 {
126 126 DDRF &= ~BUTTONS_BAS;
127   - PORTF |= BUTTONS_BAS;
  127 + //PORTF |= BUTTONS_BAS;
128 128 }
129 129  
130 130 static inline void Buttons_Disable_BAS(void)
... ... @@ -138,7 +138,7 @@
138 138 static inline void Buttons_Init_DROITE(void)
139 139 {
140 140 DDRF &= ~BUTTONS_DROITE;
141   - PORTF |= BUTTONS_DROITE;
  141 + //PORTF |= BUTTONS_DROITE;
142 142 }
143 143  
144 144 static inline void Buttons_Disable_DROITE(void)
... ... @@ -152,7 +152,7 @@
152 152 static inline void Buttons_Init_GAUCHE(void)
153 153 {
154 154 DDRF &= ~BUTTONS_GAUCHE;
155   - PORTF |= BUTTONS_GAUCHE;
  155 + // PORTF |= BUTTONS_GAUCHE;
156 156 }
157 157  
158 158 static inline void Buttons_Disable_GAUCHE(void)
... ... @@ -198,7 +198,7 @@
198 198 static inline uint8_t Buttons_GetStatus_BAS(void) ATTR_WARN_UNUSED_RESULT;
199 199 static inline uint8_t Buttons_GetStatus_BAS(void)
200 200 {
201   - return ((PINF & BUTTONS_BAS) ^ BUTTONS_BAS);
  201 + return (PINF & BUTTONS_BAS) ;
202 202 }
203 203  
204 204 //DROITE
... ... @@ -206,7 +206,7 @@
206 206 static inline uint8_t Buttons_GetStatus_DROITE(void) ATTR_WARN_UNUSED_RESULT;
207 207 static inline uint8_t Buttons_GetStatus_DROITE(void)
208 208 {
209   - return ((PINF & BUTTONS_DROITE) ^ BUTTONS_DROITE);
  209 + return (PINF & BUTTONS_DROITE) ;
210 210 }
211 211  
212 212 //GAUCHE
... ... @@ -214,8 +214,9 @@
214 214 static inline uint8_t Buttons_GetStatus_GAUCHE(void) ATTR_WARN_UNUSED_RESULT;
215 215 static inline uint8_t Buttons_GetStatus_GAUCHE(void)
216 216 {
217   - return ((PINF & BUTTONS_GAUCHE) ^ BUTTONS_GAUCHE);
  217 + return (PINF & BUTTONS_GAUCHE);
218 218 }
  219 +//Seul le bouton haut est fonctionnel, il faut changer les init et les return de chaque bouton (sauf le bouton du joystick) de la meme maniere
219 220  
220 221 //HAUT
221 222  
... ...
src/lufa-LUFA-170418/PolytechLille/Manette/Descriptors.c
... ... @@ -149,9 +149,9 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
149 149  
150 150 .TotalEndpoints = 1,
151 151  
152   - .Class = HID_CSCP_HIDClass,
153   - .SubClass = HID_CSCP_NonBootSubclass,
154   - .Protocol = HID_CSCP_NonBootProtocol,
  152 + .Class = USB_CSCP_VendorSpecificClass,
  153 + .SubClass = 0,
  154 + .Protocol = 0,
155 155  
156 156 .InterfaceStrIndex = NO_DESCRIPTOR
157 157 },
... ... @@ -177,9 +177,9 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
177 177  
178 178 .TotalEndpoints = 1,
179 179  
180   - .Class = HID_CSCP_HIDClass,
181   - .SubClass = HID_CSCP_NonBootSubclass,
182   - .Protocol = HID_CSCP_NonBootProtocol,
  180 + .Class = USB_CSCP_VendorSpecificClass,
  181 + .SubClass = 0,
  182 + .Protocol = 0,
183 183  
184 184 .InterfaceStrIndex = NO_DESCRIPTOR
185 185 },
... ...
src/lufa-LUFA-170418/PolytechLille/Manette/Manette.c
... ... @@ -115,6 +115,8 @@ void SetupHardware(void)
115 115 Buttons_Init_GAUCHE();
116 116 Buttons_Init_STOP();
117 117 Buttons_Init_SEL();
  118 + MCUCR|=(1<<JTD);
  119 + MCUCR|=(1<<JTD);
118 120 }
119 121  
120 122 /** Event handler for the library USB Connection event. */
... ... @@ -172,13 +174,22 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
172 174 USB_JoystickReport_Data_t* JoystickReport = (USB_JoystickReport_Data_t*)ReportData;
173 175  
174 176 uint8_t JoyStatus_LCL = Joystick_GetStatus();
175   - uint8_t ButtonStatus_LCL = Buttons_GetStatus_HAUT(); // poir les boutons
  177 + uint8_t ButtonStatus_LCL_HAUT = Buttons_GetStatus_HAUT(); // poir bouton_haut
  178 + uint8_t ButtonStatus_LCL_GAUCHE = Buttons_GetStatus_GAUCHE(); //pour bouton_gauche
176 179  
  180 + uint8_t ButtonStatus_LCL_BAS = Buttons_GetStatus_BAS();
  181 + uint8_t ButtonStatus_LCL_DROITE = Buttons_GetStatus_DROITE();
177 182  
178 183 JoystickReport->X = JoyStatus_LCL >> 4;
179 184 JoystickReport->Y = JoyStatus_LCL & 0x0F;
180   - if (ButtonStatus_LCL & BUTTONS_HAUT)
  185 + if (ButtonStatus_LCL_HAUT & BUTTONS_HAUT)
181 186 { JoystickReport->Button |= ( 1<<0);}
  187 + if (ButtonStatus_LCL_GAUCHE & BUTTONS_GAUCHE)
  188 + { JoystickReport->Button |= ( 1<<1);}
  189 + if (ButtonStatus_LCL_BAS & BUTTONS_BAS)
  190 + { JoystickReport->Button |= ( 1<<2);}
  191 + if (ButtonStatus_LCL_DROITE & BUTTONS_DROITE)
  192 + { JoystickReport->Button |= ( 1<<3);}
182 193  
183 194  
184 195 // if (JoyStatus_LCL & JOY_LEFT)
... ...