/* Notes by Henry Walker
   2013-06-19:  compile with the line
      gcc -o rfcomm-serial-open rfcomm-serial-open.c -lbluetooth
*/

#include <stdio.h>
#include <fcntl.h>

int main(int argc, char **argv)
{
  char message[9];
  int duration, frequency;
  int robot = open ("/dev/rfcomm0", O_RDWR);
  message[0]=113; // set speaker
  duration = 2000; // 2000 milleseconds = 2 seconds
  message[1]= duration >> 8;  // high-order 8 bits
  message[2]= duration % 256;  // low-order 8 bits
  frequency = 880; // A above middle C
  message[3]= frequency >> 8; // high-order 8 bits
  message[4]= frequency % 256;// low-order 8 bits
  message[5]= -1 ; // end of data set
  message[6]= 0;   // not used
  message[7]= 0;   // not used
  message[8]= 0;   // not used

  write (robot, message, 9);

  message[0]=113; // set speaker
  duration = 3000; // 3000 milleseconds = 3 seconds
  message[1]= duration >> 8;  // high-order 8 bits
  message[2]= duration % 256;  // low-order 8 bits
  frequency = 440; // A near middle C
  message[3]= frequency >> 8; // high-order 8 bits
  message[4]= frequency % 256;// low-order 8 bits
  message[5]= -1 ; // end of data set
  message[6]= 0;   // not used
  message[7]= 0;   // not used
  message[8]= 0;   // not used
  write (robot, message, 9);

  close(robot);
  return 0;
}
