728x90

2.4.1 LMP Response Timeout

(pairing sequence) : fixed on spec


The time between receiving a baseband packet carrying an LMP PDU and

sending a baseband packet carrying a valid response PDU, according to the

procedure rules in Section 4 on page 249, shall be less than the LMP

Response Timeout. The value of this timeout is 30 seconds.



2.4 PAGE TIMEOUT (0x04)

(acl connection)

The Page Timeout error code indicates that a page timed out because of the

Page Timeout configuration parameter. This error code may occur only with the

Remote_Name_Request and Create_Connection commands.


Range: 0x0001 to 0xFFFF

Default: 0x2000 (8192)

Mandatory Range: 0x0016 to 0xFFFF

Time = N * 0.625 msec

Time Range: 0.625 msec to 40.9 sec

Time Default: 5.12 sec


6.7 CONNECTION ACCEPT TIMEOUT

The Connection_Accept_Timeout configuration parameter allows the BR/EDR

Controller to automatically deny a connection request after a specified time

period has occurred and the new connection is not accepted. The parameter

defines the time duration from when the BR/EDR Controller sends a

Connection Request event until the BR/EDR Controller will automatically reject

an incoming connection.


Range: 0x0001 to 0xB540

Default: 0x1F40 (8000)

Mandatory Range: 0x00A0 to 0xB540

Time = N * 0.625 msec

Time Range: 0.625 msec to 29 sec

Time Default:

BR/EDR 5 sec

AMP type dependent


6.8 PAGE SCAN INTERVAL

The Page_Scan_Interval configuration parameter defines the amount of time

between consecutive page scans. This time interval is defined from when the

Controller started its last page scan until it begins the next page scan.


Range: 0x0012 to 0x1000; only even values are valid

Default: 0x0800

Mandatory Range: 0x0012 to 0x1000

Time = N * 0.625 msec

Time Range: 11.25 msec to 2560 msec

Time Default: 1.28 sec



6.9 PAGE SCAN WINDOW

The Page_Scan_Window configuration parameter defines the amount of time

for the duration of the page scan. The Page_Scan_Window can only be less

than or equal to the Page_Scan_Interval.


Range: 0x0011 to 0x1000

Default: 0x0012

Mandatory Range: 0x0011 to Page Scan Interval

Time = N * 0.625 msec

Time Range: 10.625 msec to Page Scan Interval

Time Default: 11.25 msec


2.8 CONNECTION TIMEOUT (0x08)

(check link loss)

The Connection Timeout error code indicates that the link supervision timeout

has expired for a given connection.



6.21 LINK SUPERVISION TIMEOUT

The Link_Supervision_Timeout parameter is used by the Controller to monitor

link loss.

Range: 0x0001 to 0xFFFF

Default: 0x7D00

Mandatory Range: 0x0190 to 0xFFFF

Time = N * 0.625 msec

Time Range: 0.625 msec to 40.9 sec

Time Default:

BR/EDR 20 sec

AMP 10 sec


usually set to 0x1F40 (8000) : 5 sec



6.28 LOGICAL LINK ACCEPT TIMEOUT

The Logical_Link_Accept_Timeout configuration parameter allows the AMP

Controller to automatically deny a logical link request after a specified time period

has elapsed and the new logical link has not completed.

Range: 0x0001 to 0xB540

Default: 0x1F40

Mandatory Range: 0x00A0 to 0xB540

Time = N * 0.625 msec

Time Range: 0.625 msec to 29 sec

Time Default: AMP Type dependent : 5 sec



6.36 SYNCHRONIZATION TRAIN INTERVAL (for LE)

The Sync_Train_Interval configuration parameter defines the time between

Synchronization Train transmit events on a single transmit RF channel.

Default: 0x0080

Mandatory Range: 0x0020 to 0x1000

Time = N * 0.625 msec

Time Range: 20 msec to 40.9 sec

Time Default: 80 msec


6.37 SYNCHRONIZATION TRAIN TIMEOUT (for LE)

The synchronization_trainTO configuration parameter is used by the controller

to terminate the Synchronization Train after it has been started via the

HC_Start_Synchronization_Train command.

Default: 0x0002EE00

Mandatory Range: 0x00000002 to 0x07FFFFFE

Time = N * 0.625 msec

Time Range: 1.25 msec to 23.3 hours

Time Default: 120 msec


6.2 INQUIRY SCAN INTERVAL

The Inquiry_Scan_Interval configuration parameter defines the amount of time

between consecutive inquiry scans. This is defined as the time interval from

when the BR/EDR Controller started its last inquiry scan until it begins the next

inquiry scan.

Range: 0x0012 to 0x1000; only even values are valid

Default: 0x1000

Mandatory Range: 0x0012 to 0x1000

Time = N * 0.625 msec

Time Range: 11.25 to 2560 msec

Time Default: 2.56 sec

usually try 2 times = 5.12 sec







728x90

'BlueTooth > 기본기' 카테고리의 다른 글

Bluetooth mesh networking From Wikipedia  (0) 2017.10.17
"블루투스의 혁신" 블루투스 메시 네트워크 표준 발표로 IoT 확산  (0) 2017.10.16
Mesh Profile  (0) 2017.10.16
Air packet에서 Bluetooth clock 확인  (0) 2017.09.08
baseband ack nack concept  (0) 2017.09.08
RFComm  (0) 2016.01.07
GPP(Generic PIM Profile)  (0) 2015.12.15
Paging and Inquiry  (0) 2015.11.26
AVDTP signaling/Media  (0) 2014.10.23
kitkat install 다시 시작  (9) 2014.07.19
728x90

RFCOMM


frame types

  - SABM (Set Asynchronous Balanced Mode command)

    : connect with remote server channel

  - UA (Unnumbered Acknowledgement response)

    : response for SABM/DISC

  - DM (Disconnected Mode response)

    : when RFCOMM is disconnected

  - DISC (Disconnect command)

    : disconnect with remote device

  - UIH (Unnumbered information with header check command and response)

    : send and receive data with remote device.


SCN(Server Channel Number)

Server applications registering with an RFCOMM service interface are assigned a 

Server Channel number in the range 1…30. [0 and 31 should not be used since 

the corresponding DLCIs are reserved in TS 07.10] It is this value that should be 

registered in the Service Discovery Database.

  - MAP, PBAP, HFP can obtain SCN from  SDP.

  - SCN 0 means  control channel.


Supported Control Channel Commands

 - DLC parameter negotiation (PN)


DLCI (Data Link Connection Identifier) 

  - DLCI 0 : control 

  - DLCI even : initializing connection

  - DLCI odd : non-initializing connection


DISC (Disconnect command) 

The DISC command shall be used to terminate an operational or initialization mode previously set by a command. It

shall be used to inform one station that the other station is suspending operation and that the station should assume a

logically disconnected mode. Prior to actioning the command, the receiving station shall confirm the acceptance of the

DISC command by the transmission of a UA response.


UA (Unnumbered Acknowledgement) response

The UA response shall be used by the station to acknowledge the receipt and acceptance of SABM and DISC commands.


C/R (Command/Response)

The C/R (command/response) bit identifies the frame as either a command or a response.


P/F (Poll/Final)

The poll (P) bit set to 1 shall be used by a station to solicit (poll) a response or sequence of responses from the other station.

The final (F) bit set to 1 shall be used by a station to indicate the response frame transmitted as the result of a soliciting (poll) command.


728x90

'BlueTooth > 기본기' 카테고리의 다른 글

"블루투스의 혁신" 블루투스 메시 네트워크 표준 발표로 IoT 확산  (0) 2017.10.16
Mesh Profile  (0) 2017.10.16
Air packet에서 Bluetooth clock 확인  (0) 2017.09.08
baseband ack nack concept  (0) 2017.09.08
bluetooth timeout spec  (1) 2016.01.28
GPP(Generic PIM Profile)  (0) 2015.12.15
Paging and Inquiry  (0) 2015.11.26
AVDTP signaling/Media  (0) 2014.10.23
kitkat install 다시 시작  (9) 2014.07.19
BLE 4.1  (0) 2014.06.25
728x90

GPP Generic PIM Profile

 Abbreviation or Acronym

 Meaning 

 BNF

 Backus-Naur Form 

 DTD

 XML Document Type Definition 

 FRD

 Feature Requirements Document 

 GAP

 Generic Access Profile 

 GPP

 Generic PIM Profile 

 GOEP

 Generic Object Exchange Profile 

 MAP

 Message Access Profile MRD Market Requirements Document 

 MSC

 Message Sequence Chart 

 PAS

 PIM Access Service 

 PIM

 Personal Information Management 

 PIMCE

 PIM Client Equipment 

 PIMSE

 PIM Server Equipment 

 PNS

 PIM Notification Service 

 PSM

 Protocol Service Multiplexer 

 WG

 Working Group 

 XML

 eXtensible Markup Language 

 XSD

 XML Schema Definition


In particular, GPP is based on GOEP v2.0 with OBEX over L2CAP.





• PIM Server Equipment (PIMSE) - is the device that provides the PIM object repository (i.e., has the ability to provide a client unit with PIM objects that are stored in this device and with notifications of changes in its repository). Furthermore, it provides features to upload and modify PIM entries in its repository. For example, a PIM device may be a mobile phone or a smartphone.

• PIM Client Equipment (PIMCE) - is the device that accesses the PIM objects repository engine of the PIMSE for downloading, browsing and displaying existing PIM objects, modifying such objects and also to upload objects to the PIMSE. For example, a PIMCE device may be a car head unit.


User Scenarios

The following are the main scenarios that are covered by this profile:

• The PIMCE browses in the PIM objects repository of the PIMSE: In this scenario, the PIMCE can navigate through the PIMSE’s folder structure, can get listings of PIM objects and can get PIM objects that are locally stored in thePIMSE device. A typical configuration would be that of a Bluetooth car-kit or a PC browsing the content of a mobile phone's PIMSE repository.

• The PIMCE uploads PIM objects onto the PIMSE repository: In this scenario, PIM objects are created on the PIMCE device and uploaded to the PIMSE device for storage (e.g., a new calendar entry or an email for sending).

• The PIMCE deletes PIM objects from the PIMSE repository: In this scenario, the PIMCE device deletes selected objects on the PIMSE (e.g., removal of a calendar entry or a spam mail).

• The PIMSE notifies the PIMCE: In this scenario, the PIMSE notifies the PIMCE about a change in the PIM r (e.g., removal of a calendar entry, a status change of a calendar entry, reception of a new message or modification of a phonebook entry).


Overview

GPP considers the following object types that may be transferred:

Literal objects: the actual PIM data objects stored in the repository of the PIMSE (e.g., a message, a phonebook entry, or a calendar entry).

Listing objects: listings of literal objects with a number of listing entries, each with a limited but relevant amount of information about the related literal objects. The listings may be virtual and do not necessarily have to be identical with the contents of the physical PIMSE file system.

Folder listing objects: listings with entries, describing the sub-folders of a folder. The folders structure may be virtual and does not necessarily have to be identical with the structure of the physical PIMSE file system. Event report objects: events are sent by the PIMSE to the PIMCE to report changes in the PIMSE's object repository.


Character-Set

If not defined otherwise by the specific PIM application profile the character set used for the attributes of the PIM application objects shall be UTF-8.



 Feature

 Support by the PIMCE

 Support by the PIMSE

 Connect PIM Access Service

 M*

 M**

 Disconnect PIM Access Service

 M*

 M**

 Connect PIM Notification Service

 O**

 M*

 Disconnect PIM Notification Service

 C1**

 M*


* ability to request or initiate, ** ability to respond or react 

C1: Feature is mandatory if feature 'Connect PIM Notification Service' is supported by device



Initialization Sequence for a GPP Session That Uses Only the PIM Access Service



Initialization Sequence for a GPP Session That Uses Both the PIM Access Service and the PIM Notification Service





Terminating a PIM Access or PIM Notification Service Connection



The termination of a PIM Access or a PIM Notification Service connection is done in accordance with. The PNS connection of a given GPP-based application shall be closed if :

- all registered PAS connections have been de-registered

or

- if all the application’s PAS connections have been closed


Generic PIM Profile Functions

5.2 SendEvent Function

5.3 SetNotificationRegistration Function

5.4 GetObjectListing Function

5.5 GetObject function

5.6 PushObject Function

5.7 GetInstanceInformation Function

5.8 SyncInstance Function


5.2 SendEvent Function

5.2.1 Connection ID

The connection ID header shall be used to indicate the connection ID, received during the connection establishment, in order to signal the recipient of the request which OBEX connection this request belongs to.

5.2.3.1 InstanceID

This header shall be used by the PIMSE to indicate the corresponding PIMSE-Instance (see Section 3.3.3). As only one PNS service connection per application can be established from the PIMSE device to the MCE, this parameter is required by the PIMCE to determine the PIMSE Instance that should receive this event. The PIMCE can retrieve the corresponding InstanceID from the PIMSE’s SDP record (see Section 7.1.1 ‘InstanceID’ parameter).


5.3 SetNotificationRegistration Function

5.3.3.1 NotificationStatus

The PIMCE shall indicate the request for being notified about changes in the object repository for the corresponding application profile. The header shall have either of the values:

• "Off", meaning no notification required or

• "On", meaning the notification service (PNS) session of the corresponding application shall be established


5.4 GetObjectListing Function


5.5 GetObject function

5.5.2 Name

The Name header shall be used to indicate the handle of the literal object to be retrieved. The handle shall be represented by a null-terminated Unicode text string with up to 32 hexadecimal digits (the handle is 128 bits but leading zeros may be omitted).


5.5.3 Type

The type header shall be used by the related application profile to indicate the type of object to be transmitted. Accordingly, the value has to be defined by the application profile.


5.6 PushObject Function


5.7 GetInstanceInformation Function


5.7.4 Body/EndOfBody

The Body includes a string with the requested user-readable information of the application instance. It shall be represented by a null-terminated UTF-8 text string of at most 200 characters (including the null termination character).


5.8 SyncInstance Function


Application Parameter Headers

The tag IDs used in the Application Parameters header are listed below.



728x90

'BlueTooth > 기본기' 카테고리의 다른 글

Mesh Profile  (0) 2017.10.16
Air packet에서 Bluetooth clock 확인  (0) 2017.09.08
baseband ack nack concept  (0) 2017.09.08
bluetooth timeout spec  (1) 2016.01.28
RFComm  (0) 2016.01.07
Paging and Inquiry  (0) 2015.11.26
AVDTP signaling/Media  (0) 2014.10.23
kitkat install 다시 시작  (9) 2014.07.19
BLE 4.1  (0) 2014.06.25
Security Mode  (1) 2014.06.24
728x90


Paging

Page scan (slave)

An unconnected Bluetooth device must periodically enter the page scan state; in this state, the device activates its receiver and listens for a master device that might be trying to page it. A device operates in one of three page SR (Scan Repetition) modes:

R0: the device listens continuously for a master paging it.
R1: the device listens at least every 1.28 seconds (2048 slots).
R2: the device listens at least every 2.56 seconds (4096 slots).

During the page scan state, the unconnected device listens on one of 32 channels, for at least 10ms (16 slots). A different channel is selected every 1.28 seconds (2048 slots). The channels and the hopping sequence are calculated from the device's BD_ADDR (Bluetooth Device Address).

Page (master)

When commanded to enter the page state, the master device starts to transmit, using 16 of the 32 channels being used by the paged device. During every even numbered slot it transmits two ID packets on two different channels, and during the following slot it listens on two different channels for the slave's response (also an ID packet). In the next two slots it uses the next two channels, so the hopping sequence (of 16 channels) repeats every 10ms (16 slots).

The master repeats the 16 slot sequence for at least long enough for the paged device to enter the page scan state:

R0: at least once.
R1: at least 128 times (i.e. for at least 1.28 seconds).
R2: at least 256 times (i.e. for at least 2.56 seconds).

If the master doesn't receive a response, it will then try the other 16 channels.

Page sequence

  • Slot n+0: The master transmits one ID packet in the first half slot, then a second ID packet (on a different frequency) in the second half slot.
  • Slot n+1: The slave responds with an ID packet, in either the first half or second half of the slot.
  • Slot n+2: The master transmits an FHS packet.
  • Slot n+3: The slave responds with an ID packet, in the first half of the slot.
  • Slot n+4: The master switches to the normal hopping scheme. The first packet it transmits is a POLL packet.

Inquiry

Inquiry scan (slave)

An unconnected Bluetooth device that wants to be "discovered" by a master device will periodically enter the inquiry scan state; in this state, the device activates its receiver and listens for inquiries. It must enter this state at least every 2.56 seconds (4096 slots).

During the inquiry scan state, the unconnected device listens on one of 32 channels, for at least 10ms (16 slots). A different channel is selected every 1.28 seconds (2048 slots). The channels and the hopping sequence are calculated from the general inquiry address.

Inquiry (master)

When commanded to enter the inquiry state, the master device starts to transmit, using 16 of the 32 channels used for inquiries. During every even numbered slot it transmits twoID packets on two different channels, and during the following slot it listens on those two channels for a slave's response (an FHS packet). In the next two slots it uses the next two channels, so the hopping sequence (of 16 channels) repeats every 10ms (16 slots). The 16 slot sequence must be repeated at least 256 times (i.e. for at least 2.56 seconds) before switching to the other set of 16 channels.


728x90

'BlueTooth > 기본기' 카테고리의 다른 글

Air packet에서 Bluetooth clock 확인  (0) 2017.09.08
baseband ack nack concept  (0) 2017.09.08
bluetooth timeout spec  (1) 2016.01.28
RFComm  (0) 2016.01.07
GPP(Generic PIM Profile)  (0) 2015.12.15
AVDTP signaling/Media  (0) 2014.10.23
kitkat install 다시 시작  (9) 2014.07.19
BLE 4.1  (0) 2014.06.25
Security Mode  (1) 2014.06.24
Vega series에서 HID가 connecting state에 머물러 있음  (0) 2014.03.27

+ Recent posts