test
Dependencies: PwmInRC USBDevice USBJoystick
main.cpp
- Committer:
- gagarinlg
- Date:
- 2021-07-25
- Revision:
- 0:759e6d265ddd
File content as of revision 0:759e6d265ddd:
#include "mbed.h" #include "USBJoystick.h" USBJoystick joystick; DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut myled4(LED4); InterruptIn mybutton(USER_BUTTON); double tempo = 0.3; // LED blinking delay PinName pin = D7; // Change LEDs blinking frequency void change_blinking_frequency() { if (tempo == 0.3) // If leds have low frequency tempo = 0.1; // Set the fast frequency else // If leds have fast frequency tempo = 0.3; // Set the low frequency } InterruptIn interrupt(pin); Timer timer; uint32_t interval; uint32_t channels[9]; uint32_t channel; bool done=false; void rise() { interval=timer.read_us(); if(interval > 3000) { done = true; channel=0; return; } int length = interval - 1000; if(length < 0) length = 0; else if(length>1023) length=1023; length /= 4; length -= 127; channels[channel] = length; channel++; } int main() { // All LEDs are OFF myled1 = 0; myled2 = 0; myled3 = 0; myled4 = 0; // Change LEDs blinking frequency when button is pressed mybutton.fall(&change_blinking_frequency); timer.start(); interrupt.rise(&rise); // interrupt.fall(this, &RadioChannel::fall); uint8_t count=0; while(1) { if(done) { joystick.update(count, 0, channels[0], 0, 0, 0); done = false; } joystick.update(count, 0, channels[0], 0, 0, 0); count++; wait(0.001); } }