Просмотр исходного кода

Increase buffer of rn42_gets() and change rn42_linked()

tags/v1.9
tmk 9 лет назад
Родитель
Сommit
3b3af3bae0
2 измененных файлов: 6 добавлений и 6 удалений
  1. 5
    5
      keyboard/hhkb_rn42/rn42/rn42.c
  2. 1
    1
      keyboard/hhkb_rn42/rn42/rn42.h

+ 5
- 5
keyboard/hhkb_rn42/rn42/rn42.c Просмотреть файл

return serial_recv2(); return serial_recv2();
} }


char *rn42_gets(uint16_t timeout)
const char *rn42_gets(uint16_t timeout)
{ {
static char s[16];
static char s[24];
uint16_t t = timer_read(); uint16_t t = timer_read();
uint8_t i = 0; uint8_t i = 0;
int16_t c; int16_t c;
while (i < 15 && timer_elapsed(t) < timeout) {
if ((c = rn42_getc()) != -1) {
while (i < 23 && timer_elapsed(t) < timeout) {
if ((c = rn42_getc()) != -1) {
if ((char)c == '\r') continue; if ((char)c == '\r') continue;
if ((char)c == '\n') break; if ((char)c == '\n') break;
s[i++] = c; s[i++] = c;
// Hi-Z: Not powered // Hi-Z: Not powered
// High: Linked // High: Linked
// Low: Connecting // Low: Connecting
return !rn42_rts() && PINF&(1<<6);
return PINF&(1<<6);
} }





+ 1
- 1
keyboard/hhkb_rn42/rn42/rn42.h Просмотреть файл



void rn42_init(void); void rn42_init(void);
int16_t rn42_getc(void); int16_t rn42_getc(void);
char *rn42_gets(uint16_t timeout);
const char *rn42_gets(uint16_t timeout);
void rn42_putc(uint8_t c); void rn42_putc(uint8_t c);
void rn42_puts(char *s); void rn42_puts(char *s);
bool rn42_autoconnecting(void); bool rn42_autoconnecting(void);

Загрузка…
Отмена
Сохранить