Ejemplo n.º 1
0
static int firmware_get(const USB_Setup_TypeDef *setup)
{
    int res = USB_STATUS_REQ_ERR;

    CHECK_SETUP_IN(USBTHING_FIRMWARE_MAX_SIZE);

    res = USBD_Write(0, firmware_version, sizeof(firmware_version), NULL);

    return res;
}
Ejemplo n.º 2
0
static int gpio_get(const USB_Setup_TypeDef *setup)
{
	CHECK_SETUP_IN(USBTHING_CMD_GPIO_GET_SIZE);

	uint8_t pin = setup->wIndex;

	struct usbthing_ctrl_s *ctrl = (struct usbthing_ctrl_s*)&cmd_buffer;

	ctrl->gpio_cmd.get.level = GPIO_get(pin);

	//TODO: respond
	return USBD_Write(0, cmd_buffer, USBTHING_CMD_GPIO_GET_SIZE, NULL);
}