Merge branch 'virbra-fix' into 'main'
vibra-pattern: Don't overwrite magnitudes See merge request agx/feedbackd!177
This commit is contained in:
@@ -184,29 +184,29 @@ do_pattern_step (FbdFeedbackVibraPattern *self)
|
|||||||
{
|
{
|
||||||
FbdFeedbackManager *manager = fbd_feedback_manager_get_default ();
|
FbdFeedbackManager *manager = fbd_feedback_manager_get_default ();
|
||||||
FbdDevVibra *dev = fbd_feedback_manager_get_dev_vibra (manager);
|
FbdDevVibra *dev = fbd_feedback_manager_get_dev_vibra (manager);
|
||||||
double *magnitude;
|
double magnitude;
|
||||||
guint *duration;
|
guint duration;
|
||||||
|
|
||||||
magnitude = &g_array_index (self->magnitudes, double, self->pos);
|
magnitude = g_array_index (self->magnitudes, double, self->pos);
|
||||||
duration = &g_array_index (self->durations, guint, self->pos);
|
duration = g_array_index (self->durations, guint, self->pos);
|
||||||
|
|
||||||
g_debug ("step: pos: %d/%d, magn: %f, timeout %u",
|
g_debug ("step: pos: %d/%d, magn: %f, timeout %u",
|
||||||
self->pos,
|
self->pos,
|
||||||
self->durations->len,
|
self->durations->len,
|
||||||
*magnitude,
|
magnitude,
|
||||||
*duration);
|
duration);
|
||||||
|
|
||||||
/* Removing any pending effect */
|
/* Remove any pending effect */
|
||||||
fbd_dev_vibra_remove_effect (dev);
|
fbd_dev_vibra_remove_effect (dev);
|
||||||
|
|
||||||
if (*magnitude != 0.0) {
|
if (magnitude != 0.0) {
|
||||||
double max_strength = fbd_feedback_vibra_get_max_strength (FBD_FEEDBACK_VIBRA (self));
|
double max_strength = fbd_feedback_vibra_get_max_strength (FBD_FEEDBACK_VIBRA (self));
|
||||||
|
|
||||||
*magnitude = MIN (*magnitude, max_strength);
|
magnitude = MIN (magnitude, max_strength);
|
||||||
fbd_dev_vibra_rumble (dev, *magnitude, *duration, TRUE);
|
fbd_dev_vibra_rumble (dev, magnitude, duration, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
self->timer_id = g_timeout_add_once (*duration,
|
self->timer_id = g_timeout_add_once (duration,
|
||||||
on_timer_expired,
|
on_timer_expired,
|
||||||
self);
|
self);
|
||||||
g_source_set_name_by_id (self->timer_id, "feedback-vibra-pattern-timer");
|
g_source_set_name_by_id (self->timer_id, "feedback-vibra-pattern-timer");
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2020 Purism SPC
|
* Copyright (C) 2020 Purism SPC
|
||||||
|
* 2024-2025 The Phosh Developers
|
||||||
|
*
|
||||||
* SPDX-License-Identifier: GPL-3.0+
|
* SPDX-License-Identifier: GPL-3.0+
|
||||||
|
*
|
||||||
* Author: Guido Günther <agx@sigxcpu.org>
|
* Author: Guido Günther <agx@sigxcpu.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user