Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1702 | - | 1 | |
2 | |||
3 | /* ******************************************************************/ |
||
4 | /* *********************** BOOT UP FUNCTIONS ********************** */ |
||
5 | |||
6 | |||
7 | /////////////////////////////////////////////////////// |
||
8 | // Function: loadBar(void) |
||
9 | // |
||
10 | // On bootup time we will show loading bar for defined BOOTTIME seconds |
||
11 | // This is interesting to avoid writing to APM during bootup if OSD's TX is connected |
||
12 | // After that, it continue in normal mode eg starting to listen MAVLink commands |
||
13 | |||
14 | #define barX 5 |
||
15 | #define barY 12 |
||
16 | |||
17 | void loadBar() { //change name due we don't have CLI anymore |
||
18 | int waitTimer; |
||
19 | byte barStep = 0; |
||
20 | |||
21 | // Write plain panel to let users know what to do |
||
22 | panBoot(barX,barY); |
||
23 | |||
24 | delay(500); // To give small extra waittime to users |
||
25 | // Serial.flush(); |
||
26 | |||
27 | // Our main loop to wait input from user. |
||
28 | for(waitTimer = 0; waitTimer <= BOOTTIME; waitTimer++) { |
||
29 | |||
30 | // How often we update our progress bar is depending on modulo |
||
31 | if(waitTimer % (BOOTTIME / 8) == 0) { |
||
32 | barStep++; |
||
33 | |||
34 | // Update bar it self |
||
35 | osd.setPanel(barX + 12, barY); |
||
36 | osd.openPanel(); |
||
37 | switch(barStep) { |
||
38 | case 0: |
||
39 | osd.printf_P(PSTR("\xf1\xf2\xf2\xf2\xf2\xf2\xf2")); |
||
40 | break; |
||
41 | case 1: |
||
42 | osd.printf_P(PSTR("\xef\xf2\xf2\xf2\xf2\xf2\xf2")); |
||
43 | break; |
||
44 | case 2: |
||
45 | osd.printf_P(PSTR("\xee\xf0\xf2\xf2\xf2\xf2\xf2")); |
||
46 | break; |
||
47 | case 3: |
||
48 | osd.printf_P(PSTR("\xee\xee\xf0\xf2\xf2\xf2\xf2")); |
||
49 | break; |
||
50 | case 4: |
||
51 | osd.printf_P(PSTR("\xee\xee\xee\xf0\xf2\xf2\xf2")); |
||
52 | break; |
||
53 | case 5: |
||
54 | osd.printf_P(PSTR("\xee\xee\xee\xee\xf0\xf2\xf2")); |
||
55 | break; |
||
56 | case 6: |
||
57 | osd.printf_P(PSTR("\xee\xee\xee\xee\xee\xf0\xf2")); |
||
58 | break; |
||
59 | case 7: |
||
60 | osd.printf_P(PSTR("\xee\xee\xee\xee\xee\xee\xf0")); |
||
61 | break; |
||
62 | case 8: |
||
63 | osd.printf_P(PSTR("\xee\xee\xee\xee\xee\xee\xee")); |
||
64 | break; |
||
65 | case 9: |
||
66 | osd.printf_P(PSTR("\xee\xee\xee\xee\xee\xee\xee\xee")); |
||
67 | break; |
||
68 | } |
||
69 | osd.closePanel(); |
||
70 | } |
||
71 | |||
72 | delay(1); // Minor delay to make sure that we stay here long enough |
||
73 | } |
||
74 | } |
||
75 | |||
76 |