54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
|
|
// This file contains a simple hello world app which you can base you own apps on.
|
|
|
|
#include "main.h"
|
|
#include "hardware.h"
|
|
#include "pax_gfx.h"
|
|
#include "pax_codecs.h"
|
|
#include "ili9341.h"
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/task.h"
|
|
#include "freertos/queue.h"
|
|
#include "esp_system.h"
|
|
|
|
static pax_buf_t buf;
|
|
xQueueHandle buttonQueue;
|
|
|
|
static const char *TAG = "mch2022-demo-app";
|
|
|
|
void disp_flush() {
|
|
ili9341_write(get_ili9341(), buf.buf);
|
|
}
|
|
|
|
void app_main() {
|
|
// Init HW.
|
|
bsp_init();
|
|
bsp_rp2040_init();
|
|
buttonQueue = get_rp2040()->queue;
|
|
|
|
// Init GFX.
|
|
pax_buf_init(&buf, NULL, 320, 240, PAX_BUF_16_565RGB);
|
|
|
|
while (1) {
|
|
// Pick a random background color.
|
|
int hue = esp_random() & 255;
|
|
pax_col_t col = pax_col_hsv(hue, 255 /*saturation*/, 255 /*brighness*/);
|
|
|
|
// Show some random color hello world.
|
|
pax_background(&buf, col);
|
|
char *text = "Hello, World!";
|
|
const pax_font_t *font = pax_get_font("saira condensed");
|
|
pax_vec1_t dims = pax_text_size(font, font->default_size, text);
|
|
pax_draw_text(
|
|
&buf, 0xff000000, font, font->default_size,
|
|
(buf.width - dims.x) / 2.0,
|
|
(buf.height - dims.y) / 2.0,
|
|
text
|
|
);
|
|
disp_flush();
|
|
|
|
// Await any button press and do another cycle.
|
|
rp2040_input_message_t message;
|
|
xQueueReceive(buttonQueue, &message, portMAX_DELAY);
|
|
}
|
|
}
|