Skip to content

Instantly share code, notes, and snippets.

@boochow
Created December 22, 2019 08:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save boochow/c9be48a95bc3d3e4955ef7d251b1722d to your computer and use it in GitHub Desktop.
Save boochow/c9be48a95bc3d3e4955ef7d251b1722d to your computer and use it in GitHub Desktop.
#include "output_handler.h"
#include <Arduino.h>
#include <M5Stack.h>
void DrawWing() {
int x = 60;
int y = 20;
int w = 200;
int h = 200;
int t = 20;
int k;
k = (w-t)/4;
M5.Lcd.fillTriangle(x, y, x+t, y, x + k, y+h, GREEN);
M5.Lcd.fillTriangle(x+t, y, x+k, y+h, x+k+t, y+h, GREEN);
M5.Lcd.fillTriangle(x+2*k, y, x+2*k+t, y, x+k, y+h, GREEN);
M5.Lcd.fillTriangle(x+2*k+t, y, x+k, y+h, x+k+t, y+h, GREEN);
x += 2*k;
M5.Lcd.fillTriangle(x, y, x+t, y, x + k, y+h, GREEN);
M5.Lcd.fillTriangle(x+t, y, x+k, y+h, x+k+t, y+h, GREEN);
M5.Lcd.fillTriangle(x+2*k, y, x+2*k+t, y, x+k, y+h, GREEN);
M5.Lcd.fillTriangle(x+2*k+t, y, x+k, y+h, x+k+t, y+h, GREEN);
}
void DrawRing() {
int x = 60;
int y = 20;
int w = 200;
int h = 200;
int t = 20;
M5.Lcd.fillEllipse(x+w/2, y+h/2, w/2, h/2, RED);
M5.Lcd.fillEllipse(x+w/2, y+h/2, w/2-t, h/2-t, BLACK);
}
void DrawSlope() {
int x = 60;
int y = 20;
int w = 200;
int h = 200;
int t = 20;
M5.Lcd.fillTriangle(x+w-t*1.5, y, x+w, y, x, y+w, BLUE);
M5.Lcd.fillTriangle(x+w, y, x, y+w, x+t*1.5, y+w, BLUE);
M5.Lcd.fillRect(x+t, y+h-t, w-t, t, BLUE);
}
void HandleOutput(tflite::ErrorReporter* error_reporter, int kind) {
// light (red: wing, blue: ring, green: slope)
if (kind == 0) {
error_reporter->Report(
"WING:\n\r* * *\n\r * * * "
"*\n\r * * * *\n\r * * * *\n\r * * "
"* *\n\r * *\n\r");
M5.Lcd.fillScreen(BLACK);
DrawWing();
} else if (kind == 1) {
error_reporter->Report(
"RING:\n\r *\n\r * *\n\r * *\n\r "
" * *\n\r * *\n\r * *\n\r "
" *\n\r");
M5.Lcd.fillScreen(BLACK);
DrawRing();
} else if (kind == 2) {
error_reporter->Report(
"SLOPE:\n\r *\n\r *\n\r *\n\r *\n\r "
"*\n\r *\n\r *\n\r * * * * * * * *\n\r");
M5.Lcd.fillScreen(BLACK);
DrawSlope();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment