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_SERIAL
|
||||||
#define DEBUG_BUFF
|
#define DEBUG_BUFF
|
||||||
#define DELAY 1000
|
#define DELAY 250
|
||||||
|
|
||||||
// Width and height of sprite
|
// Width and height of sprite
|
||||||
#define WIDTH 240
|
#define WIDTH 240
|
||||||
|
@ -27,8 +27,8 @@
|
||||||
#define B_MULT BUFF_SIZE/NUM_SAMPLES
|
#define B_MULT BUFF_SIZE/NUM_SAMPLES
|
||||||
|
|
||||||
#define BUTTON_Ok 32
|
#define BUTTON_Ok 32
|
||||||
#define BUTTON_Plus 35
|
#define BUTTON_Plus 15
|
||||||
#define BUTTON_Minus 15
|
#define BUTTON_Minus 35
|
||||||
#define BUTTON_Back 34
|
#define BUTTON_Back 34
|
||||||
|
|
||||||
TFT_eSPI tft = TFT_eSPI(); // Declare object "tft"
|
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
|
thus, the time division is the number
|
||||||
of samples per screen division
|
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,
|
10,
|
||||||
25,
|
25,
|
||||||
50,
|
50,
|
||||||
|
|
|
@ -12,7 +12,7 @@ void setup_screen() {
|
||||||
tft.fillScreen(TFT_BLACK);
|
tft.fillScreen(TFT_BLACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
int data[280] = {0};
|
int data[HEIGHT] = {0};
|
||||||
|
|
||||||
float to_scale(float reading) {
|
float to_scale(float reading) {
|
||||||
float temp = WIDTH -
|
float temp = WIDTH -
|
||||||
|
@ -151,7 +151,7 @@ void draw_sprite(float freq,
|
||||||
|
|
||||||
int shift = 150;
|
int shift = 150;
|
||||||
if (menu) {
|
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.fillRect(shift, 0, 102, 135, TFT_BLACK);
|
||||||
spr.drawRect(shift, 0, 102, 135, TFT_WHITE);
|
spr.drawRect(shift, 0, 102, 135, TFT_WHITE);
|
||||||
spr.fillRect(shift + 1, 3 + 10 * (opt - 1), 100, 11, TFT_RED);
|
spr.fillRect(shift + 1, 3 + 10 * (opt - 1), 100, 11, TFT_RED);
|
||||||
|
@ -195,8 +195,8 @@ void draw_sprite(float freq,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (info) {
|
else if (info) {
|
||||||
spr.drawLine( 0, 120, 280, 120, TFT_WHITE); //center line
|
spr.drawLine( 0, 120, HEIGHT, 120, TFT_WHITE); //center line
|
||||||
//spr.drawRect(shift + 10, 0, 280 - shift - 20, 30, TFT_WHITE);
|
//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("P-P: " + String(max_v - min_v) + "V", shift + 15, 5);
|
||||||
spr.drawString(frequency, shift + 15, 15);
|
spr.drawString(frequency, shift + 15, 15);
|
||||||
spr.drawString(String(int(v_div)) + "mV/div", shift - 100, 5);
|
spr.drawString(String(int(v_div)) + "mV/div", shift - 100, 5);
|
||||||
|
@ -215,15 +215,15 @@ void draw_sprite(float freq,
|
||||||
|
|
||||||
void draw_grid() {
|
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, 40, TFT_WHITE);
|
||||||
spr.drawPixel(i * 10, 80, TFT_WHITE);
|
spr.drawPixel(i * 10, 80, TFT_WHITE);
|
||||||
spr.drawPixel(i * 10, 120, TFT_WHITE);
|
spr.drawPixel(i * 10, 120, TFT_WHITE);
|
||||||
spr.drawPixel(i * 10, 160, TFT_WHITE);
|
spr.drawPixel(i * 10, 160, TFT_WHITE);
|
||||||
spr.drawPixel(i * 10, 200, TFT_WHITE);
|
spr.drawPixel(i * 10, 200, TFT_WHITE);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 240; i += 10) {
|
for (int i = 0; i < WIDTH; i += 10) {
|
||||||
for (int j = 0; j < 280; j += 40) {
|
for (int j = 0; j < HEIGHT; j += 40) {
|
||||||
spr.drawPixel(j, i, TFT_WHITE);
|
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;
|
trigger0 += index_offset;
|
||||||
uint32_t old_index = trigger0;
|
uint32_t old_index = trigger0;
|
||||||
float n_data = 0, o_data = to_scale(i2s_buff[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);
|
uint32_t index = trigger0 + (uint32_t)((i + 1) * data_per_pixel);
|
||||||
if (index < BUFF_SIZE) {
|
if (index < BUFF_SIZE) {
|
||||||
if (full_pix && s_div > 40 && current_filter == 0) {
|
if (full_pix && s_div > 40 && current_filter == 0) {
|
||||||
|
|
Loading…
Reference in a new issue