Diff for /gforth/engine/io-nxt.c between versions 1.5 and 1.7

version 1.5, 2007/04/22 23:18:05 version 1.7, 2007/04/24 20:18:57
Line 75  void do_bluetooth () Line 75  void do_bluetooth ()
     char cmd[30];      char cmd[30];
   
     bt_receive(cmd);      bt_receive(cmd);
       if(cmd[0] | cmd[1]) {
         display_char('0'+cmd[0]);
         display_char('0'+cmd[1]);
         display_update();
       }
           
     switch(cmd[1]) {      switch(cmd[1]) {
       case 0x10:
     case 0x16: // request connection      case 0x16: // request connection
       cmd[1] = 9; // accept connection        cmd[1] = 0x9; // accept connection
       cmd[2] = 1; // yes, we do        cmd[2] = 1; // yes, we do
       bt_send_cmd(cmd);        bt_send_cmd(cmd);
       break;        break;
Line 88  void do_bluetooth () Line 94  void do_bluetooth ()
         cmd[1] = 0xB; // open stream          cmd[1] = 0xB; // open stream
         cmd[2] = handle;          cmd[2] = handle;
         bt_send_cmd(cmd);          bt_send_cmd(cmd);
           while (*AT91C_US1_TNCR != 0);
           // while(!(*AT91C_PIOA_PDSR & BT_BC4_CMD_PIN));
           bt_set_arm7_cmd();
           display_char(')'); display_update();
         bt_mode = 1;          bt_mode = 1;
           // bt_send("Hello Bluetooth\n", 16);
         } else {
           display_char('('); display_update();
       }        }
       break;        break;
   default:    default:
Line 110  void prep_terminal () Line 123  void prep_terminal ()
   nxt_motor_init();    nxt_motor_init();
   i2c_init();    i2c_init();
   bt_init();    bt_init();
   cmd[1] = 0x21; strcpy(cmd+2, "Gforth NXT"); bt_send_cmd(cmd); do_bluetooth();    do {
       bt_receive(cmd);
     } while((cmd[0] != 3) && (cmd[1] != 0x14));
     //  cmd[1] = 0x21; strcpy(cmd+2, "NXT"); bt_send_cmd(cmd); do_bluetooth();
   cmd[1] = 0x1C; cmd[2] = 1; bt_send_cmd(cmd); do_bluetooth(); // make visible    cmd[1] = 0x1C; cmd[2] = 1; bt_send_cmd(cmd); do_bluetooth(); // make visible
     cmd[1] = 0x36; cmd[2] = 1; bt_send_cmd(cmd); do_bluetooth(); // don't break stream mode
   cmd[1] = 0x03; bt_send_cmd(cmd); // open port query    cmd[1] = 0x03; bt_send_cmd(cmd); // open port query
   
   display_goto_xy(0,0);  
   display_clear(1);    display_clear(1);
     show_splash(1000);
     display_goto_xy(0,0);
   
   terminal_prepped = 1;    terminal_prepped = 1;
 }  }
Line 150  Cell getkey() Line 168  Cell getkey()
   }    }
   
   while(!key_avail());    while(!key_avail());
     
     while((key=bt_getkey())==0);
     display_char(key); display_update();
   
   return bt_getkey();    return key;
 }  }
   
 void emit_char(char x)  void emit_char(char x)
 {  {
   if(!terminal_prepped) prep_terminal();    if(!terminal_prepped) prep_terminal();
   display_char(x);    /*  display_char(x);
   if(x == '\n') {    if(x == '\n') {
     display_update();      display_update();
     needs_update = 0;      needs_update = 0;
   } else    } else
     needs_update = 1;    needs_update = 1; */
   if(bt_mode)    if(bt_mode) bt_send(&x, 1);
     bt_send(&x, 1);  
 }  }
   
 void type_chars(char *addr, unsigned int l)  void type_chars(char *addr, unsigned int l)
 {  {
   int i;    if(bt_mode) bt_send(addr, l);
     /*  int i;
   for(i=0; i<l; i++)    for(i=0; i<l; i++)
     emit_char(addr[i]);    emit_char(addr[i]); */
 }  }

Removed from v.1.5  
changed lines
  Added in v.1.7


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