/
pi_coder
/
ByteMachine
Обзор
Документация
Войти
/
pi_coder
/
ByteMachine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/nodes/com_port_packet_modes.h
59 строк
3 KB
pimenov-and
Перенос функциональности из старого проекта, в основном это описания узлов
19 июл 2026, 20:13
19 июл 2026, 20:13
cb3c51b
Код
Авторство
О чём код?
//////////////////////////////////////////////////////////////// // ByteMachine // Режимы разбора пакетов COM-порта //////////////////////////////////////////////////////////////// #ifndef COM_PORT_PACKET_MODES_H #define COM_PORT_PACKET_MODES_H //============================================================== #include <QString> #include <QMetaType> #include <QVector> //============================================================== // Режимы разбора пакетов COM-порта //============================================================== enum class ComPortPacketModes { Unknown = -1, Raw, TextDelimiter, FixedSize, Timeout, LenghtPrefix }; //============================================================== Q_DECLARE_METATYPE(ComPortPacketModes) //============================================================== // Прототипы функций //============================================================== // Конвертация режима разбора пакетов COM-порта в строку [[nodiscard]] QString comPortPacketModeToStr(ComPortPacketModes mode); // Конвертация режима разбора пакетов COM-порта в строку с учётом перевода [[nodiscard]] QString comPortPacketModeToStrTr(ComPortPacketModes mode); // Перевод строки в режим разбора пакетов COM-порта [[nodiscard]] ComPortPacketModes strToComPortPacket(const QString &str); // Получение признака ComPortPacketModes::Unknown constexpr inline bool isUnknown(ComPortPacketModes mode) noexcept { return mode == ComPortPacketModes::Unknown; } // Получение признака ComPortPacketModes::Raw constexpr inline bool isRaw(ComPortPacketModes mode) noexcept { return mode == ComPortPacketModes::Raw; } // Получение признака ComPortPacketModes::TextDelimiter constexpr inline bool isTextDelimiter(ComPortPacketModes mode) noexcept { return mode == ComPortPacketModes::TextDelimiter; } // Получение признака ComPortPacketModes::FixedSize constexpr inline bool isFixedSize(ComPortPacketModes mode) noexcept { return mode == ComPortPacketModes::FixedSize; } // Получение признака ComPortPacketModes::Timeout constexpr inline bool isTimeout(ComPortPacketModes mode) noexcept { return mode == ComPortPacketModes::Timeout; } // Получение признака ComPortPacketModes::LenghtPrefix constexpr inline bool isLenghtPrefix(ComPortPacketModes mode) noexcept { return mode == ComPortPacketModes::LenghtPrefix; } // Получение списка режимов разбора пакетов COM-порта QVector<ComPortPacketModes> comPortPacketModeValues(); // Проверка корректности режима разбора пакетов COM-порта bool isCorrect(ComPortPacketModes mode); //============================================================== #endif // COM_PORT_PACKET_MODES_H