diff --git a/TaiChi/TaiChi.ino b/TaiChi/TaiChi.ino index 8207718..fef5f2e 100644 --- a/TaiChi/TaiChi.ino +++ b/TaiChi/TaiChi.ino @@ -70,7 +70,7 @@ Radio radio; //通讯实例 //****************************************全局变量**************************************** //GND Pins -uint8_t gnd_pins[8] = {14, 15, 32, 33, 34, 35, 36, 37}; +const uint8_t gnd_pins[8] PROGMEM = {14, 15, 32, 33, 34, 35, 36, 37}; //EEPROM 储存的调试数据 struct StroageInfo @@ -190,14 +190,14 @@ int loop_time = 0; //错误消息函数,用于在出现致命错误后结束程序 void DebugCanNotContinue(char* message) { - NeoSerial.print("#TAICHI: CAN NOT CONTINUE WHEN "); NeoSerial.println(message); - NeoSerial.print("#TAICHI: loop_time: "); NeoSerial.println(loop_time); - NeoSerial.print("#TAICHI: pass: ["); NeoSerial.print(passed_point.x); NeoSerial.print(", "); NeoSerial.print(passed_point.y); NeoSerial.print("]"); - NeoSerial.print(" TYPE: "); NeoSerial.println((int)passed_point.type); - NeoSerial.print("#TAICHI: next: ["); NeoSerial.print(next_point.x); NeoSerial.print(", "); NeoSerial.print(next_point.y); NeoSerial.print("]"); - NeoSerial.print(" next_position: "); NeoSerial.print((int)next_position); - NeoSerial.print(" TYPE: "); NeoSerial.println((int)next_point.type); - NeoSerial.print("#TAICHI: is_claw_catch: "); NeoSerial.print((int)is_claw_catch); NeoSerial.print(" is_claw_ok: "); NeoSerial.println((int)is_claw_ok); + NeoSerial.print(F("#TAICHI: CAN NOT CONTINUE WHEN ")); NeoSerial.println(message); + NeoSerial.print(F("#TAICHI: loop_time: ")); NeoSerial.println(loop_time); + NeoSerial.print(F("#TAICHI: pass: [")); NeoSerial.print(passed_point.x); NeoSerial.print(F(", ")); NeoSerial.print(passed_point.y); NeoSerial.print(F("]")); + NeoSerial.print(F(" TYPE: ")); NeoSerial.println((int)passed_point.type); + NeoSerial.print(F("#TAICHI: next: [")); NeoSerial.print(next_point.x); NeoSerial.print(F(", ")); NeoSerial.print(next_point.y); NeoSerial.print(F("]")); + NeoSerial.print(F(" next_position: ")); NeoSerial.print((int)next_position); + NeoSerial.print(F(" TYPE: ")); NeoSerial.println((int)next_point.type); + NeoSerial.print(F("#TAICHI: is_claw_catch: ")); NeoSerial.print((int)is_claw_catch); NeoSerial.print(F(" is_claw_ok: ")); NeoSerial.println((int)is_claw_ok); SRamDisplay(); while (1) {} @@ -210,7 +210,7 @@ void setup() { #ifdef TAICHI_DEBUG NeoSerial.begin(DEBUG_BAUT_RATE); - NeoSerial.println("#TAICHI: ======================setup()====================="); + NeoSerial.println(F("#TAICHI: ======================setup()=====================")); SRamDisplay(); #endif @@ -248,14 +248,14 @@ void loop() #ifdef TAICHI_DEBUG loop_time++; - NeoSerial.println("#TAICHI: ====================New loop()===================="); - NeoSerial.print("#TAICHI: loop_time: "); NeoSerial.println(loop_time); - NeoSerial.print("#TAICHI: pass: ["); NeoSerial.print(passed_point.x); NeoSerial.print(", "); NeoSerial.print(passed_point.y); NeoSerial.print("]"); - NeoSerial.print(" TYPE: "); NeoSerial.println((int)passed_point.type); - NeoSerial.print("#TAICHI: next: ["); NeoSerial.print(next_point.x); NeoSerial.print(", "); NeoSerial.print(next_point.y); NeoSerial.print("]"); - NeoSerial.print(" next_position: "); NeoSerial.print((int)next_position); - NeoSerial.print(" TYPE: "); NeoSerial.println((int)next_point.type); - NeoSerial.print("#TAICHI: is_claw_catch: "); NeoSerial.print((int)is_claw_catch); NeoSerial.print(" is_claw_ok: "); NeoSerial.println((int)is_claw_ok); + NeoSerial.println(F("#TAICHI: ====================New loop()====================")); + NeoSerial.print(F("#TAICHI: loop_time: ")); NeoSerial.println(loop_time); + NeoSerial.print(F("#TAICHI: pass: [")); NeoSerial.print(passed_point.x); NeoSerial.print(F(", ")); NeoSerial.print(passed_point.y); NeoSerial.print(F("]")); + NeoSerial.print(F(" TYPE: ")); NeoSerial.println((int)passed_point.type); + NeoSerial.print(F("#TAICHI: next: [")); NeoSerial.print(next_point.x); NeoSerial.print(F(", ")); NeoSerial.print(next_point.y); NeoSerial.print(F("]")); + NeoSerial.print(F(" next_position: ")); NeoSerial.print((int)next_position); + NeoSerial.print(F(" TYPE: ")); NeoSerial.println((int)next_point.type); + NeoSerial.print(F("#TAICHI: is_claw_catch: ")); NeoSerial.print((int)is_claw_catch); NeoSerial.print(F(" is_claw_ok: ")); NeoSerial.println((int)is_claw_ok); SRamDisplay(); #endif @@ -488,7 +488,7 @@ void loop() route.UpdatePosition(); #ifdef TAICHI_DEBUG - NeoSerial.println("#TAICHI: ====================End loop()===================="); + NeoSerial.println(F("#TAICHI: ====================End loop()====================")); #endif } @@ -529,17 +529,17 @@ void ReadFromEEPROM(void) delay_time_after_turn = stroage_info.delay_time_after_turn; #ifdef TAICHI_DEBUG - NeoSerial.println("#TAICHI: Data based on EEPROM : "); - NeoSerial.print("north_left_angle: "); NeoSerial.println(north_left_angle); - NeoSerial.print("north_right_angle: "); NeoSerial.println(north_right_angle); - NeoSerial.print("west_left_angle: "); NeoSerial.println(west_left_angle); - NeoSerial.print("west_right_angle: "); NeoSerial.println(west_right_angle); - NeoSerial.print("south_left_angle: "); NeoSerial.println(south_left_angle); - NeoSerial.print("south_right_angle: "); NeoSerial.println(south_right_angle); - NeoSerial.print("east_left_angle: "); NeoSerial.println(east_left_angle); - NeoSerial.print("east_right_angle: "); NeoSerial.println(east_right_angle); - NeoSerial.print("gray_7_gate: "); NeoSerial.println(stroage_info.gray_7_gate); - NeoSerial.print("delay_time_after_turn: "); NeoSerial.println(delay_time_after_turn); + NeoSerial.println(F("#TAICHI: Data based on EEPROM : ")); + NeoSerial.print(F("north_left_angle: ")); NeoSerial.println(north_left_angle); + NeoSerial.print(F("north_right_angle: ")); NeoSerial.println(north_right_angle); + NeoSerial.print(F("west_left_angle: ")); NeoSerial.println(west_left_angle); + NeoSerial.print(F("west_right_angle: ")); NeoSerial.println(west_right_angle); + NeoSerial.print(F("south_left_angle: ")); NeoSerial.println(south_left_angle); + NeoSerial.print(F("south_right_angle: ")); NeoSerial.println(south_right_angle); + NeoSerial.print(F("east_left_angle: ")); NeoSerial.println(east_left_angle); + NeoSerial.print(F("east_right_angle: ")); NeoSerial.println(east_right_angle); + NeoSerial.print(F("gray_7_gate: ")); NeoSerial.println(stroage_info.gray_7_gate); + NeoSerial.print(F("delay_time_after_turn: ")); NeoSerial.println(delay_time_after_turn); #endif } @@ -571,7 +571,7 @@ void CheckGrayStatus(void) } #ifdef TAICHI_DEBUG - NeoSerial.println("#TAICHI: Gray Sensor Status OK!"); + NeoSerial.println(F("#TAICHI: Gray Sensor Status OK!")); #endif } @@ -685,8 +685,8 @@ void LineForward(uint8_t end_position, float speed_rate) { #ifdef TAICHI_DEBUG //调试输出沿线直行状态 - NeoSerial.print("#TAICHI: Line Forward"); - NeoSerial.print(" end_position: "); + NeoSerial.print(F("#TAICHI: Line Forward")); + NeoSerial.print(F(" end_position: ")); NeoSerial.println((int)end_position); #endif @@ -749,7 +749,7 @@ void LineForward(uint8_t end_position, float speed_rate) #ifdef TAICHI_DEBUG //调试输出沿线直行结束 - NeoSerial.println("#TAICHI: End Line Forward"); + NeoSerial.println(F("#TAICHI: End Line Forward")); #endif } @@ -759,8 +759,8 @@ void LineBackward(uint8_t end_position, float speed_rate) { #ifdef TAICHI_DEBUG //调试输出沿线后退状态 - NeoSerial.print("#TAICHI: Line Backward"); - NeoSerial.print(" end_position: "); + NeoSerial.print(F("#TAICHI: Line Backward")); + NeoSerial.print(F(" end_position: ")); NeoSerial.println((int)end_position); #endif @@ -811,7 +811,7 @@ void LineBackward(uint8_t end_position, float speed_rate) #ifdef TAICHI_DEBUG //调试输出沿线后退结束 - NeoSerial.println("#TAICHI: End Line Backward"); + NeoSerial.println(F("#TAICHI: End Line Backward")); #endif } @@ -830,7 +830,7 @@ void TurnDirection(float speed_rate) #ifdef TAICHI_DEBUG //调试输出直行或后退或转向状态 - NeoSerial.println("#TAICHI: JUMP THE RELEASE/GETOUT/GAIN POINT FOR STATUS REASON"); + NeoSerial.println(F("#TAICHI: JUMP THE RELEASE/GETOUT/GAIN POINT FOR STATUS REASON")); #endif } @@ -838,8 +838,8 @@ void TurnDirection(float speed_rate) #ifdef TAICHI_DEBUG //调试输出直行或后退或转向状态 - NeoSerial.print("#TAICHI: Turn Direction"); - NeoSerial.print(" direction: "); + NeoSerial.print(F("#TAICHI: Turn Direction")); + NeoSerial.print(F(" direction: ")); NeoSerial.println((int)direction); #endif @@ -918,7 +918,7 @@ void TurnDirection(float speed_rate) #ifdef TAICHI_DEBUG //调试输出直行或后退或转向结束 - NeoSerial.println("#TAICHI: End Turn Direction"); + NeoSerial.println(F("#TAICHI: End Turn Direction")); #endif } @@ -949,12 +949,12 @@ bool CatchAndCheck(uint8_t type, float speed) while (millis() - begin_time < catch_delay_time) { #ifndef DISABLE_CLAW_CHECK - if (sensor.IsPushed(BUTTON_1)) //开关 1 闭合,即爪子两端接触,说明抓取失败 + if (sensor.IsPushed(BUTTON_2)) //开关 2 闭合,即爪子两端接触,说明抓取失败 { #ifdef TAICHI_DEBUG //调试输出失败信息 - NeoSerial.print("#TAICHI: **********FAIL CATCH!**********"); - NeoSerial.print(" catch_times: "); NeoSerial.println((int)catch_times); + NeoSerial.print(F("#TAICHI: **********FAIL CATCH!**********")); + NeoSerial.print(F(" catch_times: ")); NeoSerial.println((int)catch_times); #endif if (type == CATCH_TYPE_GAIN) @@ -988,14 +988,14 @@ bool CatchAndCheck(uint8_t type, float speed) #ifndef DISABLE_CLAW_CHECK #ifdef TAICHI_DEBUG //调试输出成功信息 - NeoSerial.println("#TAICHI: SUCCESS CATCH!"); + NeoSerial.println(F("#TAICHI: SUCCESS CATCH!")); #endif #endif #ifdef DISABLE_CLAW_CHECK #ifdef TAICHI_DEBUG //调试输出结束信息 - NeoSerial.println("#TAICHI: CATCH WITHOUT CHECK!"); + NeoSerial.println(F("#TAICHI: CATCH WITHOUT CHECK!")); #endif #endif @@ -1010,7 +1010,7 @@ bool OpenClawAndCheck(void) #ifdef DISABLE_CLAW_CHECK #ifdef TAICHI_DEBUG //调试输出信息 - NeoSerial.println("#TAICHI: DISABLE CLAW CHECK!"); + NeoSerial.println(F("#TAICHI: DISABLE CLAW CHECK!")); #endif is_claw_ok = true; @@ -1026,11 +1026,11 @@ bool OpenClawAndCheck(void) //等待完成动作 while (millis() - begin_time < CLAW_OPEN_USE_TIME) { - if (!sensor.IsPushed(BUTTON_1)) //开关 1 打开,即爪子两端脱离接触,说明打开爪子成功 + if (!sensor.IsPushed(BUTTON_2)) //开关 2 打开,即爪子两端脱离接触,说明打开爪子成功 { #ifdef TAICHI_DEBUG //调试输出成功信息 - NeoSerial.println("#TAICHI: SUCCESS OPEN CLAW!"); + NeoSerial.println(F("#TAICHI: SUCCESS OPEN CLAW!")); #endif is_claw_ok = true; @@ -1040,7 +1040,7 @@ bool OpenClawAndCheck(void) #ifdef TAICHI_DEBUG //调试输出失败信息 - NeoSerial.println("#TAICHI: $$$$$$$$$$FAIL CLAW!$$$$$$$$$$"); + NeoSerial.println(F("#TAICHI: $$$$$$$$$$FAIL CLAW!$$$$$$$$$$")); #endif is_claw_ok = false; diff --git a/TaiChi/moveTaiChi.cpp b/TaiChi/moveTaiChi.cpp index 02d79c6..1ba7f1a 100644 --- a/TaiChi/moveTaiChi.cpp +++ b/TaiChi/moveTaiChi.cpp @@ -123,8 +123,8 @@ void Move::Forward(float speed_rate) #ifdef MOVE_DEBUG //调试输出前进状态 - NeoSerial.print("#MOVE: Move Forward"); - NeoSerial.print(" speed_rate: "); NeoSerial.println(speed_rate); + NeoSerial.print(F("#MOVE: Move Forward")); + NeoSerial.print(F(" speed_rate: ")); NeoSerial.println(speed_rate); #endif } @@ -143,8 +143,8 @@ void Move::Backward(float speed_rate) #ifdef MOVE_DEBUG //调试输出后退状态 - NeoSerial.print("#MOVE: Move Backward"); - NeoSerial.print(" speed_rate: "); NeoSerial.println(speed_rate); + NeoSerial.print(F("#MOVE: Move Backward")); + NeoSerial.print(F(" speed_rate: ")); NeoSerial.println(speed_rate); #endif } @@ -163,8 +163,8 @@ void Move::ForLeftward(float speed_rate, float turn_speed_rate) #ifdef MOVE_DEBUG //调试输出向前左转状态 - NeoSerial.print("#MOVE: Move ForLeftward"); - NeoSerial.print(" speed_rate: "); NeoSerial.print(speed_rate); NeoSerial.print(" turn_speed_rate: "); NeoSerial.println(turn_speed_rate); + NeoSerial.print(F("#MOVE: Move ForLeftward")); + NeoSerial.print(F(" speed_rate: ")); NeoSerial.print(speed_rate); NeoSerial.print(F(" turn_speed_rate: ")); NeoSerial.println(turn_speed_rate); #endif } @@ -183,8 +183,8 @@ void Move::ForRightward(float speed_rate, float turn_speed_rate) #ifdef MOVE_DEBUG //调试输出向前右转状态 - NeoSerial.print("#MOVE: Move ForRightward"); - NeoSerial.print(" speed_rate: "); NeoSerial.print(speed_rate); NeoSerial.print(" turn_speed_rate: "); NeoSerial.println(turn_speed_rate); + NeoSerial.print(F("#MOVE: Move ForRightward")); + NeoSerial.print(F(" speed_rate: ")); NeoSerial.print(speed_rate); NeoSerial.print(F(" turn_speed_rate: ")); NeoSerial.println(turn_speed_rate); #endif } @@ -203,8 +203,8 @@ void Move::BackLeftward(float speed_rate, float turn_speed_rate) #ifdef MOVE_DEBUG //调试输出向后左转状态 - NeoSerial.print("#MOVE: Move BackLeftward"); - NeoSerial.print(" speed_rate: "); NeoSerial.print(speed_rate); NeoSerial.print(" turn_speed_rate: "); NeoSerial.println(turn_speed_rate); + NeoSerial.print(F("#MOVE: Move BackLeftward")); + NeoSerial.print(F(" speed_rate: ")); NeoSerial.print(speed_rate); NeoSerial.print(F(" turn_speed_rate: ")); NeoSerial.println(turn_speed_rate); #endif } @@ -223,8 +223,8 @@ void Move::BackRightward(float speed_rate, float turn_speed_rate) #ifdef MOVE_DEBUG //调试输出向后右转状态 - NeoSerial.print("#MOVE: Move BackRightward"); - NeoSerial.print(" speed_rate: "); NeoSerial.print(speed_rate); NeoSerial.print(" turn_speed_rate: "); NeoSerial.println(turn_speed_rate); + NeoSerial.print(F("#MOVE: Move BackRightward")); + NeoSerial.print(F(" speed_rate: ")); NeoSerial.print(speed_rate); NeoSerial.print(F(" turn_speed_rate: ")); NeoSerial.println(turn_speed_rate); #endif } @@ -243,7 +243,7 @@ void Move::Stop(void) #ifdef MOVE_DEBUG //调试输出制动状态 - NeoSerial.println("#MOVE: Move Stop"); + NeoSerial.println(F("#MOVE: Move Stop")); #endif } diff --git a/TaiChi/radioTaiChi.cpp b/TaiChi/radioTaiChi.cpp index caa72cb..4168fbb 100644 --- a/TaiChi/radioTaiChi.cpp +++ b/TaiChi/radioTaiChi.cpp @@ -79,10 +79,10 @@ void Radio::Send(char* message, uint8_t send_type, uint8_t send_times) } #ifdef RADIO_DEBUG - NeoSerial.print("#RADIO: SEND: "); + NeoSerial.print(F("#RADIO: SEND: ")); full_message[FULL_MESSAGE_SIZE - 1] = '\0'; NeoSerial.print(full_message); - NeoSerial.print(" TIMES: "); + NeoSerial.print(F(" TIMES: ")); NeoSerial.println(send_times); #endif @@ -179,7 +179,7 @@ bool Radio::Receive(uint8_t ch, uint8_t status) is_end_record = true; #ifdef RADIO_DEBUG - NeoSerial.print("#RADIO: RECEIVE: "); + NeoSerial.print(F("#RADIO: RECEIVE: ")); NeoSerial.println(message); #endif @@ -188,7 +188,7 @@ bool Radio::Receive(uint8_t ch, uint8_t status) else //位数校验失败 { #ifdef RADIO_DEBUG - NeoSerial.println("#RADIO: RECEIVE CHECK FAIL!"); + NeoSerial.println(F("#RADIO: RECEIVE CHECK FAIL!")); #endif } } diff --git a/TaiChi/routeTaiChi.cpp b/TaiChi/routeTaiChi.cpp index e1ed6fc..ea89b75 100644 --- a/TaiChi/routeTaiChi.cpp +++ b/TaiChi/routeTaiChi.cpp @@ -277,7 +277,7 @@ Point* Route::AddPoint(Point* front_point, int8_t x, int8_t y, uint8_t type, Poi void Route::InitBaseRoute(void) { //基本路径数组 - int8_t base_route[][3] = + const static int8_t base_route [][3] PROGMEM = { {0, 0, NORMAL_POINT}, {0, 1, NORMAL_POINT}, diff --git a/TaiChi/sensorTaiChi.cpp b/TaiChi/sensorTaiChi.cpp index 6ff148e..cd59b7f 100644 --- a/TaiChi/sensorTaiChi.cpp +++ b/TaiChi/sensorTaiChi.cpp @@ -86,13 +86,13 @@ void Sensor::FlashGraySensor(uint8_t gray_sensor_num) //调试输出闪烁信息 switch (gray_sensor_num) { - case GRAY_1: NeoSerial.println("#SENSOR: FLASH GRAY_1 NOW!"); break; - case GRAY_2: NeoSerial.println("#SENSOR: FLASH GRAY_2 NOW!"); break; - case GRAY_3: NeoSerial.println("#SENSOR: FLASH GRAY_3 NOW!"); break; - case GRAY_4: NeoSerial.println("#SENSOR: FLASH GRAY_4 NOW!"); break; - case GRAY_5: NeoSerial.println("#SENSOR: FLASH GRAY_5 NOW!"); break; - case GRAY_6: NeoSerial.println("#SENSOR: FLASH GRAY_6 NOW!"); break; - case GRAY_7: NeoSerial.println("#SENSOR: FLASH GRAY_7 NOW!"); + case GRAY_1: NeoSerial.println(F("#SENSOR: FLASH GRAY_1 NOW!")); break; + case GRAY_2: NeoSerial.println(F("#SENSOR: FLASH GRAY_2 NOW!")); break; + case GRAY_3: NeoSerial.println(F("#SENSOR: FLASH GRAY_3 NOW!")); break; + case GRAY_4: NeoSerial.println(F("#SENSOR: FLASH GRAY_4 NOW!")); break; + case GRAY_5: NeoSerial.println(F("#SENSOR: FLASH GRAY_5 NOW!")); break; + case GRAY_6: NeoSerial.println(F("#SENSOR: FLASH GRAY_6 NOW!")); break; + case GRAY_7: NeoSerial.println(F("#SENSOR: FLASH GRAY_7 NOW!")); } #endif @@ -125,17 +125,17 @@ bool Sensor::IsWhite(uint8_t gray_sensor_num) //调试输出灰度值 switch (gray_sensor_num) { - case GRAY_1: NeoSerial.print("#SENSOR: GRAY_1 and gate_val: "); break; - case GRAY_2: NeoSerial.print("#SENSOR: GRAY_2 and gate_val: "); break; - case GRAY_3: NeoSerial.print("#SENSOR: GRAY_3 and gate_val: "); break; - case GRAY_4: NeoSerial.print("#SENSOR: GRAY_4 and gate_val: "); break; - case GRAY_5: NeoSerial.print("#SENSOR: GRAY_5 and gate_val: "); break; - case GRAY_6: NeoSerial.print("#SENSOR: GRAY_6 and gate_val: "); break; - case GRAY_7: NeoSerial.print("#SENSOR: GRAY_7 and gate_val: "); + case GRAY_1: NeoSerial.print(F("#SENSOR: GRAY_1 and gate_val: ")); break; + case GRAY_2: NeoSerial.print(F("#SENSOR: GRAY_2 and gate_val: ")); break; + case GRAY_3: NeoSerial.print(F("#SENSOR: GRAY_3 and gate_val: ")); break; + case GRAY_4: NeoSerial.print(F("#SENSOR: GRAY_4 and gate_val: ")); break; + case GRAY_5: NeoSerial.print(F("#SENSOR: GRAY_5 and gate_val: ")); break; + case GRAY_6: NeoSerial.print(F("#SENSOR: GRAY_6 and gate_val: ")); break; + case GRAY_7: NeoSerial.print(F("#SENSOR: GRAY_7 and gate_val: ")); } NeoSerial.print(gray_val); - NeoSerial.print(" "); + NeoSerial.print(F(" ")); NeoSerial.println(gray_gate); #endif @@ -170,24 +170,24 @@ float Sensor::GrayDeviationRate(uint8_t gray_sensor_num) //调试输出灰度值 switch (gray_sensor_num) { - case GRAY_1: NeoSerial.print("#SENSOR: GRAY_1 and gate_val: "); break; - case GRAY_2: NeoSerial.print("#SENSOR: GRAY_2 and gate_val: "); break; - case GRAY_3: NeoSerial.print("#SENSOR: GRAY_3 and gate_val: "); break; - case GRAY_4: NeoSerial.print("#SENSOR: GRAY_4 and gate_val: "); break; - case GRAY_5: NeoSerial.print("#SENSOR: GRAY_5 and gate_val: "); break; - case GRAY_6: NeoSerial.print("#SENSOR: GRAY_6 and gate_val: "); break; - case GRAY_7: NeoSerial.print("#SENSOR: GRAY_7 and gate_val: "); + case GRAY_1: NeoSerial.print(F("#SENSOR: GRAY_1 and gate_val: ")); break; + case GRAY_2: NeoSerial.print(F("#SENSOR: GRAY_2 and gate_val: ")); break; + case GRAY_3: NeoSerial.print(F("#SENSOR: GRAY_3 and gate_val: ")); break; + case GRAY_4: NeoSerial.print(F("#SENSOR: GRAY_4 and gate_val: ")); break; + case GRAY_5: NeoSerial.print(F("#SENSOR: GRAY_5 and gate_val: ")); break; + case GRAY_6: NeoSerial.print(F("#SENSOR: GRAY_6 and gate_val: ")); break; + case GRAY_7: NeoSerial.print(F("#SENSOR: GRAY_7 and gate_val: ")); } NeoSerial.print(gray_val); - NeoSerial.print(" "); + NeoSerial.print(F(" ")); NeoSerial.print(gray_gate); #endif deviarion_rate = (float)gray_val / gray_gate; #ifdef SENSOR_DEBUG - NeoSerial.print(" deviarion_rate: "); + NeoSerial.print(F(" deviarion_rate: ")); NeoSerial.println(deviarion_rate); #endif @@ -210,12 +210,12 @@ bool Sensor::IsPushed(uint8_t button_num) #ifdef SENSOR_DEBUG //调试输出按钮状态 if (button_num == BUTTON_1) - NeoSerial.print("#SENSOR: BUTTON_1: "); - else NeoSerial.print("#SENSOR: BUTTON_2: "); + NeoSerial.print(F("#SENSOR: BUTTON_1: ")); + else NeoSerial.print(F("#SENSOR: BUTTON_2: ")); if (button_val == LOW) - NeoSerial.println("pushed"); - else NeoSerial.println("released"); + NeoSerial.println(F("pushed")); + else NeoSerial.println(F("released")); #endif if (button_val == LOW) @@ -235,7 +235,7 @@ void Sensor::StartHMC5883(void) #ifdef SENSOR_DEBUG //调试输出 - NeoSerial.println("#SENSOR: Start HMC5883"); + NeoSerial.println(F("#SENSOR: Start HMC5883")); #endif } @@ -243,7 +243,7 @@ void Sensor::StartHMC5883(void) //返回朝向角 float Sensor::GetAngle(void) { - long x, y, z; + long x = 0, y = 0, z = 0; Wire.beginTransmission(HMC5883_ADDRESS); Wire.write(0x03); @@ -270,7 +270,7 @@ float Sensor::GetAngle(void) #ifdef SENSOR_DEBUG //调试输出朝向角 - NeoSerial.print("#SENSOR: Angle Value: "); + NeoSerial.print(F("#SENSOR: Angle Value: ")); NeoSerial.println(angle); #endif diff --git a/TaiChi/servoTaiChi.cpp b/TaiChi/servoTaiChi.cpp index e5302fb..c3de9a0 100644 --- a/TaiChi/servoTaiChi.cpp +++ b/TaiChi/servoTaiChi.cpp @@ -45,9 +45,9 @@ void Servo::MoveServo(uint8_t servo_id, uint16_t position, uint16_t time) #ifdef SERVO_DEBUG //调试输出动作组执行信息 - NeoSerial.print("#SERVO: MoveServo: "); NeoSerial.print((int)servo_id); - NeoSerial.print(" position: "); NeoSerial.print((int)position); - NeoSerial.print(" time: "); NeoSerial.println((int)time); + NeoSerial.print(F("#SERVO: MoveServo: ")); NeoSerial.print((int)servo_id); + NeoSerial.print(F(" position: ")); NeoSerial.print((int)position); + NeoSerial.print(F(" time: ")); NeoSerial.println((int)time); #endif } @@ -70,7 +70,7 @@ void Servo::RunActionGroup(uint8_t action_num, uint16_t times) #ifdef SERVO_DEBUG //调试输出动作组执行信息 - NeoSerial.print("#SERVO: RunServoActionGroup: "); + NeoSerial.print(F("#SERVO: RunServoActionGroup: ")); NeoSerial.println((int)action_num); #endif } @@ -89,7 +89,7 @@ void Servo::StopActionGroup(void) #ifdef SERVO_DEBUG //调试输出动作组停止信息 - NeoSerial.println("#SERVO: StopServoActionGroup"); + NeoSerial.println(F("#SERVO: StopServoActionGroup")); #endif } @@ -112,9 +112,9 @@ void Servo::SetActionGroupSpeed(uint8_t action_num, float speed) #ifdef SERVO_DEBUG //调试输出动作组速度设定信息 - NeoSerial.print("#SERVO: SetServoActionGroupSpeed: "); + NeoSerial.print(F("#SERVO: SetServoActionGroupSpeed: ")); NeoSerial.print((int)action_num); - NeoSerial.print(" Speed: "); + NeoSerial.print(F(" Speed: ")); NeoSerial.println(speed); #endif }