SerialGate — это библиотека для серийной связи, разработанная для macOS с использованием языка программирования Swift. Она предоставляет разработчикам удобный интерфейс для взаимодействия с последовательными портами на устройствах под управлением macOS, включая поддержку асинхронной работы и событийно-ориентированную модель программирования.
Библиотека ориентирована на разработку приложений, использующих последовательную связь, таких как взаимодействие с микроконтроллерами, Arduino, робототехникой, измерительными приборами и другими устройствами, подключёнными через USB или последовательный порт. SerialGate предоставляет функциональность для открытия, настройки, отправки и приёма данных через последовательный порт с использованием современных возможностей Swift и macOS.
- Поддержка асинхронного ввода-вывода с использованием Swift Concurrency (async/await).
 - Обнаружение доступных последовательных портов с помощью потока данных.
 - Открытие и закрытие последовательных портов с настройкой параметров, таких как скорость передачи данных (baud rate).
 - Отправка текстовых и бинарных данных через последовательный порт.
 - Чтение данных с последовательного порта с обработкой ошибок и уведомлениями о состоянии порта.
 - Поддержка уведомлений о добавлении, удалении и изменении состояния последовательных портов.
 - Интеграция с Xcode через Swift Package Manager и CocoaPods.
 - Пример демонстрационного приложения для взаимодействия с Arduino и mbed.