OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 #include "tools/battor_agent/battor_agent.h" | 4 #include "tools/battor_agent/battor_agent.h" |
5 | 5 |
6 #include <iomanip> | 6 #include <iomanip> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
10 #include "tools/battor_agent/battor_connection_impl.h" | 10 #include "tools/battor_agent/battor_connection_impl.h" |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 num_init_attempts_ = 1; | 191 num_init_attempts_ = 1; |
192 PerformAction(Action::SEND_INIT); | 192 PerformAction(Action::SEND_INIT); |
193 return; | 193 return; |
194 case Command::STOP_TRACING: | 194 case Command::STOP_TRACING: |
195 PerformAction(Action::SEND_EEPROM_REQUEST); | 195 PerformAction(Action::SEND_EEPROM_REQUEST); |
196 return; | 196 return; |
197 case Command::RECORD_CLOCK_SYNC_MARKER: | 197 case Command::RECORD_CLOCK_SYNC_MARKER: |
198 PerformAction(Action::SEND_CURRENT_SAMPLE_REQUEST); | 198 PerformAction(Action::SEND_CURRENT_SAMPLE_REQUEST); |
199 return; | 199 return; |
200 case Command::GET_FIRMWARE_GIT_HASH: | 200 case Command::GET_FIRMWARE_GIT_HASH: |
201 PerformAction(Action::SEND_GIT_HASH_REQUEST); | 201 num_init_attempts_ = 1; |
| 202 PerformAction(Action::SEND_INIT); |
202 return; | 203 return; |
203 case Command::INVALID: | 204 case Command::INVALID: |
204 NOTREACHED(); | 205 NOTREACHED(); |
205 } | 206 } |
206 } | 207 } |
207 | 208 |
208 void BattOrAgent::OnBytesSent(bool success) { | 209 void BattOrAgent::OnBytesSent(bool success) { |
209 DCHECK(thread_checker_.CalledOnValidThread()); | 210 DCHECK(thread_checker_.CalledOnValidThread()); |
210 | 211 |
211 // Return immediately if whatever action we were trying to perform already | 212 // Return immediately if whatever action we were trying to perform already |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 if (num_init_attempts_++ < kMaxInitAttempts) { | 311 if (num_init_attempts_++ < kMaxInitAttempts) { |
311 PerformDelayedAction(Action::SEND_INIT, | 312 PerformDelayedAction(Action::SEND_INIT, |
312 base::TimeDelta::FromMilliseconds(kInitRetryDelayMilliseconds)); | 313 base::TimeDelta::FromMilliseconds(kInitRetryDelayMilliseconds)); |
313 } else { | 314 } else { |
314 CompleteCommand(BATTOR_ERROR_TOO_MANY_INIT_RETRIES); | 315 CompleteCommand(BATTOR_ERROR_TOO_MANY_INIT_RETRIES); |
315 } | 316 } |
316 | 317 |
317 return; | 318 return; |
318 } | 319 } |
319 | 320 |
320 PerformAction(Action::SEND_SET_GAIN); | 321 switch (command_) { |
321 return; | 322 case Command::START_TRACING: |
| 323 PerformAction(Action::SEND_SET_GAIN); |
| 324 return; |
| 325 case Command::GET_FIRMWARE_GIT_HASH: |
| 326 PerformAction(Action::SEND_GIT_HASH_REQUEST); |
| 327 return; |
| 328 default: |
| 329 CompleteCommand(BATTOR_ERROR_UNEXPECTED_MESSAGE); |
| 330 return; |
| 331 } |
322 | 332 |
323 case Action::READ_SET_GAIN_ACK: | 333 case Action::READ_SET_GAIN_ACK: |
324 if (!IsAckOfControlCommand(type, BATTOR_CONTROL_MESSAGE_TYPE_SET_GAIN, | 334 if (!IsAckOfControlCommand(type, BATTOR_CONTROL_MESSAGE_TYPE_SET_GAIN, |
325 *bytes)) { | 335 *bytes)) { |
326 CompleteCommand(BATTOR_ERROR_UNEXPECTED_MESSAGE); | 336 CompleteCommand(BATTOR_ERROR_UNEXPECTED_MESSAGE); |
327 return; | 337 return; |
328 } | 338 } |
329 | 339 |
330 PerformAction(Action::SEND_START_TRACING); | 340 PerformAction(Action::SEND_START_TRACING); |
331 return; | 341 return; |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
651 if (clock_sync_marker != clock_sync_markers_.end()) | 661 if (clock_sync_marker != clock_sync_markers_.end()) |
652 trace_stream << " <" << clock_sync_marker->second << ">"; | 662 trace_stream << " <" << clock_sync_marker->second << ">"; |
653 | 663 |
654 trace_stream << std::endl; | 664 trace_stream << std::endl; |
655 } | 665 } |
656 | 666 |
657 return trace_stream.str(); | 667 return trace_stream.str(); |
658 } | 668 } |
659 | 669 |
660 } // namespace battor | 670 } // namespace battor |
OLD | NEW |