На Reddit прошла Ask me anything–сессия разработчиков ПО из SpaceX – https://www.reddit.com/r/spacex/comments/gxb7j1/we_are_the_spacex_software_team_ask_us_anything/
— Кодеры SpaceX подтвердили, что на мониторах в драконе крутится GUI на Chromium и Javacript. сначала они этот вариант сделали для презентации НАСА, а потом им самим понравилось
Crew Dragon
— Пока игр на Crew Dragon нет, но в будущем их скорее всего добавят
— Симулятор стыковки не имеет ничего общего с реальным софтом, его начали только как шуточный проект https://iss-sim.spacex.com/
— В “Драконах” не используются детали Tesla (дисплеи совершенно другие)
— Про алгоритмы посадки рассказывать не могут — секрет 🙂
— Управление Драконом создано исходя из принципа минимального взаимодействия с пилотом
SpaceX Starship:
— Наземное ПО для Старшипа основано на вебстеке и GUI Дракона, оно же будет использовано и в интерфейсах самого Старшипа.
“Старлинки” (это спутники для интернета SpaceX)
— Генерируют в районе 5 терабайт телеметрии сутки, миссия Dragon — сотни гигабайт
— Софт Starlink сейчас обновляют примерно раз в неделю. Получается, что ПО на выведенных спутниках новее, чем на тех, что находятся в процессе запуска
— Спутники Starlink это скорее датацентр с серверами, чем космический аппарат
— Каждый запуск 60–ти Starlink’ов — это вывод более 4000 компьютеров с линуксом. На данный момент в группировке на орбите более 30К компьютеров и 6К контроллеров
— Спутники Старлинк настроены переходить в режим высокого аэродинамического сопротивления при долгом отсутствии связи с землей для быстрого схода с орбиты.
Общее
— Много программистов пришли в SpaceX из геймдева, из–за похожей математики и умения решать проблемы с производительностью
Используемые языки программирования:
— основной С/С++, сторонние библиотеки используют по минимуму, предпочитая писать собственные для контроля качества кода, применяют в основном ООП, хотя любят также упрощать код;
вебстек для дисплеев — HTML / CSS / JS + веб–компоненты + собственный фреймворк;
— python для тестирования и автоматизации
— на бортовых компьютерах RTLinux (linux ядро с патчем PREEMPT_RT, превращающим ее в ОС реального времени), на контроллерах голый код;
— GUI в ЦУПе основаны на LabVIEW
— Качество кода обеспечивается модульными тестами и интеграционными тестами в том числе и на летных образцах
— В SpaceX есть мощный инструмент для сопоставления программы полета с симулятором. Можно полностью смоделировать миссию или любые сценарии сбоя даже на оборудовании, разложенном на столе.
— Возможно скоро поделятся скриншотами с дисплеев Дракона
— Система безопасности полета работает не на бортовом компьютере, а исключительно на контроллерах и сама взаимодействует с датчиками. Эта система отвечает за прекращение полета, к примеру когда ракета сходит с курса.
Там еще дофига
https://www.reddit.com/r/spacex/comments/gxb7j1/we_are_the_spacex_software_team_ask_us_anything/
