Refactor lambdas

This commit is contained in:
mark9064 2024-04-02 11:14:45 +01:00 committed by JF
parent 940cd3459f
commit 9a7ba405e1
2 changed files with 20 additions and 22 deletions

View file

@ -29,27 +29,27 @@ void St7789::Init() {
DisplayOn();
}
void St7789::EnableDataMode(bool isStart) {
if (isStart) {
nrf_gpio_pin_set(pinDataCommand);
}
}
void St7789::EnableCommandMode(bool isStart) {
if (isStart) {
nrf_gpio_pin_clear(pinDataCommand);
}
}
void St7789::WriteData(uint8_t data) {
WriteSpi(&data, 1, [this](bool isStart) {
EnableDataMode(isStart);
WriteData(&data, 1);
}
void St7789::WriteData(const uint8_t* data, size_t size) {
WriteSpi(data, size, [pinDataCommand = pinDataCommand](bool isStart) {
if (isStart) {
nrf_gpio_pin_set(pinDataCommand);
}
});
}
void St7789::WriteCommand(uint8_t cmd) {
WriteSpi(&cmd, 1, [this](bool isStart) {
EnableCommandMode(isStart);
void St7789::WriteCommand(uint8_t data) {
WriteCommand(&data, 1);
}
void St7789::WriteCommand(const uint8_t* data, size_t size) {
WriteSpi(data, size, [pinDataCommand = pinDataCommand](bool isStart) {
if (isStart) {
nrf_gpio_pin_clear(pinDataCommand);
}
});
}
@ -138,9 +138,7 @@ void St7789::SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) {
void St7789::WriteToRam(const uint8_t* data, size_t size) {
WriteCommand(static_cast<uint8_t>(Commands::WriteToRam));
WriteSpi(data, size, [this](bool isStart) {
EnableDataMode(isStart);
});
WriteData(data, size);
}
void St7789::SetVdv() {

View file

@ -46,9 +46,8 @@ namespace Pinetime {
void SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);
void SetVdv();
void WriteCommand(uint8_t cmd);
void WriteCommand(const uint8_t* data, size_t size);
void WriteSpi(const uint8_t* data, size_t size, std::function<void(bool)> TransactionHook);
void EnableDataMode(bool isStart);
void EnableCommandMode(bool isStart);
enum class Commands : uint8_t {
SoftwareReset = 0x01,
@ -68,6 +67,7 @@ namespace Pinetime {
VdvSet = 0xc4,
};
void WriteData(uint8_t data);
void WriteData(const uint8_t* data, size_t size);
void ColumnAddressSet();
static constexpr uint16_t Width = 240;