Здесь представлен исходный код команды СПОРАДИК по космострою
Детектор: В качестве МК использовался STM32F401, обладающий 12 битным АЦП с частотой 2.4 МГц. Код для него писался в среде программирования CubeIde
Парсер: Библиотека при парсинге блокировала основной поток программы, до тех пор пока, не получала полный пакет данных от GPS. Пакет данных отсылается раз в секунду, в итоге основной цикл мог быть заблокирован больше секунды, что не позволяло достичь заявленных нами 10 Гц записи данных, поэтому мы решили написать свой парсер. Он хранит своё состояние в глобальной области памяти и реализован на конечном автомате.
Это позволило нам воспользоваться преимуществом библиотеки NeoSWSerial. При каждом полученном символе, вызывается прерывание, которое передаёт символ парсеру. Дополнительно отключив ненужные заголовки, и увеличив скорость по UART, мы получили задержку при парсинге не более в 40 мл.
Парсер находится в архиве Kraken_GPS_Parser.rar
ВАЖНО: Все библиотеку рекомендуется использовать с этого репозитория, чтобы избежать ошибок