NerfUS mobile node that manages a target for the Nerf gun firing range

Dependencies:   LedController mbed-rtos mbed NerfUSXbee Servomotor TargetManager

Fork of NerfUS by NerfUS

Revision:
35:7ee45f6d6484
Parent:
34:85994e0501fb
Child:
36:f55ce07292c9
diff -r 85994e0501fb -r 7ee45f6d6484 source/TargetManager.cpp
--- a/source/TargetManager.cpp	Thu Mar 30 14:38:38 2017 -0400
+++ b/source/TargetManager.cpp	Thu Mar 30 15:06:01 2017 -0400
@@ -29,6 +29,17 @@
 	nerfus_ticker.start(target_info.timeout_ms);
 }
 
+void TargetManager::execute(const std::vector<uint8_t>& target_info_bytes)
+{
+	const int id = target_info_bytes[1];
+	const TargetType type = (target_info_bytes[2] == 0) ? TARGET_TYPE_ALLY : TARGET_TYPE_ENEMY;
+	const int timeout_msb = target_info_bytes[3];
+	const int timeout_lsb = target_info_bytes[4];
+	const int timeout = (timeout_msb << 8) + timeout_lsb;
+	const TargetInfo target_info = make_TargetInfo(id, type, timeout);
+	execute(target_info);
+}
+
 void TargetManager::target_hit(int target_number)
 {
 	if(is_active_target[target_number])