Files
PhotonVision/Main/src/main/java/com/chameleonvision/vision/camera/CameraSerializer.java

25 lines
1.1 KiB
Java
Raw Normal View History

2019-09-19 14:07:42 -04:00
package com.chameleonvision.vision.camera;
import com.google.gson.*;
import java.lang.reflect.Type;
public class CameraSerializer implements JsonSerializer<USBCamera> {
2019-09-19 14:07:42 -04:00
@Override
public JsonElement serialize(USBCamera USBCamera, Type type, JsonSerializationContext context) {
2019-09-19 14:07:42 -04:00
JsonObject obj = new JsonObject();
obj.addProperty("FOV", USBCamera.getFOV());
obj.addProperty("path", USBCamera.path);
obj.addProperty("name", USBCamera.name);
obj.addProperty("nickname", USBCamera.getNickname());
obj.addProperty("streamDivisor", USBCamera.getStreamDivisor().ordinal());
var pipelines = context.serialize(USBCamera.getPipelines());
2019-09-19 14:07:42 -04:00
obj.add("pipelines", pipelines);
obj.addProperty("resolution", USBCamera.getVideoModeIndex());
obj.add("camVideoMode", context.serialize(USBCamera.getVideoMode()));
obj.add("isDriver",context.serialize(USBCamera.getDriverMode()));
obj.add("driverExposure",context.serialize(USBCamera.getDriverExposure()));
obj.add("driverBrightness",context.serialize(USBCamera.getDriverBrightness()));
2019-09-19 14:07:42 -04:00
return obj;
}
}