damos ... wiedziałem że poprzeczka powędruje bardzo wysoko ... straszna szkoda że nie zgrały się nasze procki, bo byśmy wymodzili coś odlotowego - czuję.
Zanim wyskrobię coś dalej muszę lojalnie uprzedzić: co prawda z zawodu jestem elektronikiem ale do zeszłego roku miałem bardzo długą przerwę w gmeraniu w tych sprawach. Jeśli chodzi o programowanie to całkowicie samouk.

Więc pewno na twoim poziomie to nie pogadamy ale wymiana rozwiązań i informacji na pewno się przyda.
Powiedz mi, dlaczego on ma jedynie 12 MIPS ? Jest to średnia, czy większość instrukcji zajmuje kilka cykli zegarowych?
Nie umiem dokładnie odpowiedzieć na to pytanie, ale z tego co się zorientowałem MIPS MIPSOWI nie równy i jak mi ktoś już to tłumaczył nie za bardzo da się porównywać procki tylko patrząc na ten parametr. jedno jest pewne jest to o wiele szybszy procek niż to co używa OC.
Wybór padł na ten procek głównie ze względu na duże możliwości we/wy, prostote w programowaniu, sprzętowe USB, sprzętowe SPI, sprzętowe I2C, 10 bitowe przetworniki A/D, gotowy USB stack od Microchipa wraz z driverami (nie HID) co daje o wiele szybszą transmisję przez USB.
Jak zrealizowałeś obsługę tylu wejść i enkoderów? Czy tak wysoki zegar pozwala zwykły polling i key matrix ? W przypadku enkoderów przy szybkim kręceniu przesunięcie fazowe spada do kilkuset us (przy 500us i 512 wejściach masz ok. 48 cykli zegarowych na obsługę jednego, co przy średniej wydajności daje ok. 12 instrukcji uP bez uwzględnienia czasu na komunikację).
Załączam schemat urządzenia, żeby było wiadomo o czym mówię - werja uproszczona do testów.

Widoczne są 3 bloki: wejścia, wyjścia oraz wyświetlacze 7-segmentowe.
Port B docelowo będzie sterował 4 grupami expanderów skonfigurowanych jako wejśćia oraz 4 grupami expanderów skonfigurowanych jako wyjścia.
Wszystko działa na szynie SPI, czyli wszystkie bloki są podłączone do SPI ale każdy blok ma oddzielną linię CS, dzięki czemu w jednej chwili można sterować konkretnym blokiem. Expandery MCP23S17 są o wiele lepszym rozwiązaniem od zwykłego rejestru SIPO ze względu na sprzętowe adresowanie oraz możliwość konfiguracji pinów jako wejśćia lub wyjścia, wewnętrzy PULL-UP oraz bardzo fajna rzecz: dwa piny sterowane z INTERRUPT ON CHANGE REGISTER. Każdy MCP w grupie ma osobny adres, co daje możliwość czytania i zapisywanie do konkretnego układu.
Enkodery są niczym innym jak tylko urządzeniami wykorzystującymi trzy piny wejściowe. Ponieważ adresowanie pozwala na dostęp do konkretnego expandera, jeśli podłączymy enkoder do pierwszego chipa można czytać z niego informacje z inną częstotliwością niż z innych wejść, co ma wpływ na wydajność urządzenia. Jeśli dobrze się doczytałem w założeniach Twojego projektu tutaj właśnie jest największa różnica. Zresztą co by tu nie kombinować pewno potrzebny będzie kompromis (w OC jest ograniczenie szybkościpracy encoderów) ale zobaczymy.
Ta sama zasada dotyczy wyświetlaczy 4 grupy po 4 MAX-y (na rysunku są trzy bo taka akurat była potrzeba

) sterowane z wyjść portu B.
Rzuciłem okien na simconnect - to interface Microsoftu? Mógłbys w kilku słowach opisać ideę jego działania (zależności między modułami, interakcja ze sprzętem i symulatorem) ?
Otóż jest to interfejs dla developerów piszących aplikacje umożliwający odczytywanie i zapisywanie danych z FSX. Dzięki niemu mamy dostęp do wszystkiego co dzieje się w FSX. Bardzo fajną opcją jest możliwość pobierania danych z FSX tylko kiedy jakaś zmiana się pojawi, np. zamiast nonstop wysyłać KURS informacja wysyłana jest tylko wtedy gdy kurs zostanie zmieniony itp. FSUIPC wykorzystuje intensywnie simconnect do przetwarzania danych.
Czy są inne symulatory zgodne z tym interface'm ?
Niestety simconnect jest napisany specjalnie dla FSX.
Czy aby posiadać SDK nie trzeba kupić bardziej "wypasionej" (droższej) wersji FSX'a ?
SDK było dostępne od pierwszej wersji FSX, ale potem były serwis-packi. Wszytko jest dostępne na oryginalnej płycie FSX-a z bibliotekami oraz gotowymi przykładami.
Może na tyle na razie bo się post - kobyła zrobił.
Chętnie powymianiam dalej wszelkie informacje. Damos - nie powstrzymuj się przed krytyką jeśli widzisz jakiś problem itp.
Pozdrawiam