-
Notifications
You must be signed in to change notification settings - Fork 0
Head LEDs
Tiogaplanet edited this page Aug 7, 2018
·
7 revisions
Take control of MiP's head LEDs.
void writeHeadLEDs(MiPHeadLED led1, MiPHeadLED led2, MiPHeadLED led3, MiPHeadLED led4)
void writeHeadLEDs(const MiPHeadLEDs& headLEDs)
Sets the state of the four eye LEDs on the MiP robot's head.
- led1 sets the state of led1 on the MiP robot's head. Valid states are MIP_HEAD_LED_OFF, MIP_HEAD_LED_ON, MIP_HEAD_LED_BLINK_SLOW, MIP_HEAD_LED_BLINK_FAST.
- led2 sets the state of led2 on the MiP robot's head. Valid states are MIP_HEAD_LED_OFF, MIP_HEAD_LED_ON, MIP_HEAD_LED_BLINK_SLOW, MIP_HEAD_LED_BLINK_FAST.
- led3 sets the state of led3 on the MiP robot's head. Valid states are MIP_HEAD_LED_OFF, MIP_HEAD_LED_ON, MIP_HEAD_LED_BLINK_SLOW, MIP_HEAD_LED_BLINK_FAST.
- led4 sets the state of led4 on the MiP robot's head. Valid states are MIP_HEAD_LED_OFF, MIP_HEAD_LED_ON, MIP_HEAD_LED_BLINK_SLOW, MIP_HEAD_LED_BLINK_FAST.
- headLEDs is an object which contains led1, led2, led3, and led4 fields for setting the state of all 4 LEDs.
class MiPHeadLEDs
{
public:
// ...
MiPHeadLED led1;
MiPHeadLED led2;
MiPHeadLED led3;
MiPHeadLED led4;
};Nothing
- The four head LEDs are numbered from left to right, with led1 being the leftmost and led4 being the rightmost.
#include <mip.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("HeadLEDs.ino - Use head LED functions. Should set each head LED to different state."));
mip.writeHeadLEDs(MIP_HEAD_LED_OFF, MIP_HEAD_LED_ON, MIP_HEAD_LED_BLINK_SLOW, MIP_HEAD_LED_BLINK_FAST);
MiPHeadLEDs headLEDs;
mip.readHeadLEDs(headLEDs);
Serial.println(F("Head LEDs"));
Serial.print(F(" led1: "));
printLEDString(headLEDs.led1);
Serial.print(F(" led2: "));
printLEDString(headLEDs.led2);
Serial.print(F(" led3: "));
printLEDString(headLEDs.led3);
Serial.print(F(" led4: "));
printLEDString(headLEDs.led4);
delay(4000);
// Turn all the LEDs back on now.
Serial.println(F("Turning all eye LEDs back on now."));
headLEDs.led1 = headLEDs.led2 = headLEDs.led3 = headLEDs.led4 = MIP_HEAD_LED_ON;
mip.writeHeadLEDs(headLEDs);
Serial.println();
Serial.println(F("Sample done."));
}
static void printLEDString(MiPHeadLED led) {
switch (led) {
case MIP_HEAD_LED_OFF:
Serial.println(F("Off"));
break;
case MIP_HEAD_LED_ON:
Serial.println(F("On"));
break;
case MIP_HEAD_LED_BLINK_SLOW:
Serial.println(F("Blink Slow"));
break;
case MIP_HEAD_LED_BLINK_FAST:
Serial.println(F("Blink Fast"));
break;
default:
Serial.println();
break;
}
}
void loop() {
}void readHeadLEDs(MiPHeadLEDs& headLEDs)
Reads the current setting for the MiP robot's four head LEDs.
- headLEDs is an object which contains led1, led2, led3, and led4 fields to be filled in with the current state of all 4 LEDs.
class MiPHeadLEDs
{
public:
// ...
MiPHeadLED led1;
MiPHeadLED led2;
MiPHeadLED led3;
MiPHeadLED led4;
};Nothing
- The 4 head LEDs are numbered from left to right, with led1 being the leftmost and led4 being the rightmost.
#include <mip.h>
MiP mip;
void setup() {
bool connectResult = mip.begin();
if (!connectResult) {
Serial.println(F("Failed connecting to MiP!"));
return;
}
Serial.println(F("HeadLEDs.ino - Use head LED functions. Should set each head LED to different state."));
mip.writeHeadLEDs(MIP_HEAD_LED_OFF, MIP_HEAD_LED_ON, MIP_HEAD_LED_BLINK_SLOW, MIP_HEAD_LED_BLINK_FAST);
MiPHeadLEDs headLEDs;
mip.readHeadLEDs(headLEDs);
Serial.println(F("Head LEDs"));
Serial.print(F(" led1: "));
printLEDString(headLEDs.led1);
Serial.print(F(" led2: "));
printLEDString(headLEDs.led2);
Serial.print(F(" led3: "));
printLEDString(headLEDs.led3);
Serial.print(F(" led4: "));
printLEDString(headLEDs.led4);
delay(4000);
// Turn all the LEDs back on now.
Serial.println(F("Turning all eye LEDs back on now."));
headLEDs.led1 = headLEDs.led2 = headLEDs.led3 = headLEDs.led4 = MIP_HEAD_LED_ON;
mip.writeHeadLEDs(headLEDs);
Serial.println();
Serial.println(F("Sample done."));
}
static void printLEDString(MiPHeadLED led) {
switch (led) {
case MIP_HEAD_LED_OFF:
Serial.println(F("Off"));
break;
case MIP_HEAD_LED_ON:
Serial.println(F("On"));
break;
case MIP_HEAD_LED_BLINK_SLOW:
Serial.println(F("Blink Slow"));
break;
case MIP_HEAD_LED_BLINK_FAST:
Serial.println(F("Blink Fast"));
break;
default:
Serial.println();
break;
}
}
void loop() {
}- 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