Ejemplo n.º 1
0
static void shutdown_device(void)
{
    bt_hci_flush(hci_dev);

    free(firmware_data);

    if (use_manufacturer_mode) {
        struct cmd_manufacturer_mode cmd;

        cmd.mode_switch = 0x00;
        cmd.reset = manufacturer_mode_reset;

        bt_hci_send(hci_dev, CMD_MANUFACTURER_MODE, &cmd, sizeof(cmd),
                    leave_manufacturer_mode_complete, NULL, NULL);
        return;
    }

    if (reset_on_exit) {
        bt_hci_send(hci_dev, BT_HCI_CMD_RESET, NULL, 0,
                    reset_complete, NULL, NULL);
        return;
    }

    mainloop_quit();
}
Ejemplo n.º 2
0
static void shutdown_device(void)
{
	unsigned int id;

	bt_hci_flush(hci_dev);

	if (reset_on_shutdown) {
		id = timeout_add(5000, shutdown_timeout, NULL, NULL);

		bt_hci_send(hci_dev, BT_HCI_CMD_RESET, NULL, 0,
				shutdown_complete, UINT_TO_PTR(id), NULL);
	} else
		mainloop_quit();
}
static void shutdown_device(void)
{
	uint8_t enable = 0x00;
	unsigned int id;

	bt_hci_flush(hci_dev);

	id = timeout_add(5000, shutdown_timeout, NULL, NULL);

	bt_hci_send(hci_dev, BT_HCI_CMD_LE_SET_ADV_ENABLE,
					&enable, 1, NULL, NULL, NULL);

	bt_hci_send(hci_dev, BT_HCI_CMD_RESET, NULL, 0,
				shutdown_complete, UINT_TO_PTR(id), NULL);
}