mirror of https://github.com/zeldaret/tp.git
44 lines
897 B
C
44 lines
897 B
C
#ifndef PAD_H
|
|
#define PAD_H
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
typedef enum PADMask {
|
|
// PAD_CHAN3_BIT = (1 << 0),
|
|
// PAD_CHAN2_BIT = (1 << 1),
|
|
// PAD_CHAN1_BIT = (1 << 2),
|
|
// PAD_CHAN0_BIT = (1 << 3),
|
|
|
|
PAD_CHAN3_BIT = (1 << 28),
|
|
PAD_CHAN2_BIT = (1 << 29),
|
|
PAD_CHAN1_BIT = (1 << 30),
|
|
PAD_CHAN0_BIT = (1 << 31),
|
|
} PADMask;
|
|
|
|
typedef struct PADStatus {
|
|
u16 button;
|
|
s8 stick_x;
|
|
s8 stick_y;
|
|
s8 substick_x;
|
|
s8 substick_y;
|
|
u8 trigger_left;
|
|
u8 trigger_right;
|
|
u8 analog_a;
|
|
u8 analog_b;
|
|
s8 error;
|
|
} PADStatus;
|
|
|
|
extern "C" {
|
|
u32 PADInit(void);
|
|
void PADSetAnalogMode(u32 mode);
|
|
void PADSetSpec(int spec);
|
|
s32 PADReset(PADMask mask);
|
|
void PADClampCircle(PADStatus* status);
|
|
void PADClamp(PADStatus* status);
|
|
u32 PADRead(PADStatus* status);
|
|
void PADControlMotor(s32 channel, u32 command);
|
|
s32 PADRecalibrate(PADMask mask);
|
|
}
|
|
|
|
#endif /* PAD_H */
|