| 21 | } |
| 22 | |
| 23 | void appendAddress(QByteArray& out, const QString& callsign, int ssid, bool last) |
| 24 | { |
| 25 | const QString base = callsign.left(6).toUpper(); |
| 26 | for (int i = 0; i < 6; ++i) { |
| 27 | const char ch = (i < base.size()) ? base.at(i).toLatin1() : ' '; |
| 28 | out.append(static_cast<char>(static_cast<quint8>(ch) << 1)); |
| 29 | } |
| 30 | quint8 ssidByte = 0x60u | static_cast<quint8>((ssid & 0x0f) << 1); |
| 31 | if (last) |
| 32 | ssidByte |= 0x01u; |
| 33 | out.append(static_cast<char>(ssidByte)); |
| 34 | } |
| 35 | |
| 36 | quint16 fcs(const QByteArray& bytes) |
| 37 | { |