| 158 | } __attribute__((packed)); |
| 159 | |
| 160 | class VectorDisplayClass : public Print { |
| 161 | private: |
| 162 | static const uint32_t MAX_BUFFER = (uint32_t)1024*256; |
| 163 | static const uint32_t MESSAGE_TIMEOUT = 3000; |
| 164 | static const uint8_t FLAG_LOW_ENDIAN_BITS = 1; |
| 165 | static const uint8_t FLAG_HAVE_MASK = 2; |
| 166 | static const uint8_t FLAG_PAD_BYTE = 4; |
| 167 | static const uint8_t FLAG_LOW_ENDIAN_BYTES = 8; |
| 168 | |
| 169 | bool waitForAck = true; |
| 170 | int gfxFontSize = 1; |
| 171 | int curx = 0; |
| 172 | int cury = 0; |
| 173 | int readPos = 0; |
| 174 | int32_t curForeColor565 = -1; |
| 175 | uint32_t lastMessageStart = 0; |
| 176 | int pointerX; |
| 177 | int pointerY; |
| 178 | int curWidth = VECTOR_DISPLAY_DEFAULT_WIDTH; |
| 179 | int curHeight = VECTOR_DISPLAY_DEFAULT_HEIGHT; |
| 180 | uint8_t curRotation = 0; |
| 181 | bool pointerDown = false; |
| 182 | bool wrap = 1; |
| 183 | bool fixCP437 = true; |
| 184 | uint16_t polyLineCount; |
| 185 | uint8_t polyLineSum; |
| 186 | uint32_t delayTime = 0; |
| 187 | |
| 188 | uint8_t readBuf[VECTOR_DISPLAY_MESSAGE_SIZE]; |
| 189 | union { |
| 190 | uint32_t color; |
| 191 | uint16_t twoByte[9]; |
| 192 | struct { |
| 193 | uint16_t x; |
| 194 | uint16_t y; |
| 195 | char text[VECTOR_DISPLAY_MAX_STRING+1]; |
| 196 | } __attribute__((packed)) xyText; |
| 197 | struct { |
| 198 | uint16_t endianness; |
| 199 | uint16_t width; |
| 200 | uint16_t height; |
| 201 | FixedPoint32 aspectRatio; |
| 202 | uint16_t reserved[3]; |
| 203 | } __attribute__((packed)) initialize; |
| 204 | struct { |
| 205 | uint8_t c; |
| 206 | char text[VECTOR_DISPLAY_MAX_STRING+1]; |
| 207 | } __attribute__((packed)) charText; |
| 208 | struct { |
| 209 | uint16_t width; |
| 210 | uint16_t height; |
| 211 | } __attribute__((packed)) coords; |
| 212 | struct { |
| 213 | char attr; |
| 214 | uint8_t value; |
| 215 | } __attribute__((packed)) attribute8; |
| 216 | struct { |
| 217 | char attr; |
nothing calls this directly
no outgoing calls
no test coverage detected