~aleteoryx/muditaos

ref: 6ebd1550db1192b335eba09dd349ce098b35aaf1 muditaos/module-bsp/board/linux/eink/LinuxEinkDisplay.hpp -rw-r--r-- 1.1 KiB
6ebd1550 — Maciej-Mudita [MOS-686] Revert - Fix the accessibility of user files by MTP 3 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#pragma once

#include <hal/eink/AbstractEinkDisplay.hpp>

namespace hal::eink
{

    class LinuxEinkDisplay : public AbstractEinkDisplay
    {
      public:
        explicit LinuxEinkDisplay(FrameSize size);

      private:
        void setMode(const EinkDisplayColorMode mode) noexcept override;
        EinkStatus showImage(std::uint8_t *frameBuffer, const EinkRefreshMode refreshMode) override;
        void prepareEarlyRequest(const EinkRefreshMode refreshMode, const WaveformTemperature behaviour) override;

        void dither() override;
        void powerOn() override;
        void powerOff() override;
        void shutdown() override;
        void wipeOut() override;
        EinkStatus resetAndInit() override;
        [[nodiscard]] std::shared_ptr<devices::Device> getDevice() const noexcept override;

        FrameSize size;
        EinkDisplayColorMode displayColorMode{EinkDisplayColorMode::EinkDisplayColorModeStandard};
    };
} // namespace hal::eink