view sw/libserial/setbaud.c @ 16:f422d19c0118 default tip

fc-mcsi-rxtx: fix bug in PCM sample Rx
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 29 Oct 2024 01:41:33 +0000
parents a4918a161d2e
children
line wrap: on
line source

/*
 * This module implements the termios/ioctl setting of the baud rate.
 */

#include <sys/types.h>
#include <sys/ioctl.h>
#include <asm/ioctls.h>
#include <asm/termbits.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

extern int target_fd;

set_serial_baudrate(br)
	unsigned br;
{
	struct termios2 target_termios;

	target_termios.c_iflag = IGNBRK;
	target_termios.c_oflag = 0;
	target_termios.c_cflag = BOTHER|CLOCAL|HUPCL|CREAD|CS8;
	target_termios.c_lflag = 0;
	target_termios.c_cc[VMIN] = 1;
	target_termios.c_cc[VTIME] = 0;
	target_termios.c_ispeed = br;
	target_termios.c_ospeed = br;
	if (ioctl(target_fd, TCSETSF2, &target_termios) < 0) {
		perror("TCSETSF2");
		exit(1);
	}
	return 0;
}