scope.cpp 1.23 KiB
#include <stdio.h>
#include "pico_display.hpp"
#include "drivers/st7789/st7789.hpp"
#include "libraries/pico_graphics/pico_graphics.hpp"
#include "rgbled.hpp"
#include "button.hpp"
using namespace pimoroni;
// Display driver
ST7789 st7789(PicoDisplay::WIDTH, PicoDisplay::HEIGHT, ROTATE_0, false, get_spi_pins(BG_SPI_FRONT));
// Graphics library - in RGB332 mode you get 256 colours and optional dithering for ~32K RAM.
PicoGraphics_PenRGB332 graphics(st7789.width, st7789.height, nullptr);
// RGB LED
RGBLED led(PicoDisplay::LED_R, PicoDisplay::LED_G, PicoDisplay::LED_B);
// And each button
Button button_a(PicoDisplay::A);
Button button_b(PicoDisplay::B);
Button button_x(PicoDisplay::X);
Button button_y(PicoDisplay::Y);
uint8_t red, green, blue;
int main() {
led.set_rgb(red, green, blue);
st7789.set_backlight(255);
while(true) {
if(button_a.read()) red++;
if(button_b.read()) green++;
if(button_x.read()) blue++;
led.set_rgb(red, green, blue);
graphics.set_pen(255-red, 255-green, 255-blue);
graphics.clear();
graphics.set_pen(red, green, blue);
char buf[100];
sprintf(buf, "Colour = #%02x%02x%02x", red, green, blue);
graphics.text(buf, Point(20,20), 100);
st7789.update(&graphics);
}
}