main
Default mainpageusb-device-hid-mouse-projectmain
Description Source Call Graph
Start Line: 698
int main(void)
{
    unsigned char bmButtons = 0;
    signed char dX, dY;
    unsigned char isChanged;

    TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
    printf("-- USB Device HID Mouse Project %s --\n\r", SOFTPACK_VERSION);
    printf("-- %s\n\r", BOARD_NAME);
    printf("-- Compiled: %s %s --\n\r", __DATE__, __TIME__);


    // If they are present, configure Vbus & Wake-up pins
    PIO_InitializeInterrupts(0);

    WAKEUP_CONFIGURE();

    // Initialize key statuses and configure push buttons
    PIO_Configure(pinsJoystick, PIO_LISTSIZE(pinsJoystick));

    // HID driver initialization
    HIDDMouseDriver_Initialize();

    // connect if needed
    VBUS_CONFIGURE();
    while (USBD_GetState() < USBD_STATE_CONFIGURED);
    
    // Infinite loop
    while (1) {

        isChanged = ButtonsMonitor(&bmButtons, &dX, &dY);

        if (isChanged) {
        
            unsigned char status;

            do {

                status = HIDDMouseDriver_ChangePoints(bmButtons,
                                                      dX, dY);

            } while (status != USBD_STATUS_SUCCESS);
        }
        
        if( USBState == STATE_SUSPEND ) {
            TRACE_DEBUG("suspend  !\n\r");
            LowPowerMode();
            USBState = STATE_IDLE;
        }
        if( USBState == STATE_RESUME ) {
            // Return in normal MODE
            TRACE_DEBUG("resume !\n\r");
            NormalPowerMode();
            USBState = STATE_IDLE;
        }
    }
}