void sendMsfAtCmd(char cmd) { BYTE data[1]; data[0] = cmd; SendPPStatusInd(0x12,data,1); }
void at_data_from_rs232(char command,UByte * data, UByte length) { _sprintf_(StatusString,"at handler.232: %x",command); PrintStatus(0,StatusString); switch (command) { case 'A':/*answer*/ { if (state == AT_DIAL_REQ) { state = AT_BINARY; sendMsfAtCmd('a'); enter_binary_mode(); serprintf232("\r\nOK\r\n"); } }break; case 'd': case 'D':/*dial*/ { if (state == AT_IDLE) { sendMsfAtCmd('d'); state = AT_DIAL_REQ; } }break; case 'h': case 'H':/*hangup*/ { if (state == AT_BINARY_TERMINATED) { state = AT_IDLE; sendMsfAtCmd('h'); serprintf232("\r\nOK\r\n"); } }break; case 'b': case 'B':/*binary*/ { if (state == AT_BINARY) { int cnt; char result[255]; result[0] = 'b'; for (cnt=0;cnt<length;cnt++) result[cnt+1] = data[cnt]; SendPPStatusInd(0x12,(BYTE*)result,length+1); } }break; case 's':/*status*/ { _sprintf_(StatusString,"State: %x",state); serprintf232(StatusString); }break; case '+':/*leave binary*/ { if (state == AT_BINARY) { state = AT_BINARY_TERMINATED; serprintf232("\r\nOK\r\n"); } }break; case 'O':/*Open binary data again*/ { if (state == AT_BINARY_TERMINATED) { state = AT_BINARY; enter_binary_mode(); } } break; case 'E':/*Echo*/ { AT_echo = *data - 0x30; /*Convert from ascii*/ serprintf232("\r\nOK\r\n"); } break; } }
void at_data_from_rs232(char command,UByte * data, UByte length) { _sprintf_(StatusString,"at handler.232: %x",command); PrintStatus(0,StatusString); switch (command) { case 'A':/*answer*/ { if (state == AT_DIAL_REQ) { state = AT_BINARY; enter_binany_mode(); serprintf232("CONNECTED"); } }break; case 'd': case 'D':/*dial*/ { if (state == AT_IDLE) { serprintf232("RING"); state = AT_DIAL_REQ; /*sendMsfAtCmd('A');*/ /*state = AT_BINARY;*/ } /*sendMsfAtCmd('A');*/ /*state = AT_BINARY;*/ }break; case 'h': case 'H':/*hangup*/ { if (state == AT_BINARY_TERMINATED) { state = AT_IDLE; serprintf232("OK\n"); } }break; case 'b': case 'B':/*binary*/ { if (state == AT_BINARY) { int cnt; char result[255]; result[0] = 'b'; for (cnt=0;cnt<length;cnt++) result[cnt+1] = data[cnt]; SendPPStatusInd(0x12,(BYTE*)result,length+1); } }break; case 's':/*status*/ { _sprintf_(StatusString,"State: %x",state); serprintf232(StatusString); }break; case '+':/*leave binary*/ { if (state == AT_BINARY) { state = AT_BINARY_TERMINATED; } }break; } }