|
|
#include "DebugOpt.h"
|
|
|
|
|
|
uint8_t DebugOpt::led_flow_cnt = 0;
|
|
|
uint8_t DebugOpt::open_road_buf[8] = { 0x55,0x03,0x01,0x01,0x00,0x00,0x00,0xBB };
|
|
|
uint8_t DebugOpt::voive_test_buf[9] = { 0xFD,0x00,0x06,0x01,0x01,0xC4,0xFA,0xBA,0xC3 };
|
|
|
uint8_t DebugOpt::voice_trm_buf[8] = { 0xAF,0x06,0x00,0x02,0x00,0x00,0x01,0xBB };
|
|
|
uint8_t DebugOpt::ir_repo_buf[6] = { 0x03,0x05,0x14,0x45,0xDE,0x92 };
|
|
|
|
|
|
void DebugOpt::DoLEDFlow()
|
|
|
{
|
|
|
switch (led_flow_cnt)
|
|
|
{
|
|
|
case 0:
|
|
|
CoreLED.TurnOn(LED1);
|
|
|
CoreLED.TurnOff(LED2);
|
|
|
CoreLED.TurnOff(LED3);
|
|
|
CoreLED.TurnOff(LED4);
|
|
|
|
|
|
LED.LeftTurnOn();
|
|
|
LED.RightTurnOff();
|
|
|
|
|
|
digitalWrite(LED_BUILTIN, HIGH);
|
|
|
break;
|
|
|
case 1:
|
|
|
CoreLED.TurnOff(LED1);
|
|
|
CoreLED.TurnOn(LED2);
|
|
|
CoreLED.TurnOff(LED3);
|
|
|
CoreLED.TurnOff(LED4);
|
|
|
|
|
|
LED.LeftTurnOff();
|
|
|
LED.RightTurnOn();
|
|
|
|
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
|
break;
|
|
|
case 2:
|
|
|
CoreLED.TurnOff(LED1);
|
|
|
CoreLED.TurnOff(LED2);
|
|
|
CoreLED.TurnOn(LED3);
|
|
|
CoreLED.TurnOff(LED4);
|
|
|
|
|
|
LED.LeftTurnOn();
|
|
|
LED.RightTurnOff();
|
|
|
|
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
|
break;
|
|
|
case 3:
|
|
|
CoreLED.TurnOff(LED1);
|
|
|
CoreLED.TurnOff(LED2);
|
|
|
CoreLED.TurnOff(LED3);
|
|
|
CoreLED.TurnOn(LED4);
|
|
|
|
|
|
LED.LeftTurnOff();
|
|
|
LED.RightTurnOn();
|
|
|
|
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
|
break;
|
|
|
}
|
|
|
led_flow_cnt++;
|
|
|
if (led_flow_cnt >= 4)
|
|
|
led_flow_cnt = 0;
|
|
|
delay(200);
|
|
|
}
|
|
|
|
|
|
void DebugOpt::DebugRun()
|
|
|
{
|
|
|
Serial.println("Hello Accurate DCMotor.");
|
|
|
LED.LeftTurnOn();
|
|
|
LED.RightTurnOn();
|
|
|
BEEP.TurnOn();
|
|
|
delay(100);
|
|
|
BEEP.TurnOff();
|
|
|
/*DCMotor.Go(100, 100);
|
|
|
DCMotor.Stop();
|
|
|
DCMotor.Back(100, 100);
|
|
|
DCMotor.Stop();
|
|
|
DCMotor.TurnLeft_Code(200, 100);
|
|
|
DCMotor.Stop();
|
|
|
DCMotor.TurnRight_Code(200, 100);
|
|
|
DCMotor.Stop();*/
|
|
|
AccurateMotor.RunForward(10);
|
|
|
AccurateMotor.DelayUntilCarStop();
|
|
|
AccurateMotor.RunBackward(10);
|
|
|
AccurateMotor.DelayUntilCarStop();
|
|
|
AccurateMotor.TurnLeft(20);
|
|
|
AccurateMotor.DelayUntilCarStop();
|
|
|
AccurateMotor.TurnRight(20);
|
|
|
AccurateMotor.DelayUntilCarStop();
|
|
|
BEEP.TurnOn();
|
|
|
delay(100);
|
|
|
BEEP.TurnOff();
|
|
|
LED.LeftTurnOff();
|
|
|
LED.RightTurnOff();
|
|
|
}
|
|
|
|
|
|
void DebugOpt::DebugServo()
|
|
|
{
|
|
|
Serial.println("Hello Servo.");
|
|
|
for (int i = -80; i <= 20; i++)
|
|
|
{
|
|
|
OpenMVOpt::Servo_Control(i);
|
|
|
delay(50);
|
|
|
}
|
|
|
OpenMVOpt::Servo_Control(0);
|
|
|
}
|
|
|
|
|
|
void DebugOpt::Road_Gate_Test()
|
|
|
{
|
|
|
Command.Judgment(open_road_buf); //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
|
|
|
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, open_road_buf, 8);
|
|
|
}
|
|
|
|
|
|
void DebugOpt::Speech_Sounds_Ctr()
|
|
|
{
|
|
|
ExtSRAMInterface.ExMem_Write_Bytes(0x6180, voive_test_buf, 13);
|
|
|
}
|
|
|
|
|
|
void DebugOpt::Speech_Disc()
|
|
|
{
|
|
|
uint8_t sph_id = 0;
|
|
|
/*0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>
|
|
|
2-6Ϊָ<CEAA><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD>𣬾<EFBFBD><F0A3ACBE><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ɲ鿴ͨ<E9BFB4><CDA8>Э<EFBFBD><D0AD>*/
|
|
|
sph_id = BKRC_Voice.BKRC_Voice_Extern(0);
|
|
|
delay(200);
|
|
|
Serial.print("ʶ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>IDΪ<EFBFBD><EFBFBD>");
|
|
|
Serial.println(sph_id, HEX);
|
|
|
voice_trm_buf[2] = sph_id;
|
|
|
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, voice_trm_buf, 8);//<2F>ϴ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD>
|
|
|
}
|
|
|
|
|
|
void DebugOpt::Infrared_Test()
|
|
|
{
|
|
|
Infrare.Transmition(ir_repo_buf, 6);
|
|
|
}
|