Files
dusklight/include/pad/pad.h
T
lepelog 11e2bab926 match some Z2Calc functions (#72)
* Z2Calc OK

* inline definitions in random.h and format

* set -enum int compiler flag and fix enum hacks

* note for get_ufloat_1 inline

* PR suggestions and UB note

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:39:56 -05:00

42 lines
884 B
C

#ifndef __PAD_H__
#define __PAD_H__
#include "global.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