-
-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c2eb50e
commit c5d5e48
Showing
28 changed files
with
494 additions
and
180 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
/* SIE CONFIDENTIAL | ||
* $PSLibId$ | ||
* Copyright (C) 2019 Sony Interactive Entertainment Inc. | ||
* All Rights Reserved. | ||
*/ | ||
|
||
|
||
#ifndef _SCE_PAD_TRIGGER_EFFECT_H | ||
#define _SCE_PAD_TRIGGER_EFFECT_H | ||
|
||
|
||
#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_L2 0x01 | ||
#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2 0x02 | ||
|
||
#define SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_L2 0 | ||
#define SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2 1 | ||
|
||
#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_NUM 2 | ||
|
||
/* Definition of control point num */ | ||
#define SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM 10 | ||
|
||
typedef enum ScePadTriggerEffectMode{ | ||
SCE_PAD_TRIGGER_EFFECT_MODE_OFF, | ||
SCE_PAD_TRIGGER_EFFECT_MODE_FEEDBACK, | ||
SCE_PAD_TRIGGER_EFFECT_MODE_WEAPON, | ||
SCE_PAD_TRIGGER_EFFECT_MODE_VIBRATION, | ||
SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_FEEDBACK, | ||
SCE_PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK, | ||
SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION, | ||
} ScePadTriggerEffectMode; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to off mode. | ||
* Off Mode: Stop trigger effect. | ||
**/ | ||
typedef struct ScePadTriggerEffectOffParam{ | ||
uint8_t padding[48]; | ||
} ScePadTriggerEffectOffParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to Feedback mode. | ||
* Feedback Mode: The motor arm pushes back trigger. | ||
* Trigger obtains stiffness at specified position. | ||
**/ | ||
typedef struct ScePadTriggerEffectFeedbackParam{ | ||
uint8_t position; /*E position where the strength of target trigger start changing(0~9). */ | ||
uint8_t strength; /*E strength that the motor arm pushes back target trigger(0~8 (0: Same as Off mode)). */ | ||
uint8_t padding[46]; | ||
} ScePadTriggerEffectFeedbackParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to Weapon mode. | ||
* Weapon Mode: Emulate weapon like gun trigger. | ||
**/ | ||
typedef struct ScePadTriggerEffectWeaponParam{ | ||
uint8_t startPosition; /*E position where the stiffness of trigger start changing(2~7). */ | ||
uint8_t endPosition; /*E position where the stiffness of trigger finish changing(startPosition+1~8). */ | ||
uint8_t strength; /*E strength of gun trigger(0~8 (0: Same as Off mode)). */ | ||
uint8_t padding[45]; | ||
} ScePadTriggerEffectWeaponParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to Vibration mode. | ||
* Vibration Mode: Vibrates motor arm around specified position. | ||
**/ | ||
typedef struct ScePadTriggerEffectVibrationParam{ | ||
uint8_t position; /*E position where the motor arm start vibrating(0~9). */ | ||
uint8_t amplitude; /*E vibration amplitude(0~8 (0: Same as Off mode)). */ | ||
uint8_t frequency; /*E vibration frequency(0~255[Hz] (0: Same as Off mode)). */ | ||
uint8_t padding[45]; | ||
} ScePadTriggerEffectVibrationParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to ScePadTriggerEffectMultiplePositionFeedbackParam mode. | ||
* Multi Position Feedback Mode: The motor arm pushes back trigger. | ||
* Trigger obtains specified stiffness at each control point. | ||
**/ | ||
typedef struct ScePadTriggerEffectMultiplePositionFeedbackParam{ | ||
uint8_t strength[SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM]; /*E strength that the motor arm pushes back target trigger at position(0~8 (0: Same as Off mode)). | ||
* strength[0] means strength of motor arm at position0. | ||
* strength[1] means strength of motor arm at position1. | ||
* ... | ||
* */ | ||
uint8_t padding[38]; | ||
} ScePadTriggerEffectMultiplePositionFeedbackParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to Feedback3 mode. | ||
* Slope Feedback Mode: The motor arm pushes back trigger between two spedified control points. | ||
* Stiffness of the trigger is changing depending on the set place. | ||
**/ | ||
typedef struct ScePadTriggerEffectSlopeFeedbackParam{ | ||
|
||
uint8_t startPosition; /*E position where the strength of target trigger start changing(0~endPosition). */ | ||
uint8_t endPosition; /*E position where the strength of target trigger finish changing(startPosition+1~9). */ | ||
uint8_t startStrength; /*E strength when trigger's position is startPosition(1~8) */ | ||
uint8_t endStrength; /*E strength when trigger's position is endPosition(1~8) */ | ||
uint8_t padding[44]; | ||
} ScePadTriggerEffectSlopeFeedbackParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect to Vibration2 mode. | ||
* Multi Position Vibration Mode: Vibrates motor arm around specified control point. | ||
* Trigger vibrates specified amplitude at each control point. | ||
**/ | ||
typedef struct ScePadTriggerEffectMultiplePositionVibrationParam{ | ||
uint8_t frequency; /*E vibration frequency(0~255 (0: Same as Off mode)) */ | ||
uint8_t amplitude[SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM]; /*E vibration amplitude at position(0~8 (0: Same as Off mode)). | ||
* amplitude[0] means amplitude of vibration at position0. | ||
* amplitude[1] means amplitude of vibration at position1. | ||
* ... | ||
* */ | ||
uint8_t padding[37]; | ||
} ScePadTriggerEffectMultiplePositionVibrationParam; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect mode. | ||
**/ | ||
typedef union ScePadTriggerEffectCommandData{ | ||
ScePadTriggerEffectOffParam offParam; | ||
ScePadTriggerEffectFeedbackParam feedbackParam; | ||
ScePadTriggerEffectWeaponParam weaponParam; | ||
ScePadTriggerEffectVibrationParam vibrationParam; | ||
ScePadTriggerEffectMultiplePositionFeedbackParam multiplePositionFeedbackParam; | ||
ScePadTriggerEffectSlopeFeedbackParam slopeFeedbackParam; | ||
ScePadTriggerEffectMultiplePositionVibrationParam multiplePositionVibrationParam; | ||
} ScePadTriggerEffectCommandData; | ||
|
||
/** | ||
*E | ||
* @brief parameter for setting the trigger effect. | ||
**/ | ||
typedef struct ScePadTriggerEffectCommand{ | ||
ScePadTriggerEffectMode mode; | ||
uint8_t padding[4]; | ||
ScePadTriggerEffectCommandData commandData; | ||
} ScePadTriggerEffectCommand; | ||
|
||
/** | ||
*E | ||
* @brief parameter for the scePadSetTriggerEffect function. | ||
**/ | ||
typedef struct ScePadTriggerEffectParam{ | ||
|
||
uint8_t triggerMask; /*E Set trigger mask to activate trigger effect commands. | ||
* SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_L2 : 0x01 | ||
* SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2 : 0x02 | ||
* */ | ||
uint8_t padding[7]; | ||
|
||
ScePadTriggerEffectCommand command[SCE_PAD_TRIGGER_EFFECT_TRIGGER_NUM]; /*E command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_L2] is for L2 trigger setting | ||
* and param[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2] is for R2 trgger setting. | ||
* */ | ||
} ScePadTriggerEffectParam; | ||
|
||
#if defined(__cplusplus) && __cplusplus >= 201103L | ||
static_assert( sizeof( ScePadTriggerEffectParam ) == 120, "ScePadTriggerEffectParam has incorrect size" ); | ||
#endif | ||
|
||
#endif /* _SCE_PAD_TRIGGER_EFFECT_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.