diff --git a/source/vpad_functions.c b/source/vpad_functions.c index 3a06386..39fa9ea 100644 --- a/source/vpad_functions.c +++ b/source/vpad_functions.c @@ -40,6 +40,14 @@ EXPORT_DECL(void, VPADSetRStickClampThreshold, s32 chan, s32 max, s32 min); EXPORT_DECL(void, VPADGetLStickClampThreshold, s32 chan, s32* max, s32* min); EXPORT_DECL(void, VPADGetRStickClampThreshold, s32 chan, s32* max, s32* min); EXPORT_DECL(void, VPADSetStickOrigin, s32 chan); +EXPORT_DECL(void, VPADDisableLStickZeroClamp, s32 chan); +EXPORT_DECL(void, VPADDisableRStickZeroClamp, s32 chan); +EXPORT_DECL(void, VPADEnableLStickZeroClamp, s32 chan); +EXPORT_DECL(void, VPADEnableRStickZeroClamp, s32 chan); +EXPORT_DECL(void, VPADSetCrossStickEmulationParamsL, s32 chan, f32 rot_deg, f32 xy_deg, f32 radius); +EXPORT_DECL(void, VPADSetCrossStickEmulationParamsR, s32 chan, f32 rot_deg, f32 xy_deg, f32 radius); +EXPORT_DECL(void, VPADGetCrossStickEmulationParamsL, s32 chan, f32* rot_deg, f32* xy_deg, f32* radius); +EXPORT_DECL(void, VPADGetCrossStickEmulationParamsR, s32 chan, f32* rot_deg, f32* xy_deg, f32* radius); EXPORT_DECL(void, VPADSetGyroAngle, s32 chan, f32 ax, f32 ay, f32 az); EXPORT_DECL(void, VPADSetGyroDirection, s32 chan, VPADDir *dir); EXPORT_DECL(void, VPADSetGyroDirectionMag, s32 chan, f32 mag); @@ -72,8 +80,10 @@ EXPORT_DECL(void, VPADSetTPCalibrationParam, s32 chan, const VPADTPCalibrationPa EXPORT_DECL(void, VPADGetTPCalibrationParam, s32 chan, VPADTPCalibrationParam* param); EXPORT_DECL(void, VPADGetTPCalibratedPoint, s32 chan, VPADTPData *disp, const VPADTPData *raw); EXPORT_DECL(void, VPADGetTPCalibratedPointEx, s32 chan, VPADTPResolution tpReso, VPADTPData *disp, const VPADTPData *raw); -EXPORT_DECL(s32, VPADSetLcdMode, s32 padnum, s32 lcdmode); -EXPORT_DECL(s32, VPADGetLcdMode, s32 padnum, s32 *lcdmode); +EXPORT_DECL(s32, VPADControlMotor, s32 chan, u8* pattern, u8 length); +EXPORT_DECL(void, VPADStopMotor, s32 chan); +EXPORT_DECL(s32, VPADSetLcdMode, s32 chan, s32 lcdmode); +EXPORT_DECL(s32, VPADGetLcdMode, s32 chan, s32 *lcdmode); EXPORT_DECL(s32, VPADBASEGetMotorOnRemainingCount, s32 lcdmode); EXPORT_DECL(s32, VPADBASESetMotorOnRemainingCount, s32 lcdmode, s32 counter); EXPORT_DECL(void, VPADBASESetSensorBarSetting, s32 chan, s8 setting); @@ -104,6 +114,14 @@ void InitVPadFunctionPointers(void){ OS_FIND_EXPORT(vpad_handle, VPADGetLStickClampThreshold); OS_FIND_EXPORT(vpad_handle, VPADGetRStickClampThreshold); OS_FIND_EXPORT(vpad_handle, VPADSetStickOrigin); + OS_FIND_EXPORT(vpad_handle, VPADDisableLStickZeroClamp); + OS_FIND_EXPORT(vpad_handle, VPADDisableRStickZeroClamp); + OS_FIND_EXPORT(vpad_handle, VPADEnableLStickZeroClamp); + OS_FIND_EXPORT(vpad_handle, VPADEnableRStickZeroClamp); + OS_FIND_EXPORT(vpad_handle, VPADSetCrossStickEmulationParamsL); + OS_FIND_EXPORT(vpad_handle, VPADSetCrossStickEmulationParamsR); + OS_FIND_EXPORT(vpad_handle, VPADGetCrossStickEmulationParamsL); + OS_FIND_EXPORT(vpad_handle, VPADGetCrossStickEmulationParamsR); OS_FIND_EXPORT(vpad_handle, VPADSetGyroAngle); OS_FIND_EXPORT(vpad_handle, VPADSetGyroDirection); OS_FIND_EXPORT(vpad_handle, VPADSetGyroDirectionMag); @@ -136,6 +154,8 @@ void InitVPadFunctionPointers(void){ OS_FIND_EXPORT(vpad_handle, VPADGetTPCalibrationParam); OS_FIND_EXPORT(vpad_handle, VPADGetTPCalibratedPoint); OS_FIND_EXPORT(vpad_handle, VPADGetTPCalibratedPointEx); + OS_FIND_EXPORT(vpad_handle, VPADControlMotor); + OS_FIND_EXPORT(vpad_handle, VPADStopMotor); OS_FIND_EXPORT(vpad_handle, VPADSetLcdMode); OS_FIND_EXPORT(vpad_handle, VPADGetLcdMode); OS_FIND_EXPORT(vpad_handle, VPADSetSensorBar); diff --git a/source/vpad_functions.h b/source/vpad_functions.h index 33ff09d..a666294 100644 --- a/source/vpad_functions.h +++ b/source/vpad_functions.h @@ -154,6 +154,14 @@ extern void (* VPADSetRStickClampThreshold)(s32 chan, s32 max, s32 min); extern void (* VPADGetLStickClampThreshold)(s32 chan, s32* max, s32* min); extern void (* VPADGetRStickClampThreshold)(s32 chan, s32* max, s32* min); extern void (* VPADSetStickOrigin)(s32 chan); +extern void (* VPADDisableLStickZeroClamp)(s32 chan); +extern void (* VPADDisableRStickZeroClamp)(s32 chan); +extern void (* VPADEnableLStickZeroClamp)(s32 chan); +extern void (* VPADEnableRStickZeroClamp)(s32 chan); +extern void (* VPADSetCrossStickEmulationParamsL)(s32 chan, f32 rot_deg, f32 xy_deg, f32 radius); +extern void (* VPADSetCrossStickEmulationParamsR)(s32 chan, f32 rot_deg, f32 xy_deg, f32 radius); +extern void (* VPADGetCrossStickEmulationParamsL)(s32 chan, f32* rot_deg, f32* xy_deg, f32* radius); +extern void (* VPADGetCrossStickEmulationParamsR)(s32 chan, f32* rot_deg, f32* xy_deg, f32* radius); extern void (* VPADSetGyroAngle)(s32 chan, f32 ax, f32 ay, f32 az); extern void (* VPADSetGyroDirection)(s32 chan, VPADDir *dir); extern void (* VPADSetGyroDirectionMag)(s32 chan, f32 mag); @@ -186,8 +194,10 @@ extern void (* VPADSetTPCalibrationParam)(s32 chan, const VPADTPCalibrationParam extern void (* VPADGetTPCalibrationParam)(s32 chan, VPADTPCalibrationParam* param); extern void (* VPADGetTPCalibratedPoint)(s32 chan, VPADTPData *disp, const VPADTPData *raw); extern void (* VPADGetTPCalibratedPointEx)(s32 chan, VPADTPResolution tpReso, VPADTPData *disp, const VPADTPData *raw); -extern s32 (* VPADSetLcdMode)(s32 padnum, s32 lcdmode); -extern s32 (* VPADGetLcdMode)(s32 padnum, s32 *lcdmode); +extern s32 (* VPADControlMotor)(s32 chan, u8* pattern, u8 length); +extern void (* VPADStopMotor)(s32 chan); +extern s32 (* VPADSetLcdMode)(s32 chan, s32 lcdmode); +extern s32 (* VPADGetLcdMode)(s32 chan, s32 *lcdmode); extern s32 (* VPADBASEGetMotorOnRemainingCount)(s32 lcdmode); extern s32 (* VPADBASESetMotorOnRemainingCount)(s32 lcdmode, s32 counter); extern void (* VPADBASESetSensorBarSetting)(s32 chan, s8 setting);