FreeCalypso > hg > freecalypso-tools
view loadtools/labaud.c @ 100:d7ef80dce192
target-utils: c139-lldbg converted to our own libc
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 01 Nov 2016 00:09:34 +0000 |
parents | e7502631a0f9 |
children | 8c011177adb9 |
line wrap: on
line source
/* * This module handles the switching of serial baud rates * in coordination with loadagent. */ #include <stdio.h> #include <stdlib.h> #include <termios.h> #include <unistd.h> #include "baudrate.h" extern int target_fd; extern struct baudrate *current_baud_rate; extern struct baudrate *find_baudrate_by_name(); loadagent_switch_baud(newbr) struct baudrate *newbr; { char *argv[3]; static char U = 'U'; printf("Switching loadagent communication to %s baud\n", newbr->name); argv[0] = "baud"; argv[1] = newbr->name; argv[2] = 0; tpinterf_make_cmd(argv); if (tpinterf_send_cmd() < 0) return(-1); switch_baud_rate(newbr); usleep(150000); write(target_fd, &U, 1); return tpinterf_pass_output(1); } cmd_baud(argc, argv) char **argv; { struct baudrate *br; if (argc < 2) { printf("Current baud rate is %s\n", current_baud_rate->name); return(0); } br = find_baudrate_by_name(argv[1]); if (!br) return(-1); /* error msg already printed */ return loadagent_switch_baud(br); }