Files
AD7745-Arduino/ACM1219_Interface_Rev01/analyse_commands.ino
2025-08-06 14:20:36 +02:00

117 lines
2.5 KiB
C++

//********************Subroutine********************
//Analyse command
byte analyse_cmd(char* cmd){
switch (cmd[0]*cmd[1]-cmd[2]) //analyse cmd string
{
case 11417: //read...
switch(cmd[4]*cmd[5]-cmd[6]){ //analyse read command
case 5678: //CVT
readCVT(settings);
break;
case 5523: //AVC
readAVCVT();
break;
case 6907: //STA
readSTATUS();
break;
case 6478: //MUC
readMUC(settings,cmd);
break;
default:
Serial.println("READ-ERROR");
}
break;
case 11499: //set...
Serial.println(cmd); //return received string to acknowledge the reception
switch(cmd[3]*cmd[4]-cmd[5]){ //analyse set command
case 4813: //CIN
setCIN(settings,cmd);
break;
case 5471: //LIM
setLIMIT(limits,cmd);
break;
case 7192: //VT (and white space (ASCII32))
setVT(cmd);
break;
case 5596: //CT (and white space (ASCII32))
setCT(cmd);
break;
case 6005: //EXC
setEXC(cmd);
break;
case 7157: //VTC
setVTCHOP(cmd);
break;
case 5017: //CLK
setCLKCTRL(cmd);
break;
case 7141: //VTS
setVTSHORT(cmd);
break;
case 4275: //CAP
setCAPCHOP(cmd);
break;
case 5215: //CON
setCONVMOD(cmd);
break;
case 5223: //COF
setCOF(cmd);
break;
case 4692: //CGA
setCGAINOF(cmd);
break;
case 6041: //VGA
setVGAINOF(cmd);
break;
default:
Serial.println("SET-ERROR");
}
break;
case 2998: //*IDN?
Serial.println("0x48,ACM1219,Arduino Uno ATMEGA328P-PU,AD7746 Capacitance-to-Digital Converter,A.Beckert");
break;
case 11037: //saveSettings
Serial.println(cmd); //return received string to acknowledge the reception
saveSettings();
break;
case 11399: //restoreDefaults
Serial.println(cmd); //return received string to acknowledge the reception
restoreDefaults();
break;
default:
Serial.print(cmd); //return received string to acknowledge the reception
Serial.println(",CMD-ERROR");
}
}