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