Example #1
0
void fi_init(void) {
	m_active = false;
	memset(m_probes, 0, sizeof(m_probes));

	terminal_register_command_callback(
			"fi_set_enabled",
			"Enable or disable fault injection.\n"
			"  0 - Disabled\n"
			"  1 - Enabled",
			"[enabled]",
			cmd_terminal_set_enabled);

	terminal_register_command_callback(
			"fi_add_fault",
			"Add fault to probe",
			"[probe_id] [type] [param] [start_it] [duration]",
			cmd_terminal_add_fault);

	terminal_register_command_callback(
			"fi_clear_faults",
			"Clear all faults",
			0,
			cmd_terminal_clear_faults);

	terminal_register_command_callback(
			"fi_print_faults",
			"Print all active faults",
			0,
			cmd_terminal_print_faults);

	terminal_register_command_callback(
			"fi_reset_cnt",
			"Reset all probe iteration counters",
			0,
			cmd_terminal_reset_cnt);
}
Example #2
0
void icm20948_init(ICM20948_STATE *s, i2c_bb_state *i2c_state, int ad0_val,
		stkalign_t *work_area, size_t work_area_size) {

	s->i2cs = i2c_state;
	s->i2c_address = ad0_val ? 0x69 : 0x68;
	s->read_callback = 0;

	if (reset_init_icm(s)) {
		chThdCreateStatic(work_area, work_area_size, NORMALPRIO, icm_thread, s);
	}

	// Only register terminal command for the first instance of this driver.
	if (m_terminal_state == 0) {
		m_terminal_state = s;
		terminal_register_command_callback(
				"icm_read_reg",
				"Read register of the ICM-20948",
				"[bank] [reg]",
				terminal_read_reg);
	}
}