Projekt joysticka ma być również dość uniwersalny. Nie widzię problemu w zastosowaniu go jako zamiennika elektroniki dla Cougara. Zewnętrzny moduł będzie na tyle mały, że da się go zastosować zamiast oryginalnej płytki na CD4021. Ilość kabli do podłączenia będzie ta sama.
Sprawy typu obsługa oryginalnej płytki z rejestrami, czy mapowanie przycisków, o którym wspomniał shopiK zostawiam na później. Jeszcze nie jestem na tym etapie. Zresztą są to sprawy czysto programowe, które można rozwiązać później. Dużą zaletą procesorów serii PSoC, jest to, że są bardzo uniwersalne. Zamiast stałych klocków w przypisanymi na stałe funkcjami, jak interfejsy itd. mają taką kulkę cyfrowej plasteliny, z której ulepić można dowolne peryferia. Piny również można dowolnie podłączać i rekonfigurować z poziomu programu. Na bazie jednej płytki można będzie budować wiele wariantów pod bardziej konkretne zastosowania. Chociaż uważam, że wersja podstawowa załatwi większość z nich.
Moduł zewnętrzny:
w zasadzie już zdecydowałem, że nie bedzie to tylko dodatkowa płytka z rejestrami, czy MCP23017, a funkcję przejmie drugi procesor. Niższej klasy niż ten w płytce bazie, ale również dość swobodnie rekonfigurowalny. Stąd też, nie widzę żadnego problemu z dodaniem np dwóch osi analogowych. Nie będzie może przedwzmacniaczy (się zobaczy jeszcze, wielkość płytki jest decydującym ograniczeniem) i 16 bitów, tylko 11, ale do jakichś pobocznych zadań wystarczy.
Zastanawiam się teraz, czy nie lepiej będzie użyć jednak dwóch "podjoystików", jeden jako baza, drugi jako moduł zewnętrzny. Tym sposobem mogę zwiększyć ilość przycisków w module do np. 32. Załatwi to problem z podmianą oryginalnej elektroniki na CD4021 (22 wejścia, jeśli dobrze pamiętam). Problem mapowania numerów przycisków chyba również sam się rozwiąże, bo obie części będą widziane w systemie jako dwa urządzenia.
Oczywiście przepustnica musiałaby być osobnym urządzniem ze swoją własną płytką bazą. Takie rozwiązanie otwiera dalsze możliwośći robudowy, bo omija ograniczenia DirectX odnosnie ilości przycisków i osi.