#pragma once #include enum Mood : uint8_t { MOOD_NORMAL = 0, MOOD_HAPPY, MOOD_SLEEPY, MOOD_SURPRISED, MOOD_ANGRY, MOOD_SAD, MOOD_EXCITED, MOOD_WINK_L, MOOD_WINK_R, MOOD_HUNGRY, MOOD_PLAYFUL, MOOD_DIRTY, MOOD_ALERT }; enum BlinkState : uint8_t { BLINK_OPEN, BLINK_CLOSING, BLINK_CLOSED, BLINK_OPENING }; struct BuddyState { Mood mood; uint32_t revertAt; uint32_t lastEvent; BlinkState blinkState; uint8_t blinkRy; uint8_t closedTicks; uint32_t nextBlink; int8_t pupilDx, pupilDy; int8_t pupilTargetDx, pupilTargetDy; uint32_t nextLook; uint8_t zzzPhase; uint32_t nextZzz; uint32_t nextMicroTremor; };