Driving Features |
|
|
|
|
|
Distance Drive |
0x70 |
->Miposour |
5 |
BYTE 1 : Forward: 0X00 or Backward: 0X01 |
20 commands are queued |
|
|
|
|
BYTE 2 : Distance (cm): 0x00-0xFF |
No speed control |
|
|
|
|
BYTE 3 : Turn Clockwise: 0X00 or Anti-clockwise: 0X01 |
|
|
|
|
|
BYTE 4 : Turn Angle(High byte): 0x00~0x01 |
|
|
|
|
|
BYTE 5 : Turn Angle(Low byte): 0x00~0xFF |
Note:0x0000(0)~0x0168(360) |
|
|
|
|
|
|
Drive forward with Time |
0x71 |
->Miposour |
2 |
BYTE 1 : Speed (0~40) |
|
|
|
|
|
BYTE 2 : Time in 7ms intervals (0~255) |
35ms |
|
|
|
|
|
|
Drive backward with Time |
0x72 |
->Miposour |
2 |
BYTE 1 : Speed (0~40) |
|
|
|
|
|
BYTE 2 : Time in 7ms intervals (0~255) |
Time = Byte2 Value * 7ms |
|
|
|
|
|
|
Turn left by Angle |
0x73 |
->Miposour |
2 |
BYTE 1 : Angle in intervals of 5 degrees (0~255) |
Angle = Byte1 Value * 5 |
|
|
|
|
BYTE 2 : Speed (0~24) |
|
|
|
|
|
|
|
Turn right by Angle |
0x74 |
->Miposour |
2 |
BYTE 1 : Angle in intervals of 5 degrees (0~255) |
Angle = Byte1 Value * 5 |
|
|
|
|
BYTE 2 : Speed (0~24) |
|
|
|
|
|
|
|
Continuous Drive |
0x78 |
->Miposour |
2 |
Fw:0x01(slow)~-0x20(fast) |
Buffer = 0 |
|
|
|
|
OR Bw:0x21(slow)~0x40(fast) |
This command is for single drive or turn |
|
|
|
|
right spin:0x41(slow)~0x60(fast) |
Note:Sending per 50ms if held |
|
|
|
|
OR Left spin:0x61(slow)~0x80(fast) |
|
|
|
|
|
|
|
|
|
|
|
Carzy Fw:0x81(slow)~-0xA0(fast) |
|
|
|
|
|
OR Carzy Bw:0x81(slow)~0xC0(fast) |
|
|
|
|
|
Carzy right spin:0xC1(slow)~0xE0(fast) |
|
|
|
|
|
OR Carzy Left spin:0xE1(slow)~0xFF(fast) |
|
|
|
|
|
|
|
Interaction Features |
|
|
|
|
|
Play Animation |
0x76 |
->Miposour |
1 |
BYTE 1 : AnimationID |
The same as cancel Gesture and Radar. If we send multiple play animation command, they should queue up |
|
|
|
|
BYTE 2 : 0x00 - Enable Sound, 0x01 - Disable Sound |
|
Play Animation Finished |
0x76 |
iOS <- |
1 |
BYTE 1 : AnimationID |
Send back to APP when animation finish |
|
|
|
|
|
|
Play Sound |
0x06 |
->Miposour |
1 |
BYTE 1 : Sound file index (1~106) or send 0xF7-0xFE for volume |
Send 105 to stop playing |
|
|
|
2 |
BYTE 2 : Delay in intervals of 30ms (0~255) |
|
|
|
|
|
… (repeat sound file index then delay for as many files as you want to play) |
|
|
|
|
17 |
BYTE 17 : Number of times to repeat (0-255) |
Only need to send if you want the sequence to repeat |
|
|
|
|
|
|
Battery/Position Features |
|
|
|
|
|
Request Miposour Status |
0x79 |
-> Miposour |
- |
|
|
Miposour Status |
0x79 |
iOS <- |
4 |
BTYE 1 : Battery Level :0x4D(4.0V)-0x7C(6.4V) |
|
|
|
|
|
BYTE 2 : Position Status |
|
|
|
|
|
On Front - Can't Get up: 0x00 |
|
|
|
|
|
On Front: 0x01 |
|
|
|
|
|
Upright: 0x02 |
Note:Send one time per 30 seconds |
|
|
|
|
On Back: 0x03 |
Note:it will be sent after(connecting,falldown,pickup….) |
|
|
|
|
Sleeping Position:0x09 |
|
|
|
|
|
Picked up - Upright: 0x07 |
|
|
|
|
|
BYTE 3 : 0x00:Annoyed 0x01:Curious 0x02:Excited |
|
|
|
|
|
BYTE 4: 0x00:Normal battery 0x01:rechargeable battery |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set Miposour Position |
0x08 |
-> Miposour |
1 |
BYTE 1 : On back: 0x00, Face down: 0x01, Upright: 0x02 |
|
|
|
|
|
|
|
Shake Detected |
0x1A |
iOS <- |
1 |
- |
|
Delay time between two claps |
0x20 |
-> Miposour |
2 |
BYTE1(high)~BYTE2(low)(Delay time by two clap) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ball Detection Features |
|
|
|
|
|
Miposour Ball Situation 1 |
0x09 |
iOS <- |
6 |
BYTE 1 : 0x01:Dance 0x02:Meat 0x03:TeddyBear 0x04:Ball 0x05:Leash 0x06:Nest |
|
|
|
|
|
BYTE 2 :0x01:Shaking as standing 0x02:Shaking as sitting |
|
|
|
|
|
BYTE 3 :0x01 - Beam off |
|
|
|
|
|
BYTE 4 :0x01:Short range as standing 0x02:Short range as sitting |
|
|
|
|
|
BYTE 5 :0x01~0xFF - Clap times |
|
|
|
|
|
BYTE 6 : 0x01:See object on left 0x02:See object on center 0x03:See object on Right |
|
|
|
|
|
|
|
Miposour Ball Situation 2 |
0x17 |
iOS <- |
1 |
BYTE 1 :0x01--Got the Dance IR code data in Ball dancing mode |
|
|
|
|
|
|
|
Miposour Ball Situation 3 |
0x15 |
iOS <- |
2 |
BYTE 1 :0x01~0xFF--range |
|
|
|
|
|
BYTE 2 :0x00:>=0 angle 0x01:<0 angle |
|
|
|
|
|
BYTE 3 :angel |
|
|
|
|
|
|
|
|
|
|
|
|
|
LED Features |
|
|
|
|
|
Request Chest LED |
0x83 |
->Miposour |
- |
- |
|
Chest LED |
0x83 |
iOS <- |
3 |
BYTE 1 : Red (0~255) |
|
|
|
|
|
BYTE 2 : Green (0~255) |
|
|
|
|
|
BYTE 3 : Blue (0~255) |
|
|
|
|
|
BYTE 4 : if flashing then, TIME ON in 10ms intervals (0255) else Fade in time in 10ms intervals (0255) |
|
|
|
|
|
BYTE 5 : if flashing then, TIME OFF in 10ms intervals (0~255) else will only be 4 bytes |
|
|
|
|
|
|
|
Set Chest LED |
0x84 |
->Miposour |
4 |
BYTE 1 : Red (0~255) |
|
|
|
|
|
BYTE 2 : Green (0~255) |
|
|
|
|
|
BYTE 3 : Blue (0~255) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Flash Chest LED |
0x89 |
->Miposour |
4 |
BYTE 1 : Red (0~255) |
Value of 0 means LED color will be changed immediately |
|
|
|
|
BYTE 2 : Green (0~255) |
|
|
|
|
|
BYTE 3 : Blue (0~255) |
|
|
|
|
|
BYTE 4 : TIME ON in 20ms intervals (0~255) |
|
|
|
|
|
BYTE 5 : TIME OFF in 20ms intervals (0~255) |
|
|
|
|
|
|
|
Set Head LED |
0x8A |
->Miposour |
2 |
BYTE 1 : Eyes On time |
Time on = Byte4 Value * 8ms |
|
|
|
|
BYTE 2 : Eyes Off time |
Time off = Byte5 Value * 8ms |
|
|
|
|
BYTE 3 : Eyes flash times |
1~255 |
|
|
|
|
|
|
Request Head LED |
0x8B |
->Miposour |
- |
|
|
Head LED |
0x8B |
iOS <- |
3 |
BYTE 1 : Eyes On time |
|
|
|
|
|
BYTE 2 : Eyes Off time |
|
|
|
|
|
BYTE 3 : Eyes flash times |
|
|
|
|
|
|
|
|
|
|
|
|
|
IR/Gesture Detection |
|
|
|
|
|
Set Gesture Or Radar Mode |
0x0C |
->Miposour |
- |
BYTE 1 : |
|
|
|
|
|
0x00: Keep IDLE mode Gesture or Radar(Radar:Sit down or face down Gesture:stand up) |
|
|
|
|
|
0x01: Disable Gesture and Radar |
|
|
|
|
|
0x02: Enable Gesture only |
|
|
|
|
|
0x03: Enable Radar only |
|
|
|
|
|
|
|
Get IR Status |
0x0D |
->Miposour |
- |
- |
|
IR Status |
0x0D |
iOS <- |
1 |
BYTE 1 : |
|
|
|
|
|
0x00: Keep IDLE mode Gesture or Radar(Radar:Sit down or face down Gesture:stand up) |
|
|
|
|
|
0x01: Disable Gesture and Radar |
|
|
|
|
|
0x02: Enable Gesture only |
|
|
|
|
|
0x03: Enable Radar only |
|
|
|
|
|
|
|
Miposaur Detection Mode |
0x0E |
-> Miposaur |
2 |
BYTE 1 : Off: 0x00, On: 0x1-255 for ID number |
|
|
|
|
|
BYTE 2 : Set IR Tx power(1120)(About 1cm300cm) |
|
Request Miposaur Detection Mode |
0x0F |
-> Miposaur |
- |
- |
|
Miposaur Detection Status |
0x0F |
iOS <- |
2 |
BYTE 1 : Off: 0x00, On: 0x1-255 for ID number |
This constantly 'pings' other MiPs/MiPosaurs to check if any are in range. When this is enabled it will automatically disable Radar mode & gesture mode |
|
|
|
|
BYTE 2 : Set IR Tx power(1120)(About 1cm300cm) |
|
Miposaur Detected |
0x04 |
iOS <- |
1 |
BYTE 1 : ID number,if got the 0x00 means find one MiPosaur without setting number |
|
|
|
|
|
|
|
Set Mood |
0x0B |
-> Miposour |
1 |
BYTE 1 : 0x00:Annoyed 0x01:Curious 0x02:Excited |
|
|
|
|
|
|
|
|
|
|
|
|
|
Gesture and Radar Detect |
0x0A |
IOS<- |
1 |
BYTE 1 : |
|
|
|
|
|
0x01 - Swipe Front (L->R) |
|
|
|
|
|
0x02 - Swipe Front (R->L) |
|
|
|
|
|
0x03 - Swipe Around (L->R->B) |
|
|
|
|
|
0x04 - Swipe Around (R->L->B) |
|
|
|
|
|
0x05 - Hold Front and Back |
|
|
|
|
|
0x06 - Front Towards |
|
|
|
|
|
0x07 - Back Towards |
|
|
|
|
|
0x08- Pulled |
|
|
|
|
|
0x09- Pushed |
|
|
|
|
|
0x0A- Seated_Backward |
|
|
|
|
|
0x0B- Seated_Left |
|
|
|
|
|
0x0C- Seated_Right |
|
|
|
|
|
0x0D- Seated_Center |
|
|
|
|
|
|
|
Miposour Detected |
0x04 |
iOS <- |
1 |
BYTE 1 : ID number,if got the 0x00 means find one Miposour without setting number |
|
|
|
|
|
|
|
Send IR Dongle code |
0x8C |
-> Miposour |
6 |
BYTE1:IR data bit31~bit24 |
|
|
|
|
|
BYTE2:IR data bit23~bit16 |
|
|
|
|
|
BYTE3:IR data bit15~bit8 |
|
|
|
|
|
BYTE4:IR data bit7~bit0 |
|
|
|
|
|
BYTE5:IR data numbers(1~32):e.g. BYTE5=0x08 means BYTE4 is useful. |
|
|
|
|
|
BYTE6:IR Tx power(1120)(About 1cm300cm) |
|
|
|
|
|
Note:It can be useful in shoting game. |
|
|
|
|
|
|
|
Receive IR Dongle code |
0x03 |
iOS <- |
3~5 |
BYTE 1 : 0x02,0x03,0x04 |
Receive an IR command |
|
|
|
|
BYTE2~BYTE5 are the datas of Transmiting. |
|
|
|
|
|
Byte2 is high byte,Byte5 is low byte |
|
|
|
|
|
|
|
|
|
|
|
(0x03,0x02,0xNN,0xNN) |
|
|
|
|
|
(0x03,0x03,0xNN,0xNN,0xNN) |
|
|
|
|
|
(0x03,0x04,0xNN,0xNN,0xNN,0xNN) |
|
|
|
|
|
|
|
Miposour Settings Features |
|
|
|
|
|
Set Eeprom Data |
0x12 |
-> Miposour |
2 |
BYTE 1 : Data address(0x20~0x2F) |
|
|
|
|
|
BYTE 2 : Data |
|
Get Eeprom Data |
0x13 |
-> Miposour |
1 |
BYTE 1 : User Data address(0x20~0x2F) and other data is in Eeprom |
|
|
|
|
|
BYTE 2 : Data |
|
Miposour Eeprom Data |
0x13 |
iOS <- |
2 |
BYTE 1 : User Data address(0x20~0x2F) and other data is in Eeprom |
|
|
|
|
|
|
|
Stop |
0x77 |
->Miposour |
- |
- |
|
Sleep |
0xFA |
Miposour<->IOS |
- |
Power down |
Power down bluetooth. |
|
|
|
|
|
|
Disconnect App Mode |
0xFE |
->Miposour |
- |
- |
Miposour should switch off app mode and return to previous mode |
|
|
|
|
|
|
Get Miposour Software Version |
0x14 |
-> Miposour |
- |
- |
|
Miposour Software Version |
0x14 |
iOS <- |
4 |
BYTE 1: Year1 |
|
|
|
|
|
BYTE 2: Year2 |
|
|
|
|
|
BYTE 3: Month |
|
|
|
|
|
BYTE 4: Day |
|
|
|
|
|
(BYTE1:0x20 BYTE2:0x15 BYTE3:0x03 BYTE4:0x27) means built in 20150327 |
|
|
|
|
|
|
|
Get Miposour Bootloader Bootloader version |
0x34 |
-> Miposour |
- |
- |
|
Miposour Bootloader Bootloader version |
0x34 |
iOS <- |
4 |
BYTE 1: Year (software ver) |
|
|
|
|
|
BYTE 2: Month (software ver) |
Gets some software version info |
|
|
|
|
BYTE 3: Day (software ver) |
Date of the software release |
|
|
|
|
BYTE 4: Unique Version # |
|
|
|
|
|
|
|
Get Miposour Hardware Info |
0x19 |
-> Miposour |
- |
- |
this is used if more than one release on one day, normally it is 0x00 |
Miposour Hardware Info |
0x19 |
iOS <- |
2 |
BYTE 1: Voice chip version |
|
|
|
|
|
BYTE 2: Hardware Version |
|
|
|
|
|
|
|
Set MiPosaur Volume |
0x18 |
-> MIP |
1 |
BYTE 1: Volume level between 0-7 |
Sets the MiPosaur volume level, Power off save |
Get MiPosaur Volume |
0x16 |
-> MIP |
- |
- |
|
MiPosaur Volume |
0x16 |
iOS <- |
1 |
BYTE 1: Volume level between 0-7 |
Reads the current MiPosaur volume level |