378 Commits

Author SHA1 Message Date
Matthias Ringwald
db55d2e9b3 l2cap-ertm: disconnect l2cap after monitor timeout and rety count has reached max transmit 2017-07-25 15:15:02 +02:00
Matthias Ringwald
20fa474d9d l2cap-ertm: send RR with Poll after monitor timeout 2017-07-25 15:15:02 +02:00
Matthias Ringwald
78cd8a226d l2cap-ertm: send RR with F=1 if RR with P=1 is received 2017-07-25 15:15:02 +02:00
Matthias Ringwald
62041d70a9 l2cap-ertm: send RR with poll=1 if packet is not acknowledged 2017-07-25 15:15:02 +02:00
Matthias Ringwald
8f1c963925 l2cap-ertm: implement l2cap_ertm_set_busy 2017-07-25 15:15:02 +02:00
Matthias Ringwald
67a3a5b71d l2cap-ertm: add (empty) l2cap_ertm_set_busy and set_ready to signal local busy condition 2017-07-25 15:15:02 +02:00
Matthias Ringwald
2a424812a1 l2cap-ertm: free tx packets based on req seq in i-frame 2017-07-25 15:15:02 +02:00
Matthias Ringwald
212b6be258 l2cap-ertm: only send tx packet when num unack packages < tx window size 2017-07-25 15:15:02 +02:00
Matthias Ringwald
bdbe2e4960 l2cap-ertm: free tx packets that receive an RR s-frame 2017-07-25 15:15:02 +02:00
Matthias Ringwald
675e6881a7 l2cap-ertm: send tx packets from l2cap_run 2017-07-25 15:15:02 +02:00
Matthias Ringwald
f0fb4cd727 l2cap-ertm: store tx packets in channel->tx_packets_data before sending 2017-07-25 15:15:02 +02:00
Matthias Ringwald
d84e866fb8 l2cap-ertm: use send_supervisor_frame_receiver_ready to request RR frame 2017-07-25 15:15:02 +02:00
Matthias Ringwald
25cd60d37c l2cap-ertm: store remote config in optional ertm mode, too 2017-07-25 15:15:02 +02:00
Matthias Ringwald
38f62777f8 l2cap-ertm: ack correclty received tx packets with s-frame RR 2017-07-25 15:15:02 +02:00
Matthias Ringwald
bbc0a9e771 l2cap-ertm: store remote ERTM config 2017-07-25 15:15:02 +02:00
Matthias Ringwald
2b70d7058b l2cap-ertm: validate ertm config 2017-07-25 15:15:02 +02:00
Matthias Ringwald
ed971c5a8f l2cap-ertm: reassemble L2CAP SDU segmented by ERTM 2017-07-25 15:15:02 +02:00
Matthias Ringwald
7b1816297b l2cap-ertm: store ertm config in channel struct, setup rx+tx packet state tracking 2017-07-25 15:15:02 +02:00
Matthias Ringwald
501329faba l2cap-ertm: add ERTM configuration options to create and accept l2cap connection API 2017-07-25 15:15:02 +02:00
Matthias Ringwald
27e0774ac6 l2cap-ertm: check FCS for packets in ERTM. pass complete packets to higher layer 2017-07-25 15:15:02 +02:00
Matthias Ringwald
5260604380 l2cap-ertm: query remote extended feature mask before accepting connection request 2017-07-25 15:15:02 +02:00
Matthias Ringwald
450ad7ecde l2cap-ertm: extract l2cap_setup_options_mtu and l2cap_setup_options_ertm from l2cap_setup_options 2017-07-25 15:15:02 +02:00
Matthias Ringwald
ac8f130048 l2cap-ertm: renegotiate basic mode if ERTM not requested 2017-07-25 15:15:02 +02:00
Matthias Ringwald
85ddcd8496 l2cap-ertm: send data as i-frames for ertm mode, calculate crc16 using table 2017-07-25 15:15:02 +02:00
Matthias Ringwald
f073f0868e l2cap-ertm: fallback to basic mode if remote doesn't indicate support for ertm in information response 2017-07-25 15:15:02 +02:00
Matthias Ringwald
f2fa388d63 l2cap-ertm: handle fallback for optional ERTM 2017-07-25 15:15:02 +02:00
Matthias Ringwald
45caebe58e l2cap-ertm: add ertm_mandatory flag to create and accept connection 2017-07-25 15:15:01 +02:00
Matthias Ringwald
3232a1c67c l2cap-ertm: disconnect if ERTM mandatory but F&EC config with Basic mode received 2017-07-25 15:13:59 +02:00
Matthias Ringwald
a32d6a0346 l2cap-ertm: disconnect if ertm mandatory but configure response indicates ertm not supported here 2017-07-25 15:13:59 +02:00
Matthias Ringwald
d4016dac2c l2cap-ertm: add ertm_mandatory flag using default yes for now 2017-07-25 15:13:59 +02:00
Matthias Ringwald
543b84e459 l2cap-ertm: abort connection if ertm requested but not supported by remote in information response 2017-07-25 15:13:59 +02:00
Matthias Ringwald
1b9cb13d36 l2cap-ertm: query extended features before opening l2cap ertm connection 2017-07-25 15:13:59 +02:00
Matthias Ringwald
6dca2a0cf9 l2cap-ertm: send ERTM options in Config Response 2017-07-25 15:13:59 +02:00
Matthias Ringwald
43ec931d38 l2ap-ertm: send retransmission and flow control option when channel accepted with l2cap_accept_ertm_connection 2017-07-25 15:13:59 +02:00
Matthias Ringwald
a6bfadd349 l2cap-ertm: add ERTM flag in Information Response 2017-07-25 15:13:59 +02:00
Matthias Ringwald
9d139fbae6 l2cap: limit remote MTU to size of outgoing HCI buffer 2017-07-03 13:48:43 +02:00
Matthias Ringwald
d6ed9f9cc0 fix set but never used warning for l2cap_event_packet_handler when using without LE 2017-05-18 21:59:28 +02:00
Matthias Ringwald
b3264428f7 ble: fix compile ifndef ENABLE_CLASSIC 2017-04-26 15:38:12 +02:00
Milanka Ringwald
11cae19e58 l2cap: fix for le data channels 2017-04-04 11:24:24 +02:00
Matthias Ringwald
235946f152 bluetooth_sdp: use scraped SDP UUID and PSMs for SDP record creation and parsing 2017-03-26 22:19:18 +02:00
Matthias Ringwald
ab2c6ae4b7 tool: add update_filename.py that adds __BTSTACK_FILE__ to every .c file for use with debug output instead of __FILE__ 2017-03-24 23:39:20 +01:00
Matthias Ringwald
d9d230549a use log_debug for 'can send now' events 2017-03-02 16:48:13 +01:00
Matthias Ringwald
e74c5f5849 l2cap: set source cid in CONNECTION_RESPONSE for error cases - although spec mandates receiver to ingore it 2017-02-02 12:16:04 +01:00
Matthias Ringwald
f22209df62 fix unused params warnings 2016-12-22 22:46:20 +01:00
Matthias Ringwald
d066298299 fix unused params warnings 2016-12-22 22:44:50 +01:00
Matthias Ringwald
9ec2630ce4 fix unused parameters warning 2016-12-22 22:16:16 +01:00
Matthias Ringwald
f511cefa8c l2cap: always use non-flushable packets for le connections 2016-12-02 11:36:14 +01:00
Matthias Ringwald
f3963406e0 introduce UNUSED macro 2016-10-27 15:04:09 +02:00
Matthias Ringwald
a24785d0c1 l2cap: fix compile 2016-10-23 22:11:16 +02:00
Matthias Ringwald
bab5f4f00b l2cap: provide incoming flag for L2CAP and RFCOMM opened events 2016-10-23 22:08:44 +02:00