view loadtools/labaud.c @ 718:098fea21ba13

doc/Host-tools-overview: tiffs-mkfs description updated The first version of tiffs-mkfs did not include a journal file in the created FFS, expecting the firmware to create it on first boot. All historical firmwares prior to a recent FC fix (2020-05) contain a bug in that code path, thus images made with the first version of tiffs-mkfs were only acceptable to very recent FC firmwares. tiffs-mkfs has now been extended to include an empty journal in the created FFS, thus the restriction of working with recent fw only has been lifted.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 23 Aug 2020 04:55:02 +0000
parents 8c011177adb9
children
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 <unistd.h>
#include "../libserial/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);
	set_serial_baudrate(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);
}