Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 37

Thema: Firmware zum Download

  1. #16
    Registered User
    Registriert seit
    29.08.2011
    Beiträge
    6
    Danke für die Info
    ich bin davon ausgegangen das die 5V nur für den Controller sind und
    der Datenbus eine Strombegrenzung mit den 68Ohm wiederstände hat.
    Ich muss mir mal die USB Spezifikation besorgen.

    Auf jeden Fall werde ich den Spannungsregler nachrüsten.

    juergen

  2. #17
    Registered User Avatar von mrdo!
    Registriert seit
    17.11.2005
    Ort
    NRW
    Beiträge
    3.057
    Man kann auch die Datenleitungen mit einerZdiode auf 3V runterziehen und den Controller selbst mit 5v laufen lassen. Das klappt hier gut.
    Will ein Neutron in die Disko, sagt der Türsteher: "Sorry - heute nur für geladene Gäste!"

  3. #18
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50
    Zitat Zitat von mrdo! Beitrag anzeigen
    Man kann auch die Datenleitungen mit einerZdiode auf 3V runterziehen und den Controller selbst mit 5v laufen lassen. Das klappt hier gut.
    Die Variante mit den Zenerdioden haben wir testhalber auch probiert. Hat zwar prinzipiell funktioniert, aber der USB Datenlogger war mit der Signalintegrität nicht ganz einverstanden und spuckte nur mehr Fehlermeldungen aus. Mit dem Spannungsregler gab es bei den Tests keine Probleme. Daher lautet meine Empfehlung klar 3.3V Spannungsregler!

    LG

  4. #19
    Registered User
    Registriert seit
    24.06.2011
    Beiträge
    2

    Warum 3,3V?

    Hallo,

    bevor ich die Bauteile bestelle wollte ich noch klären, wofür der 3,3V Spannungsregler benötigt wird. Der Atmega wird doch fast ausschließlich in der Vcc=4,5-5,5V Variante angeboten. Es gibt auch eine Variante für 3,3V, diese scheint mir aber wesentlich schwerer zu finden zu sein und 5V vom USB Port sind ja bereits vorhanden.

    Grüße
    Phil

  5. #20
    Registered User
    Registriert seit
    24.06.2011
    Beiträge
    2
    Zitat Zitat von Philthy Beitrag anzeigen
    Hallo,

    bevor ich die Bauteile bestelle wollte ich noch klären, wofür der 3,3V Spannungsregler benötigt wird. Der Atmega wird doch fast ausschließlich in der Vcc=4,5-5,5V Variante angeboten. Es gibt auch eine Variante für 3,3V, diese scheint mir aber wesentlich schwerer zu finden zu sein und 5V vom USB Port sind ja bereits vorhanden.

    Grüße
    Phil

    Ok, der Singalpegel der USB Datenleitung beträgt maximal 3,6V. Dann benötige ich also die 3,3V Variante des ATMega, oder?

    Phil

  6. #21
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50
    Zitat Zitat von Philthy Beitrag anzeigen
    Ok, der Singalpegel der USB Datenleitung beträgt maximal 3,6V. Dann benötige ich also die 3,3V Variante des ATMega, oder?
    Phil
    Hallo Phil,

    der Signalpegel der USB Datenleitungen ist 3.3V und du benötigst daher den Spannungsregler.

    Es gibt IMHO keine eigene 3,3V Variante - die Operating Voltage des Atmega32A beträgt 2.7V - 5.5V.

    Die ältere Version (Atmega32) gab es in zwei Varianten - einmal mit 2.7V - 5.5V (Max 8MHz) und einmal
    mit 4.5V-5.5V (Max 16MHz). Bei normaler Umgebungstemperatur werden aber alle drei Varianten mit 3.3V
    und 12MHz problemos funktionieren. Kritischer wird es wenn die Umgebungstemperatur in Richtung -40°C oder +85°C geht.

    LG

  7. #22
    Registered User
    Registriert seit
    15.05.2012
    Beiträge
    2
    @lupo
    Zitat Zitat von lupo Beitrag anzeigen
    Neue Firmwareversion mit Support für bis zu 8 Buttons pro Joystick.
    Anhang 10764
    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.

  8. #23
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50
    Zitat Zitat von plutoonline Beitrag anzeigen
    @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

  9. #24
    Registered User
    Registriert seit
    15.05.2012
    Beiträge
    2
    @lupo
    Vielen Dank für die schnelle Antwort.

    Wenn ich die Maus nicht verwenden will, kann ich dann die Anschlüsse X7-1,X7-2,X8-1 und X8-2 auch als Buttons definieren?

    Und muss ich dann in der avr.h

    # define USE_MOUSE_DEVICE 0

    eintragen?

  10. #25
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50
    Zitat Zitat von plutoonline Beitrag anzeigen
    @lupo
    Vielen Dank für die schnelle Antwort.

    Wenn ich die Maus nicht verwenden will, kann ich dann die Anschlüsse X7-1,X7-2,X8-1 und X8-2 auch als Buttons definieren?

    Und muss ich dann in der avr.h

    # define USE_MOUSE_DEVICE 0

    eintragen?
    Ja genau...

  11. #26
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50

    Firmware Version 1.2

    Neue Firmwareversion:
    * Vorkonfiguriert für
    - 2 Joysticks 8 Button
    - 3 Joysticks 3 Button und Maus
    * Updated to vusb-20100715

    Download unter: http://vusb.wikidot.com/project:mamepanel
    (Ich kann die neue Firmware aufgrund der Größenbeschränkung im Forum leider nicht direkt hochladen)

  12. #27
    Registered User
    Registriert seit
    28.07.2004
    Beiträge
    2
    Ich bin derzeit dabei mir ein Virtual Pinball Cab zu bauen. Dafür bin ich auf der Suche nach einem Controller für die einzelnen Buttons sowie einem Nudge/Tilt-Sensor.

    Als Nudge/Tilt-Sensor möchte ich ein Modul einsetzen das Beschleunigungen misst und diese analog ausgibt.

    Daher meine Frage, ist es möglich die Firmware so zu verändern das die X und Y Achsen analog angesteuert werden können? Ich kann C und C++ programmieren, hatte bis jetzt allerdings noch nicht viel Kontakt mit Atmels.
    An welchen Stellen in er Firmware müsste ich hier ansetzen?

  13. #28
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50
    Hallo Maniac!

    Zitat Zitat von Maniac Beitrag anzeigen
    Ich bin derzeit dabei mir ein Virtual Pinball Cab zu bauen. Dafür bin ich auf der Suche nach einem Controller für die einzelnen Buttons sowie einem Nudge/Tilt-Sensor.

    Als Nudge/Tilt-Sensor möchte ich ein Modul einsetzen das Beschleunigungen misst und diese analog ausgibt.

    Daher meine Frage, ist es möglich die Firmware so zu verändern das die X und Y Achsen analog angesteuert werden können? Ich kann C und C++ programmieren, hatte bis jetzt allerdings noch nicht viel Kontakt mit Atmels.
    An welchen Stellen in er Firmware müsste ich hier ansetzen?
    Es ist sicherlich möglich, benötigt aber einiges an Zeit und Geduld.

    Du kannst den ADC des Atmels verwenden um die analogen Werte zu digitaliseren.
    Beim ATMega32 können alle Pins von Port A also Pin 33 bis Pin 40 auch als ADC Input Pins betrieben werden.

    Im Moment sind für die Achsen nur zwei Bit und ein Wertebereich von 0-2 reserviert: 0 Links, 1 Mitte, 2 Rechts
    Um die digitalisierten Werte als X und Y Achse per USB übermitteln zu können, musst du den USB Deskriptor ändern.
    Du musst zumindest die Reportsize für die Achsen von 2 Bit auf z.B. 8 Bit erhöhen und die Werte für das logische Minimum/Maximum
    entsprechend anpassen. In der Funktion ReportJoystick muss dann das Datenpaket entsprechend dem Reportdescriptor richtig zusammengebaut
    werden.

    Alles in allem sicher kein leichter Umbau aber machbar.

    Viel Erfolg damit und lG,
    Lupo

  14. #29
    Registered User
    Registriert seit
    30.07.2007
    Beiträge
    25
    Hallo Lupo,

    kurze Frage zu folgenden Abweichungen:

    1) in der 8pin version ist ein 5k6Ohm Res definiert, in der 32pin version ein 4k7Ohm.
    Kann ich in beiden Schaltungen vice-versa gehen?

    2) in der 8pin version ist kein 100nf Cap zwischen GND und AREF definiert, in der 32pin version aber schon.
    Ist das so richtig?

    Danke und lg
    Alex

  15. #30
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50
    Hallo Alex,

    Zitat Zitat von Rodent Beitrag anzeigen
    1) in der 8pin version ist ein 5k6Ohm Res definiert, in der 32pin version ein 4k7Ohm.
    Kann ich in beiden Schaltungen vice-versa gehen?
    Ob 4k7 oder 5k6 spielt in diesem Fall keine Rolle. Du kannst in beiden Schaltungen wahlweise 4k7 oder 5k6 nehmen.

    Zitat Zitat von Rodent Beitrag anzeigen
    2) in der 8pin version ist kein 100nf Cap zwischen GND und AREF definiert, in der 32pin version aber schon.
    Ist das so richtig?
    Der 100nF Kondensator dient als Pufferkondensator für die interne Referenzspannung des A/D Wandlers. Die Firmware für den Mame Arcade Panel Controller verwendet den A/D Wandler nicht. Daher wird eigentlich auch der 100nF Kondensator an AREF nicht benötigt und du kannst diesen einfach weglassen. Ich habe den Kondensator in der 32pin Version nur deshalb bestückt, damit das Board auch zweckendfremded für andere Spielereien (mit anderer Firmware) verwendet werden kann. Du kannst in beiden Schaltungen wahlweise einen 100nF Kondensator zwischen AREF und Masse schalten oder diesen auch weglassen.

    LG,
    Lupo

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •