Firmware MMJoy2

Ne, že bych neuměl napsat firmware do arduina, ale jsem líný a MMJoy2 se mi zdá velmi šikovný.

Takže, kdo máte Happyho pedály s Leonardem, můžete si vyrobit "upgrade" firmwaru, případně si vlastnosti pedálů upravit k obrazu svému.

Co s MMJoy v Happy pedálech získáte?
- "klikací" grafický prostředek pro nastavení vlastností
- spoustu možností, co se dá dělat s osami (kalibrace, změny průběhů, dokonce zvýšení rozlišení převodníků
- možnost vytvořit další osu ovládanou tlačítky
- možnost připojit enkoder
- s trochou pájení přidat další analogové vstupy (osy) - nevím, kolik jich umí windows, ale leonardo 14
- další tlačítka, přepínače, enkodeny...


MMJoy projekt:
https://sites.google.com/site/mmjoyproject/fajly-dla-skacivania/MMJOY2%20%5Bv20161101%5D.rar?attredirects=0&d=1

Leonardo pinout:
https://duino4projects.com/wp-content/uploads/2013/04/Ardunio_leonardo_pinout.jpg?x92411 - žlutá označení


Vše lze provést přes USB kabel, není potřeba žádné extra HW vybavení*.

upload firmware (Arduino Lonardo)

  • spustit MMJoySetup.exe - pokud vidíte azbuku, nahoře uprostřed je roletka, kde je možné vybrat jazyk.

  • vybrat záložku firmware

  • "Firmware file" vybrat Firmware_lufa_[MMJOY2.ATMEGA32U4].hex (ve složce Firmware)

  • "Chip" vybrat atmega32u4

  • "Port" - napsat port COMx kde x je číslo COM portu, který se objeví v seznamu win zařízení chvíli po resetu
    - ideální je nastavit tento port, zaškrtnout "autostart upload firmware..." a zresetovat Leonardo

  • po uploadu se Leonardo zresetuje a po chvíli se objeví jako nové USB zařízení v levé horní části MMJoySetupu. Pokud je to správné MMJoy zařízení a kliknete na něj, tlačítka na obrázk joysticku v levém horním rohu zmodrají.
    Pokud jsou tlačítka modrá je možné Leonardo nastavit.

    Kdo máte zařízení, které se hlásí jako "Happy Pedals MM", tak tam už MMJoy firmware máte a můžete si už jen hrát s nastavením. Nastavení je pak dobré zahájit kliknutím na "Happy Pedals MM" a nahráním nastavení ze zařízení (Load sets from device).

    nastavení VID PID a jména zařízení, polling
    v horní části MMJoySetup je vpravo část, kde se nastavují celkem důležité informace. A to VID, PID, jméno zařízení a polling interval

  • VID - "vendor ID" - číslo výrobce USB zařízení, přiděluje se mezinárodní autoritou (usb.org) a registrované VID stojí nehorázné peníze. Oficiálně asi žádné rozumné VID nezískáte. Obecně lze použít prakticky jakékoli s tím, že si
    musíte dát pozor na to, aby nebylo nějaké "známé" a win se nesnažil pro takové zařízení nainstalovat známé ovladače. 8888 nastavené v MMJoySetup-u je OK.

  • PID - "product ID" - číslo produktu, tam už je po vybrání vhodného VID celkem jedno, jaké číslo si zvolíte. Opět pozor, abyste se netrefili do nějakého zaregistrovaného zařízení.

  • jméno zařízení - text, který se bude objevovat v seznamu zařízení, které budete vybírat pro ovládání. Jméno je tuším max 126 znaků. Pokud vyrobíte kombinaci VID, PID, jméno, po připojení do win se zapíše do registrů a pokud použitjete VID, PID, jiné jméno, zařízení sice bude fungovat, ale win zobrazí náhradní název (něco jako "vstupní zařízení 3 osy 2 tlačítka").
    Jak bude takové zařízení fungovat v jiných OS nevím, nemám vyzkoušené.

  • poll - roletka s číslem. 1 - PC se bude USB zařízení dotazovat 1000 x za sekundu, jestli nemá něco nového. 2- 500x/s, 4-250x/s, 8-125x/s (i 8 bohatě stačí, ale nechte 1)

    Nastavení os

  • vybrat záložku "Joystick axes" (pro Happy Pedals se budou nastavovat první 3 osy)

  • nutné nastavení je
    - source - "IntSensor"
    - channel - číslo nožičky - Happy pedals používá F7, F6, F5 pro analogové vstupy A0, A1, A2. (viz odkaz na obrázek "pinout", žluté značky)
    - asignment - název osy, která se objeví v zařízení - Happy pedals používá Rx, Ry, Rz - Rx většinou (doufám) odpovídá kormidlu, zbylé dvě brzdám.
    - precision (bit) - 10, můžete nastavit i víc - použije se pak finta, kdy zařízení vícekrát přečte vstup a vyrobí vícebitový výstup. Ještě jsem prakticky nezoušel, ale může fungovat.
    míň asi nikdo nechce

  • to jsou všechna nutná nastavení
    Pokud chcete kalibraci/další nastavení na straně Leonarda je možné nastavit ještě kalibraci, DZ a pod. To raději podrobněji jindy

    Nastavení tlačítek

  • Happy pedals používá dvě tlačítka (protože historický deskriptor)

  • vyberte záložku "Joystick buttons"

  • v části "Matrix"
    - rows - vybrat právě jeden řádek (E7)
    - columns - D6 a B7 (nožičky 11 a 12, 13 ne, to je interní LED)

  • v pravé části (tabulka) vybrat pro Button 1 ve sloupci HW button z roletky 1, pro Button 2 z roletky 2.


    Následně stačí zmáčknout tlačítko "Save sets to device". Proběhne žížala, Leonardo se zresetuje a jakmile naběhne, je zněj zcela nové zařízení z požadovanými vlastnostmi.
    Pokud nebude vyhovovat, nebo se něco nepovedlo, stačí nastavení změnit a znovu uložit do zařízení. Pokud se nastavení mezi tím smazalo (nový start MMJoySetup), stačí napřed vybrat vaše zařízení, "Load sets from device", poměnit nastavení a opět "Save sets to device.".
    Nastavení je samozřejmě možné uložit/obnovit do/ze souboru.

    Další podrobnosti, případně obrázky a podobně vyrobím na dotaz.


     

  • Happy pedalling