Add some helpful logging and print utilities
This commit is contained in:
@@ -103,6 +103,22 @@ func GenerateCalibrationImage(width, height int, colorSpace ColorSpace) []byte {
|
||||
return packBytesIntoNibbles(einkImage)
|
||||
}
|
||||
|
||||
func GenerateClearImage(width, height int, colorSpace ColorSpace) []byte {
|
||||
var einkImage []byte
|
||||
|
||||
// Assume the first color is white
|
||||
// What really matters is that the color is the same for the enitre image
|
||||
clearIndex := 3
|
||||
|
||||
for y := 0; y < height; y++ {
|
||||
for x := 0; x < width; x++ {
|
||||
einkImage = append(einkImage, colorSpace[clearIndex].Code)
|
||||
}
|
||||
}
|
||||
|
||||
return packBytesIntoNibbles(einkImage)
|
||||
}
|
||||
|
||||
func packBytesIntoNibbles(input []byte) []byte {
|
||||
// input length must divisible by 2
|
||||
|
||||
|
||||
@@ -68,6 +68,22 @@ func calibrationImage(w http.ResponseWriter, r *http.Request) {
|
||||
w.Write(data)
|
||||
}
|
||||
|
||||
func clearImage(w http.ResponseWriter, r *http.Request) {
|
||||
var imageProps ImageProperties
|
||||
err := json.NewDecoder(r.Body).Decode(&imageProps)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
data := GenerateClearImage(imageProps.Width, imageProps.Height, imageProps.ColorSpace)
|
||||
|
||||
fmt.Printf("Bytes to send: %+v\n", len(data))
|
||||
|
||||
w.Header().Set("Content-Length", strconv.Itoa(len(data)))
|
||||
w.Write(data)
|
||||
}
|
||||
|
||||
func fetchImage(w http.ResponseWriter, r *http.Request) {
|
||||
var imageProps ImageProperties
|
||||
err := json.NewDecoder(r.Body).Decode(&imageProps)
|
||||
@@ -130,6 +146,7 @@ func main() {
|
||||
// r.Use(basicAuth)
|
||||
r.Post("/fetchImage", fetchImage)
|
||||
r.Post("/calibrationImage", calibrationImage)
|
||||
r.Post("/clearImage", clearImage)
|
||||
})
|
||||
|
||||
fmt.Println("Started server")
|
||||
|
||||
Reference in New Issue
Block a user