Esempio n. 1
0
void sendMsfAtCmd(char cmd)
{
	BYTE data[1];
	data[0] = cmd;
	SendPPStatusInd(0x12,data,1);
}
Esempio n. 2
0
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;
	}
}
Esempio n. 3
0
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;
	}
}