KallistiOS git master
Independent SDK for the Sega Dreamcast
|
Maple driver for vibration pack peripherals More...
Files | |
file | purupuru.h |
Definitions for using the Puru Puru (Jump) Pack. | |
Data Structures | |
struct | purupuru_effect_t |
Effect generation structure. More... | |
Macros | |
#define | PURUPURU_EFFECT2_UINTENSITY(x) |
Upper-nibble of effect2 convenience macro. | |
#define | PURUPURU_EFFECT2_LINTENSITY(x) |
Lower-nibble of effect2 convenience macro. | |
#define | PURUPURU_EFFECT2_DECAY (8 << 4) |
Give a decay effect to the rumble on some packs. | |
#define | PURUPURU_EFFECT2_PULSE (8) |
Give a pulse effect to the rumble. | |
#define | PURUPURU_EFFECT1_INTENSITY(x) |
Upper nibble of effect1 convenience macro. | |
#define | PURUPURU_EFFECT1_PULSE (8 << 4) |
Give a pulse effect to the rumble. | |
#define | PURUPURU_EFFECT1_POWERSAVE (15) |
Ignore this command. | |
#define | PURUPURU_SPECIAL_MOTOR1 (1 << 4) |
Select motor #1. | |
#define | PURUPURU_SPECIAL_MOTOR2 (1 << 7) |
Select motor #2. | |
#define | PURUPURU_SPECIAL_PULSE (1) |
Yet another pulse effect. | |
Functions | |
int | purupuru_rumble (maple_device_t *dev, purupuru_effect_t *effect) |
Send an effect to a jump pack. | |
int | purupuru_rumble_raw (maple_device_t *dev, uint32 effect) |
Send a raw effect to a jump pack. | |
Maple driver for vibration pack peripherals
#define PURUPURU_EFFECT1_INTENSITY | ( | x | ) |
Upper nibble of effect1 convenience macro.
This macro is for setting the upper nibble of the effect1 field of the purupuru_effect_t. This value works with the lower nibble of the effect2 field to increase the intensity of the rumble effect. Valid values are 0-7.
#define PURUPURU_EFFECT1_POWERSAVE (15) |
Ignore this command.
Most jump packs will ignore commands with this set in effect1, apparently.
#define PURUPURU_EFFECT1_PULSE (8 << 4) |
Give a pulse effect to the rumble.
This probably should be used with PURUPURU_EFFECT2_PULSE as well.
#define PURUPURU_EFFECT2_DECAY (8 << 4) |
Give a decay effect to the rumble on some packs.
#define PURUPURU_EFFECT2_LINTENSITY | ( | x | ) |
Lower-nibble of effect2 convenience macro.
This macro is for setting the lower nibble of the effect2 field of the purupuru_effect_t. This value works with the upper nibble of the effect1 field to increase the intensity of the rumble effect. Valid values are 0-7.
#define PURUPURU_EFFECT2_PULSE (8) |
Give a pulse effect to the rumble.
This probably should be used with PURUPURU_EFFECT1_PULSE as well.
#define PURUPURU_EFFECT2_UINTENSITY | ( | x | ) |
Upper-nibble of effect2 convenience macro.
This macro is for setting the upper nibble of the effect2 field of the purupuru_effect_t. This apparently lowers the rumble's intensity somewhat. Valid values are 0-7.
#define PURUPURU_SPECIAL_MOTOR1 (1 << 4) |
Select motor #1.
Most jump packs only have one motor, but on things that do have more than one motor (like PS1->Dreamcast controller adapters that support rumble), this selects the first motor.
#define PURUPURU_SPECIAL_MOTOR2 (1 << 7) |
Select motor #2.
Most jump packs only have one motor, but on things that do have more than one motor (like PS1->Dreamcast controller adapters that support rumble), this selects the second motor.
#define PURUPURU_SPECIAL_PULSE (1) |
Yet another pulse effect.
This supposedly creates a sharp pulse effect.
int purupuru_rumble | ( | maple_device_t * | dev, |
purupuru_effect_t * | effect ) |
Send an effect to a jump pack.
This function sends an effect created with the purupuru_effect_t structure to a jump pack to be executed.
dev | The device to send the command to. |
effect | The effect to send. |
MAPLE_EOK | On success. |
MAPLE_EAGAIN | If the command couldn't be sent. Try again later. |
MAPLE_ETIMEOUT | If the command timed out while blocking. |
int purupuru_rumble_raw | ( | maple_device_t * | dev, |
uint32 | effect ) |
Send a raw effect to a jump pack.
This function sends an effect to a jump pack to be executed. This is for if you (for some reason) don't want to use purupuru_effect_t to build the effect up.
dev | The device to send the command to. |
effect | The effect to send. |
MAPLE_EOK | On success. |
MAPLE_EAGAIN | If the command couldn't be sent. Try again later. |
MAPLE_ETIMEOUT | If the command timed out while blocking. |