Optimaze with new mbed os for study

Dependencies:   TS_DISCO_F746NG BSP_DISCO_F746NG Graphics

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?

UserRevisionLine numberNew 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