Optimaze with new mbed os for study
Dependencies: TS_DISCO_F746NG BSP_DISCO_F746NG Graphics
RadarDemo/RadarDemo.h@0:d8b9955d2b36, 2016-11-04 (annotated)
- Committer:
- karpent
- Date:
- Fri Nov 04 01:02:37 2016 +0000
- Revision:
- 0:d8b9955d2b36
- Child:
- 1:5e49b46de1b0
Initial revision
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
karpent | 0:d8b9955d2b36 | 1 | // |
karpent | 0:d8b9955d2b36 | 2 | // RadarDemo.h - example of graphic commands usage to create 2D graphics. |
karpent | 0:d8b9955d2b36 | 3 | // |
karpent | 0:d8b9955d2b36 | 4 | |
karpent | 0:d8b9955d2b36 | 5 | #pragma once |
karpent | 0:d8b9955d2b36 | 6 | |
karpent | 0:d8b9955d2b36 | 7 | #include "Radar.h" |
karpent | 0:d8b9955d2b36 | 8 | |
karpent | 0:d8b9955d2b36 | 9 | /// <summary> |
karpent | 0:d8b9955d2b36 | 10 | /// Radar display demo class. |
karpent | 0:d8b9955d2b36 | 11 | /// </summary> |
karpent | 0:d8b9955d2b36 | 12 | ///<seealso cref="Radar" /> |
karpent | 0:d8b9955d2b36 | 13 | |
karpent | 0:d8b9955d2b36 | 14 | /** |
karpent | 0:d8b9955d2b36 | 15 | @verbatim |
karpent | 0:d8b9955d2b36 | 16 | #include "RK043FN48H.h" |
karpent | 0:d8b9955d2b36 | 17 | #include "RadarDemo.h" |
karpent | 0:d8b9955d2b36 | 18 | |
karpent | 0:d8b9955d2b36 | 19 | RK043FN48H display; |
karpent | 0:d8b9955d2b36 | 20 | |
karpent | 0:d8b9955d2b36 | 21 | int main() |
karpent | 0:d8b9955d2b36 | 22 | { |
karpent | 0:d8b9955d2b36 | 23 | RadarDemo demo(&display); |
karpent | 0:d8b9955d2b36 | 24 | demo.Initialize(); |
karpent | 0:d8b9955d2b36 | 25 | |
karpent | 0:d8b9955d2b36 | 26 | while(demo.IsRunning()) { |
karpent | 0:d8b9955d2b36 | 27 | demo.Render(); |
karpent | 0:d8b9955d2b36 | 28 | wait(0.04f); |
karpent | 0:d8b9955d2b36 | 29 | } |
karpent | 0:d8b9955d2b36 | 30 | } |
karpent | 0:d8b9955d2b36 | 31 | @endverbatim |
karpent | 0:d8b9955d2b36 | 32 | */ |
karpent | 0:d8b9955d2b36 | 33 | class RadarDemo : public Radar |
karpent | 0:d8b9955d2b36 | 34 | { |
karpent | 0:d8b9955d2b36 | 35 | public: |
karpent | 0:d8b9955d2b36 | 36 | /// <summary> |
karpent | 0:d8b9955d2b36 | 37 | /// The radar scan period in milisecons. |
karpent | 0:d8b9955d2b36 | 38 | /// </summary> |
karpent | 0:d8b9955d2b36 | 39 | uint32_t scanPeriod; |
karpent | 0:d8b9955d2b36 | 40 | |
karpent | 0:d8b9955d2b36 | 41 | /// <summary> |
karpent | 0:d8b9955d2b36 | 42 | /// Duration time of the demo in milisecons. |
karpent | 0:d8b9955d2b36 | 43 | /// Set <c>demoTime</c> to 0 if you do not need the time limit. |
karpent | 0:d8b9955d2b36 | 44 | /// Set for 0 |
karpent | 0:d8b9955d2b36 | 45 | /// </summary> |
karpent | 0:d8b9955d2b36 | 46 | uint32_t demoTime; |
karpent | 0:d8b9955d2b36 | 47 | |
karpent | 0:d8b9955d2b36 | 48 | /// <summary> |
karpent | 0:d8b9955d2b36 | 49 | /// Class constructor. |
karpent | 0:d8b9955d2b36 | 50 | /// </summary> |
karpent | 0:d8b9955d2b36 | 51 | /// <param name="display">The display.</param> |
karpent | 0:d8b9955d2b36 | 52 | RadarDemo(Display* display); |
karpent | 0:d8b9955d2b36 | 53 | |
karpent | 0:d8b9955d2b36 | 54 | /// <summary> |
karpent | 0:d8b9955d2b36 | 55 | /// Class destructor. |
karpent | 0:d8b9955d2b36 | 56 | /// </summary> |
karpent | 0:d8b9955d2b36 | 57 | ~RadarDemo(); |
karpent | 0:d8b9955d2b36 | 58 | |
karpent | 0:d8b9955d2b36 | 59 | /// <summary> |
karpent | 0:d8b9955d2b36 | 60 | /// Initializes radar demo instance. Generates sample data for the demo. |
karpent | 0:d8b9955d2b36 | 61 | /// </summary> |
karpent | 0:d8b9955d2b36 | 62 | void Initialize(); |
karpent | 0:d8b9955d2b36 | 63 | |
karpent | 0:d8b9955d2b36 | 64 | /// <summary> |
karpent | 0:d8b9955d2b36 | 65 | /// Renders single frame of radar imaging. |
karpent | 0:d8b9955d2b36 | 66 | /// </summary> |
karpent | 0:d8b9955d2b36 | 67 | void Render(); |
karpent | 0:d8b9955d2b36 | 68 | |
karpent | 0:d8b9955d2b36 | 69 | /// <summary> |
karpent | 0:d8b9955d2b36 | 70 | /// Determines whether this instance is running. |
karpent | 0:d8b9955d2b36 | 71 | /// </summary> |
karpent | 0:d8b9955d2b36 | 72 | /// <returns> |
karpent | 0:d8b9955d2b36 | 73 | /// <c>true</c> if this instance is running; otherwise, <c>false</c>. |
karpent | 0:d8b9955d2b36 | 74 | /// </returns> |
karpent | 0:d8b9955d2b36 | 75 | bool IsRunning(); |
karpent | 0:d8b9955d2b36 | 76 | |
karpent | 0:d8b9955d2b36 | 77 | bool NeedsRedraw(); |
karpent | 0:d8b9955d2b36 | 78 | |
karpent | 0:d8b9955d2b36 | 79 | void UnvalidateBackground(); |
karpent | 0:d8b9955d2b36 | 80 | |
karpent | 0:d8b9955d2b36 | 81 | /// <summary> |
karpent | 0:d8b9955d2b36 | 82 | /// Generate sample targets. |
karpent | 0:d8b9955d2b36 | 83 | /// </summary> |
karpent | 0:d8b9955d2b36 | 84 | /// <param name="count">The number of targets to create.</param> |
karpent | 0:d8b9955d2b36 | 85 | void AddSampleTargets(int count); |
karpent | 0:d8b9955d2b36 | 86 | |
karpent | 0:d8b9955d2b36 | 87 | #ifndef _SDL_timer_h |
karpent | 0:d8b9955d2b36 | 88 | Timer t; |
karpent | 0:d8b9955d2b36 | 89 | #endif |
karpent | 0:d8b9955d2b36 | 90 | |
karpent | 0:d8b9955d2b36 | 91 | private: |
karpent | 0:d8b9955d2b36 | 92 | uint32_t lastScanTime; |
karpent | 0:d8b9955d2b36 | 93 | uint32_t runningTime; |
karpent | 0:d8b9955d2b36 | 94 | float currentBeamAngle; |
karpent | 0:d8b9955d2b36 | 95 | float lastBeamAngle; |
karpent | 0:d8b9955d2b36 | 96 | |
karpent | 0:d8b9955d2b36 | 97 | bool _needsRedraw; |
karpent | 0:d8b9955d2b36 | 98 | }; |
karpent | 0:d8b9955d2b36 | 99 |