|
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) (x << 4) |
| Upper-nibble of effect2 convenience macro. | |
| #define | PURUPURU_EFFECT2_LINTENSITY(x) (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) (x << 4) |
| 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 | ) | (x << 4) |
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 | ) | (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 | ) | (x << 4) |
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. |