Operating System

Dependencies:   UnitTest wolfssh mDNS wolfcrypt wolfSSL

This is an embedded operating system for K64F. It includes a ssh server, a web-server and mDNS server. It has POST on boot. The main purpose of the OS is a router for the thing network.

drivers/vga.h

Committer:
sPymbed
Date:
2019-06-13
Revision:
0:97ba3e2cd071
Child:
3:351ee68a721d

File content as of revision 0:97ba3e2cd071:



#ifndef __MYOS__DRIVERS__VGA_H
#define __MYOS__DRIVERS__VGA_H

//#include <hardwarecommunication/port.h>
//#include <drivers/driver.h>

namespace myos
{
    namespace drivers
    {

        class VideoGraphicsArray
        {
        protected:
            /*hardwarecommunication::Port8Bit miscPort;
            hardwarecommunication::Port8Bit crtcIndexPort;
            hardwarecommunication::Port8Bit crtcDataPort;
            hardwarecommunication::Port8Bit sequencerIndexPort;
            hardwarecommunication::Port8Bit sequencerDataPort;
            hardwarecommunication::Port8Bit graphicsControllerIndexPort;
            hardwarecommunication::Port8Bit graphicsControllerDataPort;
            hardwarecommunication::Port8Bit attributeControllerIndexPort;
            hardwarecommunication::Port8Bit attributeControllerReadPort;
            hardwarecommunication::Port8Bit attributeControllerWritePort;
            hardwarecommunication::Port8Bit attributeControllerResetPort;

            void WriteRegisters(uint8_t* registers);
            uint8_t* GetFrameBufferSegment();*/

            virtual uint8_t GetColorIndex(uint8_t r, uint8_t g, uint8_t b);


        public:
            VideoGraphicsArray();
            ~VideoGraphicsArray();

            virtual bool SupportsMode(uint32_t width, uint32_t height, uint32_t colordepth);
            virtual bool SetMode(uint32_t width, uint32_t height, uint32_t colordepth);
            virtual void PutPixel(int32_t x, int32_t y, uint8_t r, uint8_t g, uint8_t b);
            virtual void PutPixel(int32_t x, int32_t y, uint8_t colorIndex);

            virtual void FillRectangle(uint32_t x, uint32_t y, uint32_t w, uint32_t h, uint8_t r, uint8_t g, uint8_t b);

        };

    }
}

#endif