-
Notifications
You must be signed in to change notification settings - Fork 0
Icon Sound and Gesture Reference
The complete catalogs of named Icon, Sound, and Gesture values, plus the raw ids they map to. These are enums, so the compiler catches a typo -- Icon::Hart will not build, where a bare number never complains.
Used with Mouth::show() and Matrix::drawIcon(). These 21 shapes map to the built-in OttoDIYLib mouth table.
Icon:: |
Description |
|---|---|
Heart |
A heart |
Happy |
Open smile |
HappyClosed |
Closed happy mouth |
Smile |
A smile |
Sad |
A frown |
SadOpen |
Open sad mouth |
SadClosed |
Closed sad mouth |
Angry |
Angry mouth |
Surprised |
Big surprise, wide open |
SmallSurprise |
A small "oh" |
Confused |
Wavy, puzzled mouth |
TongueOut |
Sticking the tongue out |
Vampire1 |
Fangs, variant 1 |
Vampire2 |
Fangs, variant 2 |
Line |
Neutral straight mouth |
Diagonal |
A diagonal line |
Ok |
A check mark |
X |
A cross |
Question |
A question mark |
Thunder |
A lightning bolt |
Culito |
The classic Otto "culito" |
Digits 0 through 9 are shown separately with Mouth::showDigit(), not as icons.
The console mouth <name> command exposes a common subset by name: heart happy smile sad angry surprised confused tongue ok x question line. The full set above is reachable from code.
Used with Voice::play() and Buzzer::play(). These 19 sounds are the built-in OttoDIYLib songs.
Sound:: |
Typical use |
|---|---|
Hello |
Connection, greeting |
Goodbye |
Disconnection |
ButtonPushed |
Acknowledging input |
Mode1 |
Mode switch 1 |
Mode2 |
Mode switch 2 |
Mode3 |
Mode switch 3 |
Surprise |
Sudden event |
OhOoh |
Uh-oh |
OhOoh2 |
Uh-oh, variant |
Cuddly |
Affection |
Sleeping |
Going to sleep |
Happy |
Success |
SuperHappy |
Big success |
HappyShort |
Quick positive blip |
Sad |
Failure |
Confused |
"I do not understand" |
Fart1 |
A fart |
Fart2 |
A fart, variant |
Fart3 |
A fart, variant |
Used with Gestures::play() and LegServos::playGesture(). A gesture is a whole canned performance -- leg/foot movement, a face on the matrix, and a sound, choreographed together. These 13 map to the OttoDIYLib Otto* gesture ids, and the choreography itself lives in OttoDIYLib's playGesture().
Each gesture blocks for roughly 0.5 to 3 seconds (nothing else in loop() runs meanwhile) and self-resets at the end -- it returns to home() and shows a happy-open mouth.
Gesture:: |
What Otto does | Duration |
|---|---|---|
Happy |
Chirps, smiles, gives one side-to-side swing, plays a happy jingle | ~1 s |
SuperHappy |
The excited version: a happy song, rocks up on its tiptoes twice, then a super-happy song | ~2.5 s |
Sad |
Slumps into a drooped pose, frowns, and sighs down a scale of falling tones | ~2.5 s |
Sleeping |
Settles into a low "bed" pose and snores through an animated Zzz dream mouth (four breaths), then a cuddly sigh | ~3 s |
Fart |
A three-part rear-tilt routine with a tongue-out face and three escalating fart sounds | ~2.5 s |
Confused |
Cocks its head to one side with a wavy mouth and a puzzled warble | ~1 s |
Love |
Shows a heart, plays a cuddly tune, and sways through two slow crusaito steps | ~3.5 s |
Angry |
Scowls, stabs out sharp aggressive tones, and snaps its head left then right | ~2 s |
Fretful |
Anxious: tense tones, then nervously jitters a foot back and forth four times | ~1.5 s |
Magic |
A spell-casting ripple across the mouth with a rising/falling warble, four times. Face and sound only -- no body movement | ~3 s |
Wave |
A wave pattern scrolls across the LED mouth with a warbling sweep. A screen animation, not a physical wave -- for that use Arms::waveRight()
|
~4 s |
Victory |
Splays its feet outward with rising sci-fi tones, looks surprised, then celebrates with tiptoe rocks and a super-happy song | ~3 s |
Fail |
Sinks into a defeated collapse down a falling scale, shows X-eyes, then goes limp -- it detaches the servos with a long low groan -- before recovering | ~4 s |
Note Gestures move the legs, so they honour
Legs::disable()/Motion::disable(). On the bench, a disabled robot performs no gesture at all, rather than the face and sound without the movement. (MagicandWaveare the exceptions: they are mouth-and-sound only, so they still play while movement is disabled.)
Warning Two names mislead.
Waveis a mouth animation, not a greeting wave with a limb -- the physical wave isArms::waveRight(), a separate call on the Humanoid build.Faildeliberately goes limp mid-gesture (detachServos()), so the robot flopping before it recovers is expected, not a fault.
The Otto DIY app refers to gestures and sounds by number. AppLink maps them in the same order the official firmware uses: gesture H 1 is Gesture::Happy, sound K 1 is Sound::Hello, and so on down each list above.
OttoFlow is licensed under GPL-3.0 and wraps OttoDIYLib. Buy the kits at ottodiy.com.
Prologue
Getting Started
The Basics
Digging Deeper
- Bench Testing
- Serial Console
- Calibration
- Bluetooth and the Otto App
- Modules
- The Driver
- Extending OttoFlow
Reference