RAMP
Arduino Interpolation Library
Install / Use
/learn @siteswapjuggler/RAMPREADME
RAMP
Arduino Interpolation Library
New objects
The library add a class template to manage interpolation beetween values of various data types.
- ramp default ramp object for "byte" interpolation
- rampByte ramp object for "byte" interpolation
- rampUnsignedChar ramp object for "unsigned char" interpolation
- rampChar ramp object for "char" interpolation
- rampInt ramp object for "int" interpolation
- rampUnsignedInt ramp object for "unsigned int" interpolation
- rampLong ramp object for "long" interpolation
- rampUnsignedLong ramp object for "unsigned long" interpolation
- rampFloat ramp object for "float" interpolation
- rampDouble ramp object for "double" interpolation
Methods
-
go() go to a new value
-
pause() pause the interpolation
-
resume() resume from pause
-
update() update value of the interpolation according to its parameters
-
getValue() get actual value of the interpolation
-
getOrigin() get last origin value of the interpolation
-
getTarget() get last target value of the interpolation
-
getCompletion() get the completion percentage of the interpolation
-
getDuration() get last duration of the interpolation / milliseconds
-
setGrain() set interpolation grain
-
setAutomation() set automation mode
-
isPaused() pause state
-
isRunning() running state
-
isFinished() finish state
Examples
First you need to instanciate the object as a global variable :
ramp myRamp;
Then you need to a new value to reach :
myRamp.go(new_value, (ramp_duration_in_ms), (ramp_mode), (loop_mode));
At least you'll need to update to get the actual interpolation value :
myInterpolationValue = myRamp.update();
Unless mentionned all time/duration values are in ms.
Interpolation mode
- NONE
- LINEAR
- QUADRATIC_IN
- QUADRATIC_OUT
- QUADRATIC_INOUT
- CUBIC_IN
- CUBIC_OUT
- CUBIC_INOUT
- QUARTIC_IN
- QUARTIC_OUT
- QUARTIC_INOUT
- QUINTIC_IN
- QUINTIC_OUT
- QUINTIC_INOUT
- SINUSOIDAL_IN
- SINUSOIDAL_OUT
- SINUSOIDAL_INOUT
- EXPONENTIAL_IN
- EXPONENTIAL_OUT
- EXPONENTIAL_INOUT
- CIRCULAR_IN
- CIRCULAR_OUT
- CIRCULAR_INOUT
- ELASTIC_IN
- ELASTIC_OUT
- ELASTIC_INOUT
- BACK_IN
- BACK_OUT
- BACK_INOUT
- BOUNCE_IN
- BOUNCE_OUT
- BOUNCE_INOUT
Loop mode
- ONCEFORWARD
- LOOPFORWARD
- FORTHANDBACK
- ONCEBACKWARD
- LOOPBACKWARD
- BACKANDFORTH
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
