mirror of https://github.com/ArduPilot/ardupilot
35 lines
739 B
C++
35 lines
739 B
C++
#pragma once
|
|
|
|
#if AP_SCRIPTING_ENABLED
|
|
|
|
#include <AP_Common/AP_Common.h>
|
|
|
|
// Joystick button object for use in Lua scripts.
|
|
//
|
|
// Provide 2 ways to use a joystick button:
|
|
// is_pressed() returns true if the button is currently (as of the most recent MANUAL_CONTROL msg) pressed
|
|
// get_and_clear_count() returns the number of times the button was pressed since the last call
|
|
//
|
|
class ScriptButton {
|
|
public:
|
|
ScriptButton(): pressed(false), count(0) {}
|
|
|
|
void press();
|
|
|
|
void release();
|
|
|
|
bool is_pressed() const WARN_IF_UNUSED;
|
|
|
|
uint8_t get_count() const WARN_IF_UNUSED;
|
|
|
|
void clear_count();
|
|
|
|
uint8_t get_and_clear_count();
|
|
|
|
private:
|
|
bool pressed;
|
|
uint8_t count;
|
|
};
|
|
|
|
#endif // AP_SCRIPTING_ENABLED
|