Diff for /gforth/engine/io-nxt.c between versions 1.9 and 1.10

version 1.9, 2007/06/16 20:47:00 version 1.10, 2007/06/17 19:26:43
Line 74  void bt_send_cmd(char * cmd) Line 74  void bt_send_cmd(char * cmd)
   
 int do_bluetooth ()  int do_bluetooth ()
 {  {
   if(bt_state) {    if(!bt_mode) {
     if(bt_get_mode()) {      char cmd[30];
       if(!bt_mode) {      
         bt_set_arm7_cmd();      bt_receive(cmd);
         display_char(')'); display_update();      if(cmd[0] | cmd[1]) {
         bt_mode = 1;        display_char('0'+cmd[0]);
       }        display_char('0'+cmd[1]);
       return 1;  
     } else {  
       if(bt_mode) {  
         bt_clear_arm7_cmd();  
         display_char('['); display_update();  
         bt_mode = 0;  
         bt_state = 0;  
       } else {  
         display_char('.');  
         display_update();  
       }  
     }      }
   } else {      
     if(!bt_mode) {      switch(cmd[1]) {
       char cmd[30];      case 0x16: // request connection
               display_char('-');
       bt_receive(cmd);        cmd[1] = 0x9; // accept connection
       if(cmd[0] | cmd[1]) {        cmd[2] = 1; // yes, we do
         display_char('0'+cmd[0]);        bt_send_cmd(cmd);
         display_char('0'+cmd[1]);        break;
       }      case 0x0f: // inquiry result
               display_char('+');
       switch(cmd[1]) {        cmd[1] = 0x05;
       case 0x10:        bt_send_cmd(cmd); // add devices as known device
       case 0x16: // request connection        break;
         display_char('-');      case 0x13: // connect result
         cmd[1] = 0x9; // accept connection        if(cmd[2]) {
         cmd[2] = 1; // yes, we do          int n=0;
         bt_send_cmd(cmd);          int handle=cmd[3];
         break;          display_char('/'); display_update();
       case 0x0f: // inquiry result          systick_wait_ms(300);
         cmd[1] = 0x05;          bt_receive(cmd);
         bt_send_cmd(cmd); // add devices as known device          if(cmd[0]==0) {
         break;  
       case 0x13: // connect result  
         if(cmd[2]) {  
           display_char('/');  
           int handle=cmd[3];  
           cmd[1] = 0xB; // open stream            cmd[1] = 0xB; // open stream
           cmd[2] = handle;            cmd[2] = handle;
           bt_send_cmd(cmd);            bt_send_cmd(cmd);
           bt_state = 1;            systick_wait_ms(100);
         } else {            bt_set_arm7_cmd();
           display_char('(');            bt_mode = 1;
             display_char(')'); display_update();
         }          }
         break;          //        bt_state = 1;
       case 0x20: // discoverableack        } else {
         if(cmd[2]) {          display_char('(');
           display_char('?');  
           cmd[1] = 0x03; bt_send_cmd(cmd); // open port query  
           break;  
         }  
       case 0x14:  
         display_char('!');  
         cmd[1] = 0x1C; cmd[2] = 1; bt_send_cmd(cmd);  
         break;  
       default:  
         break;  
       }        }
       {        break;
         extern int display_x, display_y;      case 0x20: // discoverableack
         static int n=0;        if(cmd[2]) {
         int x = display_x;          display_char('?');
         int y = display_y;          break;
         display_goto_xy(0,6);  
         display_char("/|\\-"[(n++)&3]);  
         display_goto_xy(x,y);  
       }        }
       display_update();      case 0x10:
       case 0x14:
         display_char('!');
         cmd[1] = 0x1C; cmd[2] = 1; bt_send_cmd(cmd);
         break;
       default:
         break;
     }      }
       display_update();
   }    }
   return 0;    return 0;
 }  }
Line 168  void prep_terminal () Line 147  void prep_terminal ()
   nxt_motor_init();    nxt_motor_init();
   i2c_init();    i2c_init();
   bt_init();    bt_init();
     bt_start_ad_converter();
   do {    do {
     bt_receive(cmd);      bt_receive(cmd);
   } while((cmd[0] != 3) && (cmd[1] != 0x14));    } while((cmd[0] != 3) && (cmd[1] != 0x14));
   cmd[1] = 0x36; // break stream mode    //  cmd[1] = 0x36; // break stream mode
   cmd[2] = 0;    //  cmd[2] = 0;
   bt_send_cmd(cmd);    //  bt_send_cmd(cmd);
   cmd[1] = 0x1C; cmd[2] = 1; bt_send_cmd(cmd); // make visible    //  cmd[1] = 0x1C; cmd[2] = 1; bt_send_cmd(cmd); // make visible
     cmd[1] = 0x03; bt_send_cmd(cmd); // open port query
   display_clear(1);    display_clear(1);
   show_splash(1000);    show_splash(1000);
   display_goto_xy(0,0);    display_goto_xy(0,0);

Removed from v.1.9  
changed lines
  Added in v.1.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>