The driver was tested with the Grove BLE module. It's an HM-11 BLE 4.0 module based on a TI CC2541 chip. It operates using a standard 'AT' command set. See the datasheet for a full list of available commands and their possible responses:
http://www.seeedstudio.com/wiki/images/c/cd/Bluetooth4_en.pdf
It is connected via a UART at 9,600 baud.
char buffer[BUFSIZ];
{
cerr << "Failed to setup tty port parameters" << endl;
return 1;
}
printUsage(argv[0]);
if (argc > 1)
{
cout << "Sending command line argument (" << argv[1] << ")..." << endl;
sendCommand(ble, argv[1]);
}
else
{
char addr[] = "AT+ADDR?";
cout << "Querying module address (" << addr << ")..." << endl;
sendCommand(ble, addr);
sleep(1);
char pin[] = "AT+PASS?";
cout << "Querying module PIN (" << pin << ")..." << endl;
sendCommand(ble, pin);
}