Improved speed of firmware. Code is able to handle dynamic screen size now.
This commit is contained in:
parent
57dd3261fa
commit
49c0068a32
3 changed files with 12 additions and 12 deletions
|
@ -14,7 +14,7 @@
|
|||
|
||||
#define DEBUG_SERIAL
|
||||
#define DEBUG_BUFF
|
||||
#define DELAY 1000
|
||||
#define DELAY 250
|
||||
|
||||
// Width and height of sprite
|
||||
#define WIDTH 240
|
||||
|
@ -27,8 +27,8 @@
|
|||
#define B_MULT BUFF_SIZE/NUM_SAMPLES
|
||||
|
||||
#define BUTTON_Ok 32
|
||||
#define BUTTON_Plus 35
|
||||
#define BUTTON_Minus 15
|
||||
#define BUTTON_Plus 15
|
||||
#define BUTTON_Minus 35
|
||||
#define BUTTON_Back 34
|
||||
|
||||
TFT_eSPI tft = TFT_eSPI(); // Declare object "tft"
|
||||
|
|
|
@ -12,7 +12,7 @@ int voltage_division[6] = { //screen has 4 divisions, 31 pixels each (125 pixels
|
|||
thus, the time division is the number
|
||||
of samples per screen division
|
||||
*/
|
||||
float time_division[9] = { //screen has 4 divisions, 60 pixel each (240 pixel of width)
|
||||
float time_division[9] = { //screen has 4 divisions, 60 pixel each (WIDTH pixel of width)
|
||||
10,
|
||||
25,
|
||||
50,
|
||||
|
|
|
@ -12,7 +12,7 @@ void setup_screen() {
|
|||
tft.fillScreen(TFT_BLACK);
|
||||
}
|
||||
|
||||
int data[280] = {0};
|
||||
int data[HEIGHT] = {0};
|
||||
|
||||
float to_scale(float reading) {
|
||||
float temp = WIDTH -
|
||||
|
@ -151,7 +151,7 @@ void draw_sprite(float freq,
|
|||
|
||||
int shift = 150;
|
||||
if (menu) {
|
||||
spr.drawLine( 0, 120, 280, 120, TFT_WHITE); //center line
|
||||
spr.drawLine( 0, 120, HEIGHT, 120, TFT_WHITE); //center line
|
||||
spr.fillRect(shift, 0, 102, 135, TFT_BLACK);
|
||||
spr.drawRect(shift, 0, 102, 135, TFT_WHITE);
|
||||
spr.fillRect(shift + 1, 3 + 10 * (opt - 1), 100, 11, TFT_RED);
|
||||
|
@ -195,8 +195,8 @@ void draw_sprite(float freq,
|
|||
}
|
||||
}
|
||||
else if (info) {
|
||||
spr.drawLine( 0, 120, 280, 120, TFT_WHITE); //center line
|
||||
//spr.drawRect(shift + 10, 0, 280 - shift - 20, 30, TFT_WHITE);
|
||||
spr.drawLine( 0, 120, HEIGHT, 120, TFT_WHITE); //center line
|
||||
//spr.drawRect(shift + 10, 0, HEIGHT - shift - 20, 30, TFT_WHITE);
|
||||
spr.drawString("P-P: " + String(max_v - min_v) + "V", shift + 15, 5);
|
||||
spr.drawString(frequency, shift + 15, 15);
|
||||
spr.drawString(String(int(v_div)) + "mV/div", shift - 100, 5);
|
||||
|
@ -215,15 +215,15 @@ void draw_sprite(float freq,
|
|||
|
||||
void draw_grid() {
|
||||
|
||||
for (int i = 0; i < 28; i++) {
|
||||
for (int i = 0; i < (HEIGHT/10); i++) {
|
||||
spr.drawPixel(i * 10, 40, TFT_WHITE);
|
||||
spr.drawPixel(i * 10, 80, TFT_WHITE);
|
||||
spr.drawPixel(i * 10, 120, TFT_WHITE);
|
||||
spr.drawPixel(i * 10, 160, TFT_WHITE);
|
||||
spr.drawPixel(i * 10, 200, TFT_WHITE);
|
||||
}
|
||||
for (int i = 0; i < 240; i += 10) {
|
||||
for (int j = 0; j < 280; j += 40) {
|
||||
for (int i = 0; i < WIDTH; i += 10) {
|
||||
for (int j = 0; j < HEIGHT; j += 40) {
|
||||
spr.drawPixel(j, i, TFT_WHITE);
|
||||
}
|
||||
}
|
||||
|
@ -245,7 +245,7 @@ void draw_channel1(uint32_t trigger0, uint32_t trigger1, uint16_t *i2s_buff, flo
|
|||
trigger0 += index_offset;
|
||||
uint32_t old_index = trigger0;
|
||||
float n_data = 0, o_data = to_scale(i2s_buff[trigger0]);
|
||||
for (uint32_t i = 1; i < 280; i++) {
|
||||
for (uint32_t i = 1; i < HEIGHT; i++) {
|
||||
uint32_t index = trigger0 + (uint32_t)((i + 1) * data_per_pixel);
|
||||
if (index < BUFF_SIZE) {
|
||||
if (full_pix && s_div > 40 && current_filter == 0) {
|
||||
|
|
Loading…
Reference in a new issue