Function

This snippet defines a static function to create a WiFi configuration packet. It handles the conversion of SSID and password strings to byte arrays and constructs the packet accordingly.
 avatar
unknown
swift
9 months ago
746 B
1
Indexable
static func createSetWifiAPPacket(pid: UInt8, ssid: String, password: String?) -> RequestPacket {
        var cdata: [UInt8] = []
        let ssidByteArray: [UInt8] = Array(ssid.utf8)
        if let password {
            let passwordByteArray: [UInt8] = Array(password.utf8)
            let firstByte: UInt8 = UInt8((1 << 6) | ssidByteArray.count)
            cdata += [firstByte]
            cdata += ssidByteArray
            cdata += [UInt8(passwordByteArray.count)]
            cdata += passwordByteArray
        } else {
            cdata += [UInt8(ssidByteArray.count)]
            cdata += ssidByteArray
        }
        let data: [UInt8] = [0x14] + cdata
        return RequestPacket(controlFlag: .commandPDU, id: pid, data: data)
    }
Editor is loading...
Leave a Comment