pimoroni-pico/libraries/pico_explorer/pico_explorer.hpp

57 lines
1.4 KiB
C++

#pragma once
#include "drivers/st7789/st7789.hpp"
#include "libraries/pico_graphics/pico_graphics.hpp"
namespace pimoroni {
class PicoExplorer : public PicoGraphics {
public:
static const int WIDTH = 240;
static const int HEIGHT = 240;
static const uint8_t A = 12;
static const uint8_t B = 13;
static const uint8_t X = 14;
static const uint8_t Y = 15;
static const uint8_t ADC0 = 0;
static const uint8_t ADC1 = 1;
static const uint8_t ADC2 = 2;
static const uint8_t MOTOR1 = 0;
static const uint8_t MOTOR2 = 1;
static const uint8_t FORWARD = 0;
static const uint8_t REVERSE = 1;
static const uint8_t STOP = 2;
static const uint8_t GP0 = 0;
static const uint8_t GP1 = 1;
static const uint8_t GP2 = 2;
static const uint8_t GP3 = 3;
static const uint8_t GP4 = 4;
static const uint8_t GP5 = 5;
static const uint8_t GP6 = 6;
static const uint8_t GP7 = 7;
uint16_t *__fb;
private:
ST7789 screen;
int8_t audio_pin = -1;
public:
PicoExplorer(uint16_t *buf);
void init();
void update();
bool is_pressed(uint8_t button);
float get_adc(uint8_t channel);
void set_motor(uint8_t channel, uint8_t action, float speed = 0.0f);
void set_audio_pin(uint8_t pin);
void set_tone(uint16_t frequency, float duty = 0.2f);
};
}