-
Notifications
You must be signed in to change notification settings - Fork 0
Position
Tiogaplanet edited this page Oct 26, 2018
·
3 revisions
- readPosition()
- isOnBack()
- isFaceDown()
- isUpright()
- isPickedUp()
- isHandStanding()
- isFaceDownOnTray()
- isOnBackWithKickstand()
MiPPosition readPosition()
Read MiP's current position.
None
One of the values from the following table:
MiPPosition Value |
---|
MIP_POSITION_ON_BACK |
MIP_POSITION_FACE_DOWN |
MIP_POSITION_UPRIGHT |
MIP_POSITION_PICKED_UP |
MIP_POSITION_HAND_STAND |
MIP_POSITION_FACE_DOWN_ON_TRAY |
MIP_POSITION_ON_BACK_WITH_KICKSTAND |
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP's status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isOnBack()
Is MiP currently lying on its back?
None
- true if MiP is currently lying on its back.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isFaceDown()
Is MiP currently lying on its front?
None
- true if MiP is currently lying on its front.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isUpright()
Is MiP currently standing upright and self-balancing?
None
- true if MiP is currently standing up right and self-balancing.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isPickedUp()
Has the user picked up MiP?
None
- true if MiP has been picked up by the user.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isHandStanding()
Is MiP currently in a hand stand pose?
None
- true if MiP is currently in a hand stand pose.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isFaceDownOnTray()
Is MiP currently face down on the tray?
None
- true if MiP is currently face down on the tray.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}
bool isOnBackWithKickstand()
Is MiP currently laying back on its kickstand?
None
- true if MiP is currently laying back on its kickstand.
- false otherwise.
- These status updates are usually sent every 30 seconds or earlier if MiP detects a change in position.
#include <mip_esp8266.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("Status.ino - Display MiP status as it changes."));
}
void loop() {
static float lastBatteryLevel = 0.0f;
static MiPPosition lastPosition = (MiPPosition) - 1;
float currentBatteryLevel = mip.readBatteryVoltage();
MiPPosition currentPosition = mip.readPosition();
if (currentBatteryLevel != lastBatteryLevel) {
Serial.print(F("Battery: "));
Serial.print(currentBatteryLevel);
Serial.println(F("V"));
lastBatteryLevel = currentBatteryLevel;
}
if (currentPosition != lastPosition) {
if (mip.isOnBack()) {
Serial.println(F("Position: On Back"));
}
if (mip.isFaceDown()) {
Serial.println(F("Position: Face Down"));
}
if (mip.isUpright()) {
Serial.println(F("Position: Upright"));
}
if (mip.isPickedUp()) {
Serial.println(F("Position: Picked Up"));
}
if (mip.isHandStanding()) {
Serial.println(F("Position: Hand Stand"));
}
if (mip.isFaceDownOnTray()) {
Serial.println(F("Position: Face Down on Tray"));
}
if (mip.isOnBackWithKickstand()) {
Serial.println(F("Position: On Back With Kickstand"));
}
lastPosition = currentPosition;
}
}