-
Notifications
You must be signed in to change notification settings - Fork 0
MiP
Signature: MiP()
Summary: Constructs the core MiP orchestrator object and binds subsystem references.
Details:
Initializes internal flags and resets error tracking states.
Signature: ~MiP()
Summary: Destructs the MiP orchestrator object and terminates connections.
Details:
Calls end() to restore robot defaults and close transport services.
Signature: bool begin()
Summary: Initializes the core UART connection to the MiP robot.
Details:
Attempts connection at both 115200 and 9600 baud rates with retries. Sets up debug output on Serial1 and prepares internal state.
Returns: true if successfully connected to MiP, false otherwise.
Signature: void end()
Summary: Cleans up the connection to MiP and shuts down network services.
Details:
Restores default volume, sends disconnect command, and ends Serial/WiFi/OTA.
Signature: void sleep()
Summary: Puts the MiP robot to sleep.
Details:
The robot will need to be physically reset before another begin() call.
Signature: bool isInitialized()
Summary: Check whether the MiP library has completed initialization.
Details:
Returns true when the internal initialization flag (MRI_FLAG_INITIALIZED) is set, indicating that begin() completed successfully and the MiP instance is ready for use. Returns false if initialization failed or has not yet been performed.
This accessor does not modify object state and has no side effects. Consider calling this before invoking API methods that require an active connection to the robot.
Returns: true if the MiP instance is initialized and ready; false otherwise.
Signature: int8_t lastCallResult()
Summary: Retrieves the error code from the most recently executed MiP API function.
Details:
The library automatically attempts to handle communication errors by retrying read/write operations behind the scenes. If an operation ultimately fails to recover, this function provides the specific reason for the failure.
Returns: int8_t The error code generated by the last operation (e.g., MIP_ERROR_NONE, MIP_ERROR_TIMEOUT, MIP_ERROR_BAD_RESPONSE).
Signature: bool didLastCallFail()
Summary: Checks if the most recently executed MiP API function encountered a critical error.
Details:
A quick convenience method to determine if a command was successful without needing to evaluate the specific error code.
Returns: true If the last operation failed (m_lastError is not MIP_ERROR_NONE).
Signature: void dispatchEvent(uint8_t command, const uint8_t *payload, size_t length)
Summary: Central dispatcher for all Out-of-Band events from the transport layer.
Details:
This method receives raw event data and routes it to the appropriate subsystem component (Clap, Gesture, Status, etc.).
Signature: void printLastCallResult()
Summary: Prints a human-readable description of the last error to the debug channel (Serial1).
Signature: constexpr uint8_t MIP_CMD_DISCONNECT_APP
Summary: MiP protocol command bytes related to core functions.
Details:
These values are placed in the first byte of requests sent to the MiP (and appear in the corresponding responses). See the official MiP BLE Protocol for the complete list.
Signature: constexpr uint8_t MIP_CMD_SLEEP
Signature: constexpr uint8_t MIP_CMD_GET_STATUS
Signature: constexpr uint8_t MIP_ERROR_NONE
Summary: Integer error codes that can be encountered by the MiP library.
Details:
Success.
Signature: constexpr uint8_t MIP_ERROR_TIMEOUT
Summary: Timed out waiting for response.
Signature: constexpr uint8_t MIP_ERROR_NO_EVENT
Summary: No event has arrived from MiP yet.
Signature: constexpr uint8_t MIP_ERROR_BAD_RESPONSE
Summary: Unexpected response from MiP.
Signature: constexpr uint8_t MIP_ERROR_MAX_RETRIES
Summary: Exceeded maximum retries.
Signature: MiP_Battery battery
Summary: Interface for battery voltage queries (see MPU_Battery.h).
Signature: MiP_ChestLED chestLED
Details:
Interface for chest LED RGB/flash control (see MPU_ChestLED.h).
Signature: MiP_Clap clap
Details:
Interface for clap detection and delay configuration (see MPU_Clap.h).
Signature: MiP_EEPROM eeprom
Details:
Interface for reading/writing non-volatile EEPROM (see MPU_EEPROM.h).
Signature: MiP_Gesture gesture
Details:
Interface for gesture detection mode and events (see MPU_Gesture.h).
Signature: MiP_HeadLEDs headLEDs
Details:
Interface for controlling head/eye LED patterns (see MPU_HeadLEDs.h).
Signature: MiP_Infrared infrared
Details:
Interface for IR remote control and MiP detection (see MPU_Infrared.h).
Signature: MiP_Mode mode
Summary: Interface for game and app mode selection (see MPU_Mode.h).
Signature: MiP_Motion motion
Details:
Interface for drive, turn, and posture control (see MPU_Motion.h).
Signature: MiP_Odometer odometer
Details:
Interface for reading and resetting distance odometer (see MPU_Odometer.h).
Signature: MiP_Position position
Details:
Interface for position and orientation state checks (see MPU_Position.h).
Signature: MiP_Radar radar
Summary: Interface for IR radar proximity tracking (see MPU_Radar.h).
Signature: MiP_Serial serial
Details:
Interface for low-level UART transport and event parsing (see MPU_Serial.h).
Signature: MiP_Shake shake
Summary: Interface for shake event detection (see MPU_Shake.h).
Signature: MiP_Sound sound
Details:
Interface for sound effects and volume control (see MPU_Sound.h).
Signature: MiP_Version version
Details:
Interface for querying hardware/software versions (see MPU_Version.h).
Signature: MiP_Weight weight
Details:
Interface for payload weight sensor queries (see MPU_Weight.h).
Signature: MiP_WiFi wifi
Details:
Interface for WiFi, OTA, and network management (see MPU_WiFi.h).
🔗 Quick Links: Main Repository • Report an Issue • Wiki Home
An open-source API for the WowWee MiP Robot. Licensed under Apache-2.0.
- MiP
- MiPChestLED
- MiPClapSettings
- MiPDebug
- MiPHardwareInfo
- MiPHeadLEDs
- MiPIRDongleCode
- MiPSoftwareVersion
- MiPStatus
- MiP_Battery
- MiP_ChestLED
- MiP_Clap
- MiP_EEPROM
- MiP_Gesture
- MiP_HeadLEDs
- MiP_Infrared
- MiP_Mode
- MiP_Motion
- MiP_Odometer
- MiP_Position
- MiP_Radar
- MiP_Serial
- MiP_Shake
- MiP_Sound
- MiP_Version
- MiP_Weight
- MiP_WiFi