Types
CharacteristicDescriptor = object handle*: uint16 uuid*: Uuid
CharacteristicsOfService = object chHandle*: uint16 properties*: uint8 attrHandle*: uint16 uuid*: Uuid
CharProperties = enum pRead = (2, "Read"), pWriteWoResp = (4, "Write Without Response"), pWrite = (8, "Write"), pNotify = (16, "Notify"), pIndicate = (32, "Indicate")
ConnParams = object scanInterval*: uint16 scanWindow*: uint16 conIntervalMin*: uint16 conIntervalMax*: uint16 conLatency*: uint16 supervisionTimeout*: uint16 minCeLength*: uint16 maxCeLength*: uint16
GattAllCharacteristicDescriptors = object common*: GattEventCommon characteristics*: seq[CharacteristicDescriptor]
GattAllPrimaryServices = object common*: GattEventCommon services*: seq[PrimaryServices]
GattCharacteristicsOfService = object common*: GattEventCommon characteristics*: seq[CharacteristicsOfService]
GattConEvent = object common*: GattEventCommon attMtu*: uint16 peer*: PeerAddr controlRole*: Role
GattDisconEvent = object common*: GattEventCommon
GattEventCommon = object gattResult*: int16 gattId*: uint16
GattExchangeMtuEvent = object common*: GattEventCommon serverMtu*: uint16
GattHandleValue = object common*: GattEventCommon peer*: PeerAddr handle*: uint16 values*: string
GattReadCharacteristicDescriptorsEvent = object common*: GattEventCommon descs*: seq[uint8]
GattReadCharacteristicValueEvent = object common*: GattEventCommon value*: seq[uint8]
GattReadUsingCharacteristicUuidEvent = object common*: GattEventCommon values*: seq[HandleValue]
HandleValue = object handle*: uint16 value*: seq[uint8]
PhyKind = enum Phy1M = 1, Phy2M = 2, PhyCoded = 4
PrimaryServices = object startHandle*: uint16 endHandle*: uint16 uuid*: Uuid
Procs
proc `$`(x: CharacteristicDescriptor): string {....raises: [], tags: [], forbids: [].}
proc `$`(x: CharacteristicsOfService): string {....raises: [], tags: [], forbids: [].}
proc `$`(x: PrimaryServices): string {....raises: [], tags: [], forbids: [].}
proc gattDefaultConnParams(): ConnParams {....raises: [], tags: [], forbids: [].}