config: start implementing json-based configuration files

This commit is contained in:
2023-02-18 16:06:28 +01:00
parent 56e2e76954
commit 07e6e98673
2 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
#pragma once
#include <Figments.h>
#include <ArduinoJson.h>
struct JsonCoordinateMapping : CoordinateMapping {
struct Span {
int length = 0;
int x = 0;
int y = 0;
Span() {}
Span(int length, int x, int y) : length(length), x(x), y(y) {}
};
Span displayMap[32];
int strideCount = 0;
int maxStrideSize = 0;
void load(const JsonArray& strides);
void loadDefault();
VirtualCoordinates physicalToVirtualCoords(const PhysicalCoordinates localCoords) const override;
PhysicalCoordinates virtualToPhysicalCoords(const VirtualCoordinates virtualCoords) const override;
int physicalCoordsToIndex(const PhysicalCoordinates localCoords) const override;
unsigned int physicalPixelCount() const override;
};