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
include/TargetManager.hpp@51:6bf268cd1a1b, 2017-04-12 (annotated)
- Committer:
- Maxime Dupuis
- Date:
- Wed Apr 12 10:33:32 2017 -0400
- Revision:
- 51:6bf268cd1a1b
- Parent:
- 38:70a1c8bd2877
Update tests to ignore target hits before 750ms threshold
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Maxime Dupuis |
28:8fc53a870691 | 1 | #ifndef TARGET_MANAGER_HPP |
Maxime Dupuis |
28:8fc53a870691 | 2 | #define TARGET_MANAGER_HPP |
Maxime Dupuis |
28:8fc53a870691 | 3 | |
Maxime Dupuis |
30:412a779cf607 | 4 | #include "NerfusTickerInterface.hpp" |
Maxime Dupuis |
28:8fc53a870691 | 5 | #include "TargetInfo.hpp" |
Maxime Dupuis |
30:412a779cf607 | 6 | #include "TargetInterface.hpp" |
Maxime Dupuis |
28:8fc53a870691 | 7 | #include "TargetManagerInterface.hpp" |
Maxime Dupuis |
28:8fc53a870691 | 8 | |
Maxime Dupuis |
28:8fc53a870691 | 9 | #include <vector> |
Maxime Dupuis |
35:7ee45f6d6484 | 10 | #include "stdint.h" |
Maxime Dupuis |
28:8fc53a870691 | 11 | |
Maxime Dupuis |
28:8fc53a870691 | 12 | class TargetManager : public TargetManagerInterface |
Maxime Dupuis |
28:8fc53a870691 | 13 | { |
Maxime Dupuis |
28:8fc53a870691 | 14 | public: |
Maxime Dupuis |
38:70a1c8bd2877 | 15 | TargetManager(std::vector<TargetInterface*>& targets, std::vector<NerfusTickerInterface*>& nerfus_tickers); |
Maxime Dupuis |
30:412a779cf607 | 16 | |
Maxime Dupuis |
34:85994e0501fb | 17 | void execute(const TargetInfo& target_info); |
Maxime Dupuis |
37:8fc7845ae95b | 18 | virtual void execute(const std::vector<uint8_t>& target_info_bytes, int *address = 0); |
Maxime Dupuis |
28:8fc53a870691 | 19 | |
Maxime Dupuis |
28:8fc53a870691 | 20 | virtual void target_missed(int target_id); |
Maxime Dupuis |
28:8fc53a870691 | 21 | virtual void target_hit(int target_id); |
Maxime Dupuis |
28:8fc53a870691 | 22 | |
Maxime Dupuis |
28:8fc53a870691 | 23 | private: |
Maxime Dupuis |
30:412a779cf607 | 24 | std::vector<TargetInterface*>& targets; |
Maxime Dupuis |
38:70a1c8bd2877 | 25 | std::vector<NerfusTickerInterface*>& nerfus_tickers; |
Maxime Dupuis |
32:50b777bab5a4 | 26 | std::vector<bool> is_active_target; |
Maxime Dupuis |
28:8fc53a870691 | 27 | }; |
Maxime Dupuis |
28:8fc53a870691 | 28 | |
Maxime Dupuis |
28:8fc53a870691 | 29 | #endif |