gobot.io/x/gobot/v2@v2.1.0/platforms/ble/uuid.go (about) 1 package ble 2 3 import ( 4 "fmt" 5 "strconv" 6 7 "tinygo.org/x/bluetooth" 8 ) 9 10 func convertUUID(cUUID string) string { 11 switch len(cUUID) { 12 case 4: 13 // convert to full uuid from "22bb" 14 uid, e := strconv.ParseUint("0x"+cUUID, 0, 16) 15 if e != nil { 16 return "" 17 } 18 19 uuid := bluetooth.New16BitUUID(uint16(uid)) 20 return uuid.String() 21 22 case 32: 23 // convert "22bb746f2bbd75542d6f726568705327" 24 // to "22bb746f-2bbd-7554-2d6f-726568705327" 25 return fmt.Sprintf("%s-%s-%s-%s-%s", cUUID[:8], cUUID[8:12], cUUID[12:16], cUUID[16:20], 26 cUUID[20:32]) 27 } 28 29 return cUUID 30 }