1 //-----------------------------------------------------------------------------
2 // Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
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
7 //-----------------------------------------------------------------------------
8 // Data and Graph commands
9 //-----------------------------------------------------------------------------
14 #include <stdlib.h> //size_t
15 #include <stdint.h> //uint_32+
16 #include <stdbool.h> //bool
18 #include "cmdparser.h" // for command_t
20 command_t
* CmdDataCommands();
22 int CmdData(const char *Cmd
);
23 void printDemodBuff(void);
24 void setDemodBuf(uint8_t *buff
, size_t size
, size_t startIdx
);
25 bool getDemodBuf(uint8_t *buff
, size_t *size
);
26 void save_restoreDB(uint8_t saveOpt
);// option '1' to save DemodBuffer any other to restore
27 int CmdPrintDemodBuff(const char *Cmd
);
28 int Cmdaskrawdemod(const char *Cmd
);
29 int Cmdaskmandemod(const char *Cmd
);
30 int AutoCorrelate(const int *in
, int *out
, size_t len
, int window
, bool SaveGrph
, bool verbose
);
31 int CmdAutoCorr(const char *Cmd
);
32 int CmdBiphaseDecodeRaw(const char *Cmd
);
33 int CmdBitsamples(const char *Cmd
);
34 int CmdBuffClear(const char *Cmd
);
35 int CmdDec(const char *Cmd
);
36 int CmdDetectClockRate(const char *Cmd
);
37 int CmdFSKrawdemod(const char *Cmd
);
38 int CmdPSK1rawDemod(const char *Cmd
);
39 int CmdPSK2rawDemod(const char *Cmd
);
40 int CmdGrid(const char *Cmd
);
41 int CmdGetBitStream(const char *Cmd
);
42 int CmdHexsamples(const char *Cmd
);
43 int CmdHide(const char *Cmd
);
44 int CmdHpf(const char *Cmd
);
45 int CmdLoad(const char *Cmd
);
46 int CmdLtrim(const char *Cmd
);
47 int CmdRtrim(const char *Cmd
);
48 int Cmdmandecoderaw(const char *Cmd
);
49 int CmdNorm(const char *Cmd
);
50 int CmdNRZrawDemod(const char *Cmd
);
51 int CmdPlot(const char *Cmd
);
52 int CmdPrintDemodBuff(const char *Cmd
);
53 int CmdRawDemod(const char *Cmd
);
54 int CmdSamples(const char *Cmd
);
55 int CmdTuneSamples(const char *Cmd
);
56 int CmdSave(const char *Cmd
);
57 int CmdScale(const char *Cmd
);
58 int CmdDirectionalThreshold(const char *Cmd
);
59 int CmdZerocrossings(const char *Cmd
);
60 int ASKbiphaseDemod(const char *Cmd
, bool verbose
);
61 int ASKDemod(const char *Cmd
, bool verbose
, bool emSearch
, uint8_t askType
);
62 int ASKDemod_ext(const char *Cmd
, bool verbose
, bool emSearch
, uint8_t askType
, bool *stCheck
);
63 int FSKrawDemod(const char *Cmd
, bool verbose
);
64 int PSKDemod(const char *Cmd
, bool verbose
);
65 int NRZrawDemod(const char *Cmd
, bool verbose
);
66 int getSamples(int n
, bool silent
);
67 void setClockGrid(int clk
, int offset
);
68 int directionalThreshold(const int* in
, int *out
, size_t len
, int8_t up
, int8_t down
);
69 extern int AskEdgeDetect(const int *in
, int *out
, int len
, int threshold
);
70 //int autoCorr(const int* in, int *out, size_t len, int window);
72 #define MAX_DEMOD_BUF_LEN (1024*128)
73 extern uint8_t DemodBuffer
[MAX_DEMOD_BUF_LEN
];
74 extern size_t DemodBufferLen
;
75 extern int g_DemodStartIdx
;
76 extern int g_DemodClock
;
77 extern uint8_t g_debugMode
;
78 #define BIGBUF_SIZE 40000