Projekt APL3 rozwija się, zasoby sprzętu są po kolei uruchamiane. Na obecnym etapie jest uruchomiona obsługa wyświetlacza  panelem dotykowym - zupełnie nieistotna z punktu widzenia autopilota, ale bardzo pomocna do pracy nad urządzeniem. Tutaj wykorzystałem obsługę wyświetlacza, oraz jego menu graficzne, które wypracowałem w niepublikowany projekcie testera modelarskiego. Ostatnio przeniosłem z APL2 obsługę GNSS dla odbiorników z chipsetem MTK i u-Blox. Rozbudowałem kilka rzeczy i obecnie urządzenie wykrywa brak odbiornika i inicjuje oba typy odbiorników bez względu na ich aktualny stan, czy ustawioną prędkość transmisji, tak więc można odbiornik podmienić w trakcie pracy i działa nadal. Nie działa mi jeszcze ustawianie częstotliwości generowania komunikatów na nowym odbiorniku SAM M10Q.

Przy tej okazji dołożyłem obsługę magnetometru wbudowanego w module odbiornika GNSS. Na zdjęciu jest historyczny już moduł odrzucony ze sprzedaży (źle prezentuje datę), ale mający wbudowany czujnik HMX5883L. Jest odczytywany po I2C przez DMA, bez jałowego czekania na wynik pomiaru. Jego wartości są prezentowane na ekranie jako Magn3. Dane z pozostałych czujników, które będą wbudowane w moduł IMU są na razie generowane sztucznie po to, aby testować mechanizm przekazywania danych z rdzenia wykonującego pomiary (Cortex M4) do rdzenia obsługującego komunikację i interfejs użytkownika (Cortex M7)

Po Świętach planuję zamówić płytki do modułu inercyjnego, zmontować go i zacząć prace nad obróbką danych pomiarowych jednostki inercyjnej (IMU). W międzyczasie będą uruchamiane kolejne kolejne fragmenty funkcjonalności płyty głównej. Na razie działają UART komunikacyjny w CM7 i odbiornika GNSS w CM4, SPI wyświetlacza i ekranu dotykowego w CM7, SPI modułów, rozszerzeń I/O i pamięci FRAM w CM4,  I2C w CM4, sterowanie serwami w CM4, obsługa pamięci Flash na QSPI w CM4, obsługa pamięci Flash i zewnętrzny SRAM w CM7. Gotowa do uruchamiania jest obsługa karty pamięci SD. Były próby uruchomienia komunikacji po Ethernet, ale na razie nieudane chociaż na płytce Nucleo to działało.

Na wlutowanie układów czekają jeszcze pamięć DRAM, sterowniki CAN i RS485, wzmacniacz audio, mikrofon i kamera. Do zbudowania są też moduły pomiarowe IMU.

Mam też zrobione narzędzia do pomiaru transferów z poszczególnych pamięci. To są mało spektakularne sprawy, ale z punktu widzenia oceny prototypu ważne jest aby podjąć właściwą decyzję czy pamięć Flash wystarczy dać na QSPI, czy warto umieścić ją na zajmującej dużo więcej miejsca ale wielokrotnie szybszej magistrali równoległej. Tutaj do kompletu brakowało mi pamięci DRAM, którą przez pomyłkę kupiłem jako 32x16Mb zamiast 16x32Mb.Teraz jest już kupiona właściwa, trzeba ją tylko wlutować i uruchomić, co nie jest banalne. Zewnętrzne pamięci SRAM i DRAM są potrzebne do przechowywania i obróbki obrazu z kamery, ponieważ w pamięci procesora nie zmieszczę całego obrazu. Pamięć SRAM jest droga (max 4MB za ok. 100zł netto) ale szybka, DRAM jest duża i w miarę tania (64MB za ok. 60zł netto) ale wolniejsza. Dopóki nie zostaną zrobione pomiary i próby wykorzystania na żywym obrazie, trudno będzie wybrać tą właściwą.