-
Notifications
You must be signed in to change notification settings - Fork 1
/
HandwritingDetector.h
57 lines (45 loc) · 1.17 KB
/
HandwritingDetector.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef __HANDWRITING_DETECTOR_H__
#define __HANDWRITING_DETECTOR_H__
#include "mbed.h"
#include "stm32f413h_discovery.h"
#include "stm32f413h_discovery_ts.h"
#include "stm32f413h_discovery_lcd.h"
#include "tensor.hpp"
#include "image.h"
#include "models/deep_mlp.hpp"
//Really this should be a singleton, but I am lazy
class HandwritingDetector {
private:
template<typename T>
void clear(Image<T>& img){
for(int i = 0; i < img.get_xDim(); i++){
for(int j = 0; j < img.get_yDim(); j++){
img(i,j) = 0;
}
}
}
void run_inference(void);
void poll_display_for_touch(void);
public:
template<typename T>
void printImage(const Image<T>& img){
for(int i = 0; i < img.get_xDim(); i++){
for(int j = 0; j < img.get_yDim(); j++){
printf("%f, ", img(i,j));
}
printf("]\n\r");
}
}
HandwritingDetector();
~HandwritingDetector();
void start();
private:
InterruptIn button;
TS_StateTypeDef TS_State;
uint16_t x1, y1;
Image<float>* img;
Context ctx;
EventQueue q;
Thread t;
};
#endif