]> git.zerfleddert.de Git - proxmark3-svn/blob - client/graph.h
apply @holiman s graph changes +
[proxmark3-svn] / client / graph.h
1 //-----------------------------------------------------------------------------
2 // Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
3 //
4 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
5 // at your option, any later version. See the LICENSE.txt file for the text of
6 // the license.
7 //-----------------------------------------------------------------------------
8 // Graph utilities
9 //-----------------------------------------------------------------------------
10
11 #ifndef GRAPH_H__
12 #define GRAPH_H__
13 #include <stdint.h>
14
15 void AppendGraph(int redraw, int clock, int bit);
16 int ClearGraph(int redraw);
17 //int DetectClock(int peak);
18 size_t getFromGraphBuf(uint8_t *buff);
19 int GetAskClock(const char str[], bool printAns, bool verbose);
20 int GetPskClock(const char str[], bool printAns, bool verbose);
21 uint8_t GetPskCarrier(const char str[], bool printAns, bool verbose);
22 uint8_t GetNrzClock(const char str[], bool printAns, bool verbose);
23 uint8_t GetFskClock(const char str[], bool printAns, bool verbose);
24 uint8_t fskClocks(uint8_t *fc1, uint8_t *fc2, uint8_t *rf1, bool verbose, int *firstClockEdge);
25 //uint8_t fskClocks(uint8_t *fc1, uint8_t *fc2, uint8_t *rf1, bool verbose);
26 bool graphJustNoise(int *BitStream, int size);
27 void setGraphBuf(uint8_t *buff, size_t size);
28 void save_restoreGB(uint8_t saveOpt);
29
30 bool HasGraphData();
31 void DetectHighLowInGraph(int *high, int *low, bool addFuzz);
32
33 // Max graph trace len: 40000 (bigbuf) * 8 (at 1 bit per sample)
34 #define MAX_GRAPH_TRACE_LEN (40000 * 8 )
35
36 extern int GraphBuffer[MAX_GRAPH_TRACE_LEN];
37 extern int GraphTraceLen;
38 extern int s_Buff[MAX_GRAPH_TRACE_LEN];
39
40 int autoCorr(const int* in, int *out, size_t len, int window);
41 int directionalThreshold(const int* in, int *out, size_t len, int8_t up, int8_t down);
42
43 #endif
Impressum, Datenschutz