From a95737952d4fbb658b6de3bec312109b56caf6a6 Mon Sep 17 00:00:00 2001 From: Julian Picht Date: Tue, 20 Dec 2016 21:32:44 +0100 Subject: hacked in my disambiguator --- include/disambiguator.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 include/disambiguator.h (limited to 'include/disambiguator.h') diff --git a/include/disambiguator.h b/include/disambiguator.h new file mode 100644 index 0000000..58bce48 --- /dev/null +++ b/include/disambiguator.h @@ -0,0 +1,35 @@ +#ifndef DISAMBIGUATOR_H +#define DISAMBIGUATOR_H + +#define DIS_NUM_VALUES 8 + +typedef enum { + D_STATE_INVALID = 0, + D_STATE_LOCKED = 1, + D_STATE_UNLOCKED = -1, +} dis_state; + +typedef enum { + P_UNKNOWN = 0, + P_SYNC = 1, + P_SWEEP = 2, +} pulse_type; + +typedef struct disambiguator_ { + long times[DIS_NUM_VALUES]; + int scores[DIS_NUM_VALUES]; + dis_state state; + long last; + int max_confidence; + char code; +} disambiguator; + +typedef struct classified_pulse_ { + pulse_type t; + int length; +} classified_pulse; + +void disambiguator_init(disambiguator * d); +pulse_type disambiguator_step(disambiguator * d, long time, int length); + +#endif /* DISAMBIGUATOR_H */ \ No newline at end of file -- cgit v1.2.3