Subversion Repositories testOled

Rev

Rev 4 | Rev 6 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4 Rev 5
Line 5... Line 5...
5
 *      Author: mike
5
 *      Author: mike
6
 */
6
 */
7
 
7
 
8
#include "main.h"
8
#include "main.h"
9
#include "display.h"
9
#include "display.h"
-
 
10
#include "timing.h"
10
#include <cstring>
11
#include <cstring>
11
#include "libOLED/stm32_halDisplay.H"
12
#include "libOLED/stm32_halDisplay.H"
12
#include "libOLED/fontclass.H"
13
#include "libOLED/fontclass.H"
13
#include "libOLED/displayDial.H"
14
#include "libOLED/displayDial.H"
14
#include "libOLED/displayXY.H"
15
#include "libOLED/displayXY.H"
Line 23... Line 24...
23
        int const HEIGHT = 64;
24
        int const HEIGHT = 64;
24
        int const DISPLAY_RAMWIDTH = 132;
25
        int const DISPLAY_RAMWIDTH = 132;
25
 
26
 
26
        int x = 500;
27
        int x = 500;
27
        int y = 20;
28
        int y = 20;
28
        int ph= 0;
29
        int ph = 0;
-
 
30
 
-
 
31
 
29
}
32
}
30
 
33
 
31
uint8_t displayBuffer[2][dataSize(WIDTH, HEIGHT)];
34
uint8_t displayBuffer[2][dataSize(WIDTH, HEIGHT)];
32
 
35
 
33
stm32_halDisplay_t displays[MAX_DISPLAYS] =
36
stm32_halDisplay_t displays[MAX_DISPLAYS] =
Line 39... Line 42...
39
                                                   SPI_RESET_GPIO_Port,
42
                                                   SPI_RESET_GPIO_Port,
40
                                                   SPI_RESET_Pin,
43
                                                   SPI_RESET_Pin,
41
                                                   SPI_NSS1_GPIO_Port,
44
                                                   SPI_NSS1_GPIO_Port,
42
                                                   SPI_NSS1_Pin),
45
                                                   SPI_NSS1_Pin),
43
};
46
};
44
// display from 0 to 1000 rpm , and 0 to 100kPa
47
// display from 0 to 1000 rpm , and 0 to 1000mB 
45
displayXY_t dispXY(displays[0], 500, 6000, 100, 0);
48
displayXY_t dispXY(displays[0], 500, 6000, 1000, 0);
46
 
49
 
47
// set up sine tables
50
// set up sine tables
48
ap_math m;
51
ap_math m;
49
 
52
 
50
#if defined __cplusplus
53
#if defined __cplusplus
Line 78... Line 81...
78
                        return -1;
81
                        return -1;
79
                stm32_halDisplay_t &display = displays[dialIndex];
82
                stm32_halDisplay_t &display = displays[dialIndex];
80
                display.clearDisplay(BLACK);
83
                display.clearDisplay(BLACK);
81
                dispXY.drawAxes();
84
                dispXY.drawAxes();
82
                x += 50;
85
                x += 50;
83
                y = m.ap_sin((ph+x)/2 )/10 + 50;
86
                y = m.ap_sin(ph + (x / 20))  + 1000-256;  // wobbling about 1000 mB down to about 490mB
84
 
87
 
85
                if (x > 6000)
88
                if (x > 6000)
86
                {
89
                {
87
                        ph += 200;
90
                        ph += 200;
88
                        if(ph> 360*m.SINE_SCALING)
91
                        if (ph > 360 * m.SINE_SCALING)
89
                          ph-=360*m.SINE_SCALING;
92
                                ph -= 360 * m.SINE_SCALING;
90
                   
93
 
91
                        x = 500;
94
                        x = 500;
92
                }
95
                }
93
                display.dim(false);
96
                display.dim(false);
94
                char buff[10];
97
                char buff[10];
95
                char buff1[10];
98
                char buff1[10];
96
                char buff2[10];
99
                char buff2[10];
97
                small_sprintf(buff1, "x=%4d", x);
100
                small_sprintf(buff1, "x=%4d", x);
98
                small_sprintf(buff2, "y=%4d", y);
101
                small_sprintf(buff2, "y=%4d", y);
-
 
102
                int tim = timing(x,1000-y);
99
                small_sprintf(buff,  "123\xb0");
103
                small_sprintf(buff, "%2d.%1d\xb0",tim/10, tim%10 );
100
 
104
 
101
                dispXY.plotPoint(x, y, buff, buff1, buff2);
105
                dispXY.plotPoint(x, y, buff, buff1, buff2);
102
                display.dim(true);
106
                display.dim(true);
103
                display.display();
107
                display.display();
104
 
108