view uptools/atcmd/smsend_pdu.c @ 362:89fe66cb60f6

fcup-smsend program put together, compiles
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 05 Mar 2018 01:47:18 +0000
parents
children 46cf847781bd
line wrap: on
line source

/*
 * This module implements SMS sending/writing in PDU mode.
 */

#include <sys/types.h>
#include <stdio.h>

extern void cmgw_callback();

extern int sms_write_mode;

prep_for_pdu_mode()
{
	atinterf_exec_cmd_needok("AT+CMGF=0", 0, 0);
}

send_in_pdu_mode(da, textsrc, textlen, udh, udhl)
	u_char *da, *textsrc, *udh;
	unsigned textlen, udhl;
{
	char *cmdname;
	void (*callback)();
	u_char pdu[158];
	unsigned pdulen;
	char pduhex[317];
	char send_cmd[32];

	pdu[0] = 0;
	pdulen = make_sms_submit_pdu(da, textsrc, textlen, udh, udhl, pdu + 1);
	make_hex_string(pdu, pdulen + 1, pduhex);
	if (sms_write_mode) {
		cmdname = "CMGW";
		callback = cmgw_callback;
	} else {
		cmdname = "CMGS";
		callback = 0;
	}
	sprintf(send_cmd, "AT+%s=%u", cmdname, pdulen + 1);
	atinterf_exec_cmd_needok(send_cmd, pduhex, callback);
}