Example program of using USB mouse with STM32F407VET6 boards (compatible with Seed Arch Max). This is a fork of https://os.mbed.com/users/va009039/code/F446RE-USBHostMouse_HelloWorld/

Dependencies:   mbed FATFileSystem USBHost-STM32F4

Example program of using USB mouse with STM32F407VET6 black board (compatible with Seed Arch Max).

main.cpp

Committer:
hudakz
Date:
2019-02-19
Revision:
0:9fe634115b66

File content as of revision 0:9fe634115b66:

#include "mbed.h"
#include "USBHostMouse.h"

#define LED1    PA_6

DigitalOut  led(LED1);

/**
 * @brief
 * @note
 * @param
 * @retval
 */
void onMouseEvent(uint8_t buttons, int8_t x, int8_t y, int8_t z)
{
    printf("buttons: %d, x: %d, y: %d, z: %d\r\n", buttons, x, y, z);
}

/**
 * @brief
 * @note
 * @param
 * @retval
 */
int main()
{
    USBHostMouse    mouse;

    // connect a USB mouse
    if (!mouse.connect()) {
        printf("USB mouse not found.\n");
        return -1;
    }

    printf("Mouse connected\r\n");
    // when connected, attach handler called on mouse event
    mouse.attachEvent(onMouseEvent);

    Timer   t;
    t.start();
    while(1) {
        if (t.read_ms() > 500) {
            led = !led;
            t.reset();
        }

        USBHost::poll();
    }
}