Commit c84ba5c097fa5f482b1a6fc4f1a691d4b86b9efb

Authored by gperson
1 parent 70c40cb9

le joystick fonctionne, reste a faire en sorte que le bouton fonctionne correcte…

…ment car pour linstant il s'actionne quand le joystick bouge
src/lufa-LUFA-170418/PolytechLille/Manette/Descriptors.c
... ... @@ -140,6 +140,62 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
140 140 .EndpointSize = JOYSTICK_EPSIZE,
141 141 .PollingIntervalMS = 0x05
142 142 }
  143 +/* .HID_Interface1 =
  144 + {
  145 + .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
  146 +
  147 + .InterfaceNumber = INTERFACE_ID_Joystick,
  148 + .AlternateSetting = 0x00,
  149 +
  150 + .TotalEndpoints = 1,
  151 +
  152 + .Class = HID_CSCP_HIDClass,
  153 + .SubClass = HID_CSCP_NonBootSubclass,
  154 + .Protocol = HID_CSCP_NonBootProtocol,
  155 +
  156 + .InterfaceStrIndex = NO_DESCRIPTOR
  157 + },
  158 +
  159 + .HID_ReportOUTEndpoint1 =
  160 + {
  161 + .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
  162 +
  163 + .EndpointAddress = JOYSTICK_EPADDR,
  164 + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
  165 + .EndpointSize = JOYSTICK_EPSIZE,
  166 + .PollingIntervalMS = 0x05
  167 +
  168 + },
  169 +
  170 +
  171 + .HID_Interface2 =
  172 + {
  173 + .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
  174 +
  175 + .InterfaceNumber = INTERFACE_ID_Joystick,
  176 + .AlternateSetting = 0x00,
  177 +
  178 + .TotalEndpoints = 1,
  179 +
  180 + .Class = HID_CSCP_HIDClass,
  181 + .SubClass = HID_CSCP_NonBootSubclass,
  182 + .Protocol = HID_CSCP_NonBootProtocol,
  183 +
  184 + .InterfaceStrIndex = NO_DESCRIPTOR
  185 + },
  186 +
  187 + .HID_ReportOUTEndpoint2 =
  188 + {
  189 + .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
  190 +
  191 + .EndpointAddress = JOYSTICK_EPADDR,
  192 + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
  193 + .EndpointSize = JOYSTICK_EPSIZE,
  194 + .PollingIntervalMS = 0x05
  195 +
  196 + },
  197 +
  198 +*/
143 199 };
144 200  
145 201 /** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests
... ...
src/lufa-LUFA-170418/PolytechLille/Manette/Descriptors.h
... ... @@ -54,6 +54,8 @@
54 54 USB_Descriptor_Interface_t HID_Interface;
55 55 USB_HID_Descriptor_HID_t HID_JoystickHID;
56 56 USB_Descriptor_Endpoint_t HID_ReportINEndpoint;
  57 + // HID_Interface1;HID_ReportOUTEndpoint1;
  58 + // HID_Interface2;HID_ReportOUTEndpoint2;
57 59 } USB_Descriptor_Configuration_t;
58 60  
59 61 /** Enum for the device interface descriptor IDs within the device. Each interface descriptor
... ...
src/lufa-LUFA-170418/PolytechLille/Manette/Manette.c
... ... @@ -166,12 +166,14 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
166 166 USB_JoystickReport_Data_t* JoystickReport = (USB_JoystickReport_Data_t*)ReportData;
167 167  
168 168 uint8_t JoyStatus_LCL = Joystick_GetStatus();
169   - //uint8_t ButtonStatus_LCL = Buttons_GetStatus_HAUT(); // poir les boutons
  169 + uint8_t ButtonStatus_LCL = Buttons_GetStatus_HAUT(); // poir les boutons
170 170  
171 171  
172 172 JoystickReport->X = JoyStatus_LCL & 0xF0;
173 173 JoystickReport->Y = JoyStatus_LCL & 0x0F;
174   -
  174 + if (JoyStatus_LCL & BUTTONS_SEL)
  175 + { JoystickReport->Button |= ( 1<<1);}
  176 +
175 177  
176 178 // if (JoyStatus_LCL & JOY_LEFT)
177 179 // JoystickReport->X = -100;
... ...
src/lufa-LUFA-170418/PolytechLille/Manette/Manette.h
... ... @@ -60,7 +60,7 @@
60 60 int8_t X; /**< Current absolute joystick X position, as a signed 8-bit integer */
61 61 int8_t Y; /**< Current absolute joystick Y position, as a signed 8-bit integer */
62 62 int8_t Z; /**< Current absolute joystick Z position, as a signed 8-bit integer */
63   - uint8_t Button; /**< Bit mask of the currently pressed joystick buttons */
  63 +uint8_t Button; /**< Bit mask of the currently pressed joystick buttons */
64 64 } USB_JoystickReport_Data_t;
65 65  
66 66 /* Macros: */
... ...