2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
23#include "../types/evmu_peripheral.h"
24#include <gimbal/meta/signals/gimbal_signal.h>
27
28
29
30#define EVMU_GAMEPAD_TYPE (GBL_TYPEID
(EvmuGamepad))
31#define EVMU_GAMEPAD(self) (GBL_CAST(EvmuGamepad, self))
33#define EVMU_GAMEPAD_GET_CLASS(self) (GBL_CLASSOF(EvmuGamepad, self))
36#define EVMU_GAMEPAD_NAME "gamepad"
38#define GBL_SELF_TYPE EvmuGamepad
42GBL_FORWARD_DECLARE_STRUCT(EvmuGamepad);
45
46
47
48
49
50
51
52
53GBL_CLASS_DERIVE(EvmuGamepad, EvmuPeripheral)
55 EVMU_RESULT (*pFnPollButtons)(GBL_SELF);
59
60
61
62
63
64
65
66
67
68
103GBL_SIGNALS(EvmuGamepad,
104 (updatingButtons, (GBL_INSTANCE_TYPE, receiver))
112
113
114
115
#define EVMU_EXPORT
Define used for adding attributes to export public symbols.
GblType EvmuGamepad_type(void)
Returns the GblType UUID associated with EvmuGamepad.
#define GBL_PROPERTIES(object,...)
Gamepad peripheral for managing button states.
uint16_t turboA
TurboA button state (1: pressed, 0: released)
uint16_t b
B button state (1: pressed, 0: released)
GblBool EvmuGamepad_isConfigured(const EvmuGamepad *pSelf)
Returns GBL_TRUE if the port 3 DDR pins have been configured properly for button input.
uint16_t mode
Mode button state (1: pressed, 0: released)
uint16_t turboB
TurboB button state (1: pressed, 0: released)
uint16_t sleep
Sleep button state (1: pressed, 0: released)
uint16_t a
A button state (1: pressed, 0: released)
uint16_t left
Dpad Left button state (1: pressed, 0: released)
uint16_t down
Dpad Down button state (1: pressed, 0: released)
uint16_t slowMotion
Rewind button state (1: preseed, 0: released)
uint16_t right
Dpad Right button state (1: pressed, 0: released)
uint16_t fastForward
Fast-Forward button state (1: pressed, 0: released)
uint16_t up
Dpad Up button state (1: pressed, 0: released)
#define GBL_CLASS_CAST(cType, klass)
#define GBL_CLASSOF(cType, self)
#define GBL_CAST(cType, self)