42 lines
769 B
C
42 lines
769 B
C
#pragma once
|
|
#include <stdint.h>
|
|
|
|
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;
|
|
};
|