+ char cmdp = param_getchar(Cmd, 0);
+ if (strlen(Cmd) > 3 || strlen(Cmd) == 0 || cmdp == 'h' || cmdp == 'H') {
+ PrintAndLog("Usage: data detectclock [modulation]");
+ PrintAndLog(" [modulation as char], specify the modulation type you want to detect the clock of");
+ PrintAndLog(" 'a' = ask, 'f' = fsk, 'n' = nrz/direct, 'p' = psk");
+ PrintAndLog("");
+ PrintAndLog(" sample: data detectclock a = detect the clock of an ask modulated wave in the GraphBuffer");
+ PrintAndLog(" data detectclock f = detect the clock of an fsk modulated wave in the GraphBuffer");
+ PrintAndLog(" data detectclock p = detect the clock of an psk modulated wave in the GraphBuffer");
+ PrintAndLog(" data detectclock n = detect the clock of an nrz/direct modulated wave in the GraphBuffer");
+ }
+ int ans=0;
+ if (cmdp == 'a'){
+ ans = GetAskClock("", true, false);
+ } else if (cmdp == 'f'){
+ ans = GetFskClock("", true, false);
+ } else if (cmdp == 'n'){
+ ans = GetNrzClock("", true, false);
+ } else if (cmdp == 'p'){
+ ans = GetPskClock("", true, false);
+ } else {
+ PrintAndLog ("Please specify a valid modulation to detect the clock of - see option h for help");
+ }
+ return ans;