Skip to content

Commit 6c23375

Browse files
authored
Merge pull request #324 from adafruit/develop
Maximize throughput
2 parents 64b5555 + e23c63f commit 6c23375

File tree

27 files changed

+719
-162
lines changed

27 files changed

+719
-162
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ install:
2727
- BSP_VERSION=`eval ls $BSP_PATH`
2828
- rm -r $BSP_PATH/*
2929
- ln -s $TRAVIS_BUILD_DIR $BSP_PATH/$BSP_VERSION
30-
- arduino --install-library "Adafruit NeoPixel","Adafruit NeoMatrix","Adafruit GFX Library","Adafruit SSD1306","MIDI Library",
30+
- arduino --install-library "Adafruit NeoPixel","Adafruit NeoMatrix","Adafruit GFX Library","Adafruit SSD1306","MIDI Library","Adafruit ILI9341"
3131

3232
before_script:
3333

cores/nRF5/Adafruit_TinyUSB_Core/Adafruit_USBD_CDC.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ void Adafruit_USBD_CDC::flush(void)
107107

108108
size_t Adafruit_USBD_CDC::write(uint8_t ch)
109109
{
110-
return tud_cdc_write_char((char) ch);
110+
return write(&ch, 1);
111111
}
112112

113113
size_t Adafruit_USBD_CDC::write(const uint8_t *buffer, size_t size)

libraries/Bluefruit52Lib/examples/Central/central_bleuart/central_bleuart.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
163163
(void) conn_handle;
164164
(void) reason;
165165

166-
Serial.println("Disconnected");
166+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
167167
}
168168

169169
/**

libraries/Bluefruit52Lib/examples/Central/central_custom_hrm/central_custom_hrm.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
171171
(void) conn_handle;
172172
(void) reason;
173173

174-
Serial.println("Disconnected");
174+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
175175
}
176176

177177

libraries/Bluefruit52Lib/examples/Central/central_hid/central_hid.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
141141
(void) conn_handle;
142142
(void) reason;
143143

144-
Serial.println("Disconnected");
144+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
145145
}
146146

147147
void loop()
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
/*********************************************************************
2+
This is an example for our nRF52 based Bluefruit LE modules
3+
4+
Pick one up today in the adafruit shop!
5+
6+
Adafruit invests time and resources providing this open source code,
7+
please support Adafruit and open-source hardware by purchasing
8+
products from Adafruit!
9+
10+
MIT license, check LICENSE for more information
11+
All text above, and the splash screen below must be included in
12+
any redistribution
13+
*********************************************************************/
14+
15+
/*
16+
* This sketch demonstrate the central API(). A additional bluefruit
17+
* that has bleuart as peripheral is required for the demo.
18+
*/
19+
#include <bluefruit.h>
20+
21+
BLEClientUart clientUart; // bleuart client
22+
23+
uint32_t rx_count = 0;
24+
25+
void setup()
26+
{
27+
Serial.begin(115200);
28+
while ( !Serial ) delay(10); // for nrf52840 with native usb
29+
30+
Serial.println("Bluefruit52 Central BLEUART Example");
31+
Serial.println("-----------------------------------\n");
32+
33+
// Config the connection with maximum bandwidth
34+
// more SRAM required by SoftDevice
35+
// Note: All config***() function must be called before begin()
36+
Bluefruit.configCentralBandwidth(BANDWIDTH_MAX);
37+
38+
// Initialize Bluefruit with maximum connections as Peripheral = 0, Central = 1
39+
// SRAM usage required by SoftDevice will increase dramatically with number of connections
40+
Bluefruit.begin(0, 1);
41+
42+
Bluefruit.setName("Bluefruit52 Central");
43+
44+
// Init BLE Central Uart Serivce
45+
clientUart.begin();
46+
clientUart.setRxCallback(bleuart_rx_callback);
47+
48+
// Increase Blink rate to different from PrPh advertising mode
49+
Bluefruit.setConnLedInterval(250);
50+
51+
// Callbacks for Central
52+
Bluefruit.Central.setConnectCallback(connect_callback);
53+
Bluefruit.Central.setDisconnectCallback(disconnect_callback);
54+
55+
/* Start Central Scanning
56+
* - Enable auto scan if disconnected
57+
* - Interval = 100 ms, window = 80 ms
58+
* - Don't use active scan
59+
* - Start(timeout) with timeout = 0 will scan forever (until connected)
60+
*/
61+
Bluefruit.Scanner.setRxCallback(scan_callback);
62+
Bluefruit.Scanner.restartOnDisconnect(true);
63+
Bluefruit.Scanner.setInterval(160, 80); // in unit of 0.625 ms
64+
Bluefruit.Scanner.useActiveScan(false);
65+
Bluefruit.Scanner.start(0); // // 0 = Don't stop scanning after n seconds
66+
}
67+
68+
/**
69+
* Callback invoked when scanner pick up an advertising data
70+
* @param report Structural advertising data
71+
*/
72+
void scan_callback(ble_gap_evt_adv_report_t* report)
73+
{
74+
// Check if advertising contain BleUart service
75+
if ( Bluefruit.Scanner.checkReportForService(report, clientUart) )
76+
{
77+
Serial.print("BLE UART service detected. Connecting ... ");
78+
79+
// Connect to device with bleuart service in advertising
80+
Bluefruit.Central.connect(report);
81+
}else
82+
{
83+
// For Softdevice v6: after received a report, scanner will be paused
84+
// We need to call Scanner resume() to continue scanning
85+
Bluefruit.Scanner.resume();
86+
}
87+
}
88+
89+
/**
90+
* Callback invoked when an connection is established
91+
* @param conn_handle
92+
*/
93+
void connect_callback(uint16_t conn_handle)
94+
{
95+
Serial.println("Connected");
96+
97+
Serial.print("Discovering BLE Uart Service ... ");
98+
if ( clientUart.discover(conn_handle) )
99+
{
100+
Serial.println("Found it");
101+
102+
Serial.println("Enable TXD's notify");
103+
clientUart.enableTXD();
104+
105+
Serial.println("Ready to receive from peripheral");
106+
}else
107+
{
108+
Serial.println("Found NONE");
109+
110+
// disconnect since we couldn't find bleuart service
111+
Bluefruit.disconnect(conn_handle);
112+
}
113+
}
114+
115+
/**
116+
* Callback invoked when a connection is dropped
117+
* @param conn_handle
118+
* @param reason is a BLE_HCI_STATUS_CODE which can be found in ble_hci.h
119+
*/
120+
void disconnect_callback(uint16_t conn_handle, uint8_t reason)
121+
{
122+
(void) conn_handle;
123+
(void) reason;
124+
125+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
126+
}
127+
128+
/**
129+
* Callback invoked when uart received data
130+
* @param uart_svc Reference object to the service where the data
131+
* arrived. In this example it is clientUart
132+
*/
133+
void bleuart_rx_callback(BLEClientUart& uart_svc)
134+
{
135+
int count = uart_svc.available();
136+
uart_svc.flush();
137+
}
138+
139+
void loop()
140+
{
141+
if ( Bluefruit.Central.connected() )
142+
{
143+
// Not discovered yet
144+
if ( clientUart.discovered() )
145+
{
146+
// Discovered means in working state
147+
// Get Serial input and send to Peripheral
148+
if ( Serial.available() )
149+
{
150+
delay(2); // delay a bit for all characters to arrive
151+
152+
char str[20+1] = { 0 };
153+
Serial.readBytes(str, 20);
154+
155+
clientUart.print( str );
156+
}
157+
}
158+
}
159+
}

libraries/Bluefruit52Lib/examples/Central/central_ti_sensortag_optical/central_ti_sensortag_optical.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
244244
(void) conn_handle;
245245
(void) reason;
246246

247-
Serial.println("Disconnected");
247+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
248248
}
249249

250250
/**

libraries/Bluefruit52Lib/examples/Hardware/Serial1_test/.skip.feather52832

Whitespace-only changes.

libraries/Bluefruit52Lib/examples/Peripheral/ancs/ancs.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,5 +210,5 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
210210
(void) reason;
211211

212212
Serial.println();
213-
Serial.println("Disconnected");
213+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
214214
}

libraries/Bluefruit52Lib/examples/Peripheral/bleuart/bleuart.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,5 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
142142
(void) reason;
143143

144144
Serial.println();
145-
Serial.println("Disconnected");
145+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
146146
}

libraries/Bluefruit52Lib/examples/Peripheral/bleuart_multi/bleuart_multi.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
159159
(void) reason;
160160

161161
Serial.println();
162-
Serial.println("Disconnected");
162+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
163163

164164
connection_count--;
165165
}

libraries/Bluefruit52Lib/examples/Peripheral/client_cts/client_cts.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,5 +173,5 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
173173
(void) reason;
174174

175175
Serial.println();
176-
Serial.println("Disconnected");
176+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
177177
}

libraries/Bluefruit52Lib/examples/Peripheral/custom_hrm/custom_hrm.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
181181
(void) conn_handle;
182182
(void) reason;
183183

184-
Serial.println("Disconnected");
184+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
185185
Serial.println("Advertising!");
186186
}
187187

libraries/Bluefruit52Lib/examples/Peripheral/custom_htm/custom_htm.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ void disconnect_callback(uint16_t conn_handle, uint8_t reason)
171171
(void) conn_handle;
172172
(void) reason;
173173

174-
Serial.println("Disconnected");
174+
Serial.print("Disconnected, reason = 0x"); Serial.println(reason, HEX);
175175
Serial.println("Advertising!");
176176
}
177177

0 commit comments

Comments
 (0)