Skip to content
Snippets Groups Projects
main.cpp 914 B
Newer Older
Christian Werner's avatar
Christian Werner committed
/* mbed Microcontroller Library
 * Copyright (c) 2019 ARM Limited
 * SPDX-License-Identifier: Apache-2.0
 */
Christian Werner's avatar
Christian Werner committed

// benchmarking unit test DO NOT EDIT:

Christian Werner's avatar
Christian Werner committed
#include "ButtonEvent.h"
#include "ButtonEventDispatcher.h"
#undef __ARM_FP // fix FPU warning
Christian Werner's avatar
Christian Werner committed
#include "mbed.h"
Christian Werner's avatar
Christian Werner committed
#include "platform/mbed_thread.h"

DigitalOut led(LED1);
ButtonEventDispatcher bed;
Timer t;

Christian Werner's avatar
Christian Werner committed
void processButtonEvent(const ButtonEvent& e ) {
Christian Werner's avatar
Christian Werner committed
    if(e.getType() == ButtonEvent::shortPress) {
        led = !led; // toggle LED1
    }

    if(e.getType() == ButtonEvent::longPress) {
        led = 0;
    }

    if(e.getType() == ButtonEvent::veryLongPress) {
        led = 1;
    }
}
Christian Werner's avatar
Christian Werner committed

int main()
Christian Werner's avatar
Christian Werner committed
    unsigned int iterations = 0;
    t.start();
    while (t.elapsed_time() < 1000ms) {
        iterations++;
        bed.Dispatch(ButtonEvent(ButtonEvent::veryLongPress, ButtonEvent::button2));
Christian Werner's avatar
Christian Werner committed
    }
Christian Werner's avatar
Christian Werner committed
    printf("Iterations: %u\r\n", iterations);
Christian Werner's avatar
Christian Werner committed
}