Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FULL INTEGRATION #3

Draft
wants to merge 21 commits into
base: master
Choose a base branch
from
Draft

FULL INTEGRATION #3

wants to merge 21 commits into from

Conversation

Ptibibi
Copy link
Owner

@Ptibibi Ptibibi commented Nov 15, 2024

FULL INTEGRATION from Ptibibi/OSSM-hardware

PR 1 to 6 ready to review and integration in KinkyMakers/OSSM-hardware

Ready cherry-pick details:

Wainting cherry-pick, too far from KinkyMakers/OSSM-hardware at moment:

  • Ptibibi/stroke engine api speed#6 - cherry-pick
    • Accept incoming change in OSSM.StrokeEngine.cpp and remove stop.motion if speed = 0 ">>>>>>> 282278a (StrokeEngine: Improving pattern security input)"
  • Ptibibi/stroke engine idle mode#7 - cherry-pick only second commit "53f9aaa84a85bc6e18df1aaf95f0af1f7b83807d"
    • Accept current change in OSSM.StrokeEngine.cpp ">>>>>>> 53f9aaa (StrokeEngine: add idle mode in pattern)"
  • SimplePenetration: migrate in StrockeEngine #1 - cherry-pick
    • Accept current change in pattern.h ">>>>>>> b2c0913 (StrokeEngine: replace "SimpleStroke" by "SimplePenetraion" pattern)"
    • Accept incoming change in pattern.h ">>>>>>> b2c0913 (StrokeEngine: replace "SimpleStroke" by "SimplePenetraion" pattern)"
    • Accept incoming change in pattern.h ">>>>>>> b2c0913 (StrokeEngine: replace "SimpleStroke" by "SimplePenetraion" pattern)"
    • Accept current change in pattern.h and replace STROKE by DEPTH ">>>>>>> b2c0913 (StrokeEngine: replace "SimpleStroke" by "SimplePenetraion" pattern)"
    • Accept current change in OSSM.PlayControls.cpp and remove line menuString ">>>>>>> de086a6 (SimplePenetration: Remove integration to use only StrokeEngine)"
    • Ignore current and incoming change in OSSM.PlayControls.cpp ">>>>>>> de086a6 (SimplePenetration: Remove integration to use only StrokeEngine)"
    • Accept current change in OSSM.PlayControls.cpp ">>>>>>> de086a6 (SimplePenetration: Remove integration to use only StrokeEngine)"
    • Accept incoming change in OSSM.PlayControls.cpp and add next. ">>>>>>> de086a6 (SimplePenetration: Remove integration to use only StrokeEngine)"
    • Accept current change in OSSM.Preflight.cpp and remove simplePenetration.preflight check >>>>>>> de086a6 (SimplePenetration: Remove integration to use only StrokeEngine)"
    • Remove file OSSM.SimplePenetration.cpp
    • Accept incoming change in OSSM.h ">>>>>>> de086a6 (SimplePenetration: Remove integration to use only StrokeEngine)"

TODO:

@Ptibibi Ptibibi marked this pull request as draft November 15, 2024 12:59
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch 3 times, most recently from 6ab45da to e344b9d Compare November 15, 2024 14:30
@Ptibibi Ptibibi changed the title StrokeEngine: fix: drive StrokeEngine by speed FULL INTEGRATION Nov 15, 2024
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from e344b9d to 733cbcb Compare November 15, 2024 21:35
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch 3 times, most recently from 603497f to 2e0fa66 Compare November 29, 2024 08:10
ptibibi and others added 6 commits November 29, 2024 10:45
Reduce injurie risk by appling lerp to limit brutal variation of inputs

Removing speedKnob variable from SettingPercents
- replaced by speed in SimlplePenetration integration file
Code grouping by usage
Update settingBar & settingBarSmall to show lerp variation on inputs

Signed-off-by: benoit robert <[email protected]>
reducing default values to reduce injurie risck

Signed-off-by: benoit bobert <[email protected]>
identify and skip an motion update case to avoid crash
increase accel for others motion update case to avoid crash
support skip motion with update flag

Signed-off-by: benoit bobert <[email protected]>
Simplify code for encoder management
Simplify code to make a menu loop
Split code to select menu option and drawing menu

Signed-off-by: benoit bobert <[email protected]>
Create an sub-menu for settings
Move settings selection from Menu to MenuSettings

Signed-off-by: benoit bobert <[email protected]>
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from 2e0fa66 to 74ad2cd Compare November 29, 2024 12:59
To init stepper and remote in safe state

Signed-off-by: benoit bobert <[email protected]>
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from 74ad2cd to dc51d36 Compare November 29, 2024 13:21
task available for strokeEngine.transition state
if speed is set at 0% before strepper is at home position
task is not finished correctly and stepper is not in correct step

Signed-off-by: benoit bobert <[email protected]>
Create strokeEngine.transition state
Set Preflight before return in idle (safe stepper position)

Signed-off-by: benoit bobert <[email protected]>
add strokeEngine.transition state in available state
motion stepper only in idle state
steeper init position is set by homing function

Signed-off-by: benoit bobert <[email protected]>
Drive pattern by speed and not by time of stroke

More intuitive and predictive motion
Updating depth of stroke will not change speed, not the case with
timeOfStroke input
Cointrains input between 0 and maxSpeed defined in config

Signed-off-by: benoit bobert <[email protected]>
idle mode disable stroke and set stepper in secure position

idle mode is enable if speed is set to 0
default secure stepper position is depth - stroke
using depth and stroke inputs to set stepper position without stroking
motion

Signed-off-by: benoit bobert <[email protected]>
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from 059a406 to 40eaa20 Compare November 29, 2024 17:38
Needed to migrate "SimplePenetration" code in StrokeEngine

SimpleStroke is an "TeasingPounding" pattern with senastion at 50%
Replace this duplicated pattern by new "SimplePenetration" pattern
Same usage with legacy SimplePenetration code, only speed and depth
control

Signed-off-by: benoit bobert <[email protected]>
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from 40eaa20 to 820511e Compare November 29, 2024 17:48
Only one motion engine

Remove legacy code of SimplePenetration
Update inputs cmd order in remote screen "stroke/depth/sensation" >
"depth/stroke/sensation"
Show only "depth" cmd when "SimplePenetration" pattern is selecte
Remove all ref at SimplePenetration legacy code to use only StrokeEngine

Signed-off-by: benoit bobert <[email protected]>
This is more intuitive for users

Signed-off-by: benoit bobert <[email protected]>
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from 820511e to 4a94b5a Compare November 29, 2024 20:07
create bool reset_pattern to reset index to restart pattern in initial
state

Signed-off-by: benoit bobert <[email protected]>
Signed-off-by: benoit bobert <[email protected]>
@Ptibibi Ptibibi force-pushed the ptibibi/integration branch from d132391 to 39a0e51 Compare February 12, 2025 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant