Skip to content
momysnow edited this page Feb 22, 2024 · 10 revisions

Caution, many parts of the documentation may still be in the process of being written or undergoing changes.

Welcome to the Momy-Desk-Robot wiki!

In this documentation, everything related to the robot is explained, and the information is divided into pages:

This is the order to follow to complete the project. In the Build section, everything concerning the physical construction of the robot, the electronic and mechanical components, how to print the parts, and the assembly is explained. The Firmware section covers everything related to the programming of the robot, from the programs to use to the specific code. In the Common Mistakes section, you can find the most common or noteworthy errors that I myself have made. Meanwhile, in the Tool section, all the tools that can be useful for customizing the robot are listed. If you need any explanations or have suggestions, feel free to write to me without any problems.

To simplify communication, I have set up a Discord Server where you can receive real-time updates on the project and reach out to me for anything, ensuring more timely responses.

Usage

Coming Soon

Workflow

Introduction

The code is divided into two fundamental parts: setup and tasks. The setup initializes all components, checks for possible errors, and allows setting up all parts correctly. The tasks, on the other hand, are the beating heart of the robot, enabling the management of all its activities.

Explanation of Tasks

The code utilizes the FreeRTOS operating system to manage tasks concurrently. The main tasks are:

firmware task

  1. AnimationTask: This task manages the animations of the device's eyes. It alternates between an appearance of open eyes and closed eyes.

  2. temp_sensorTask: This task constantly monitors the temperature and, if it detects a critical temperature, displays a warning image on the display and puts the device into sleep mode to conserve energy.

  3. TouchTask: This task manages interaction with the touchscreen. It monitors touch on the touchscreen and, if it detects a touch above a certain threshold, performs an animation and updates the emotional state of the device.

  4. StreamVideoTask: This task manages the continuous loading of images from the camera to a remote server.

  5. EmotionTask: This task handles the processing of the device's emotions. Currently, it appears to be empty and requires implementation.

  6. AudioStreamTask: Coming soon.

Explanation of Features

firmware features