Zitat von
plutoonline
@lupo
Was muss ich am Sourcecode ändern um für Joy1 und Joy2 6 Buttons zu aktivieren.
Ich Vermute das ich die "hid_input_mapping.c" anpassen muss. Aber wie?
Danke schon mal...
Achso ich habe die Atmega32 Version.
Hallo plutoonline!
Folgende Änderungen sind notwendig (ohne es jetzt ausprobiert zu haben):
Download Firmware Version 1.1
In der Datei avr.h von 3 Joysticks auf 2 Joysticks umstellen:
Code:
#elif defined __AVR_ATmega32__
# define NR_OF_JOYSTICKS 3
# define USE_MOUSE_DEVICE 1
ändern auf
Code:
#elif defined __AVR_ATmega32__
# define NR_OF_JOYSTICKS 2
# define USE_MOUSE_DEVICE 1
Jetzt gibt es anstatt 3 Joysticks nur mehr 2 Joysticks und die Pins vom Joystick 3 sind frei für die zusätzlichen Buttons.
In der Datei hid_input_mapping.h wird die Pinzuordnung festgelegt:
Code:
// Atmega32 Shift switch off
PROGMEM const unsigned char NormalMapping[NUMBER_OF_INPUTS] =
{ // Pin Atmega Board Function
KEY_5, // 40 PA0 X6-1 COINTRIGGER
KEY_2, // 39 PA1 X4-8 JOY2START
J2_Button3, // 38 PA2 X4-7 JOY2BUTTON3
J2_Button2, // 37 PA3 X4-6 JOY2BUTTON2
J2_Button1, // 36 PA4 X4-5 JOY2BUTTON1
J2_Right, // 35 PA5 X4-4 JOY2RIGHT
J2_Left, // 34 PA6 X4-3 JOY2LEFT
J2_Up, // 33 PA7 X4-2 JOY2UP
0, // 1 PB0 X9-2 SHIFTSWITCH
0, // 2 PB1 X7-1 MOUSEXCLOCK1
0, // 3 PB2 X7-2 MOUSEXCLOCK2
0, // 4 PB3 X8-1 MOUSEYCLOCK1
0, // 5 PB4 X8-2 MOUSEYCLOCK2
J3_Down, // 6 PB5 X5-1 JOY3DOWN
J3_Up, // 7 PB6 X5-2 JOY3UP
J3_Left, // 8 PB7 X5-3 JOY3LEFT
J1_Up, // 22 PC0 X3-2 JOY1UP
J1_Left, // 23 PC1 X3-3 JOY1LEFT
J1_Right, // 24 PC2 X3-4 JOY1RIGHT
J1_Button1, // 25 PC3 X3-5 JOY1BUTTON1
J1_Button2, // 26 PC4 X3-6 JOY1BUTTON2
J1_Button3, // 27 PC5 X3-7 JOY1BUTTON3
KEY_1, // 28 PC6 X3-8 JOY1START
J2_Down, // 29 PC7 X4-1 JOY2DOWN
J3_Right, // 15 PD1 X5-4 JOY3RIGHT
J3_Button1, // 17 PD3 X5-5 JOY3BUTTON1
J3_Button2, // 18 PD4 X5-6 JOY3BUTTON2
J3_Button3, // 19 PD5 X5-7 JOY3BUTTON3
KEY_3, // 20 PD6 X5-8 JOY3START
J1_Down // 21 PD7 X3-1 JOY1DOWN
};
ändern auf z.B.
Code:
// Atmega32 Shift switch off
PROGMEM const unsigned char NormalMapping[NUMBER_OF_INPUTS] =
{ // Pin Atmega Board Function
KEY_5, // 40 PA0 X6-1 COINTRIGGER
KEY_2, // 39 PA1 X4-8 JOY2START
J2_Button3, // 38 PA2 X4-7 JOY2BUTTON3
J2_Button2, // 37 PA3 X4-6 JOY2BUTTON2
J2_Button1, // 36 PA4 X4-5 JOY2BUTTON1
J2_Right, // 35 PA5 X4-4 JOY2RIGHT
J2_Left, // 34 PA6 X4-3 JOY2LEFT
J2_Up, // 33 PA7 X4-2 JOY2UP
0, // 1 PB0 X9-2 SHIFTSWITCH
0, // 2 PB1 X7-1 MOUSEXCLOCK1
0, // 3 PB2 X7-2 MOUSEXCLOCK2
0, // 4 PB3 X8-1 MOUSEYCLOCK1
0, // 5 PB4 X8-2 MOUSEYCLOCK2
J1_Button4, // 6 PB5 X5-1
J1_Button5, // 7 PB6 X5-2
J1_Button6, // 8 PB7 X5-3
J1_Up, // 22 PC0 X3-2 JOY1UP
J1_Left, // 23 PC1 X3-3 JOY1LEFT
J1_Right, // 24 PC2 X3-4 JOY1RIGHT
J1_Button1, // 25 PC3 X3-5 JOY1BUTTON1
J1_Button2, // 26 PC4 X3-6 JOY1BUTTON2
J1_Button3, // 27 PC5 X3-7 JOY1BUTTON3
KEY_1, // 28 PC6 X3-8 JOY1START
J2_Down, // 29 PC7 X4-1 JOY2DOWN
J2_Button4, // 15 PD1 X5-4 JOY3RIGHT
J2_Button5, // 17 PD3 X5-5 JOY3BUTTON1
J2_Button6, // 18 PD4 X5-6 JOY3BUTTON2
0, // 19 PD5 X5-7
KEY_3, // 20 PD6 X5-8 JOY3START
J1_Down // 21 PD7 X3-1 JOY1DOWN
};
Kompilieren, Programmieren, Fertig!
Die Buttons müssen natürlich entsprechend der neuen Pinzuordnung verdrahtet werden.
LG