diff src/cs/services/atp/atp_uart_api.c @ 0:92470e5d0b9e

src: partial import from FC Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 15 May 2020 01:28:16 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cs/services/atp/atp_uart_api.c	Fri May 15 01:28:16 2020 +0000
@@ -0,0 +1,137 @@
+/********************************************************************************/
+/*                                                                              */
+/*    File Name:         atp_uart_api.c                                         */
+/*                                                                              */
+/*    Purpose:           This file contains the external functions related to   */
+/*                       the ATP-UART interface.                                */
+/*                                                                              */
+/*    Note:              None.                                                  */
+/*                                                                              */
+/*    Revision History:                                                         */
+/*       10/04/01        Pascal Pompei                                          */
+/*                          - Create.                                           */
+/*                                                                              */
+/* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved.   */
+/*                                                                              */
+/********************************************************************************/
+#include "atp/atp_uart_i.h"
+#include "rvm/rvm_use_id_list.h"
+
+
+/********************************************************************************/
+/*                                                                              */
+/*    Function Name:     atp_uart_open_com_port                                 */
+/*                                                                              */
+/*    Purpose:           This function instructs the ATP-UART interface to open */
+/*                       the COM port.                                          */
+/*                                                                              */
+/*    Input Parameters:                                                         */
+/*       com_port           - Contains the COM port number.                     */
+/*       baud_rate          - Contains the baud rate (in bits per second).      */
+/*                                                                              */
+/*    Output Parameters: None.                                                  */
+/*                                                                              */
+/*    Global Parameters: None.                                                  */
+/*                                                                              */
+/*    Note:              None.                                                  */
+/*                                                                              */
+/*    Revision History:                                                         */
+/*       10/04/01        Pascal Pompei                                          */
+/*                          - Create.                                           */
+/*                                                                              */
+/********************************************************************************/
+T_ATP_UART_ERROR_CODES atp_uart_open_com_port (T_ATP_UART_COM_PORT   com_port,
+											   T_ATP_UART_BAUD_RATE  baud_rate)
+{
+    /* Declare a local variable.                                                */
+	T_ATP_UART_OPEN_COM_PORT  *open_com_port_p = NULL;
+
+/******************** atp_uart_open_com_port function begins ********************/
+
+	/* Allocate memory required to instruct the ATP-UART interface to open the  */
+	/* COM port. If insufficient resources, then report an internal memory      */
+	/* error and abort.                                                         */
+	if (rvf_get_buf (gbl_atp_uart_ctrl_blk_p->mb_id, \
+					 sizeof (T_ATP_UART_OPEN_COM_PORT), \
+					 (T_RVF_BUFFER **) (&open_com_port_p)) == RVF_RED)
+	{
+		rvf_send_trace ("  ATP-UART (api). Insufficient resources ",
+						41,
+						NULL_PARAM,
+						RV_TRACE_LEVEL_WARNING,
+						ATP_USE_ID);
+		return (RV_MEMORY_ERR);
+	}
+
+	/* Fill the 'ATP-UART Open COM Port' header up.                             */
+	(open_com_port_p->os_header).msg_id        = ATP_UART_OPEN_COM_PORT;
+	(open_com_port_p->os_header).src_addr_id   = RVF_INVALID_ADDR_ID;
+	(open_com_port_p->os_header).callback_func = NULL;
+
+	/* Fill the 'ATP-UART Open COM Port' payload up.                            */
+	open_com_port_p->com_port  = com_port;
+	open_com_port_p->baud_rate = baud_rate;
+
+	/* Send the 'ATP-UART Open COM Port' notification to the ATP-UART           */
+	/* interface.                                                               */
+	return (rvf_send_msg (gbl_atp_uart_ctrl_blk_p->addr_id, \
+						  open_com_port_p));
+
+} /******************* End of atp_uart_open_com_port function *******************/
+
+
+/********************************************************************************/
+/*                                                                              */
+/*    Function Name:     atp_uart_start_gsm                                     */
+/*                                                                              */
+/*    Purpose:           This function instructs the ATP-UART interface to      */
+/*                       initiate using the GSM protocol stack.                 */
+/*                                                                              */
+/*    Input Parameters:  None.                                                  */
+/*                                                                              */
+/*    Output Parameters: None.                                                  */
+/*                                                                              */
+/*    Global Parameters: None.                                                  */
+/*                                                                              */
+/*    Note:              The GSM protocol stack is initialized by invoking the  */
+/*                       following AT commands:                                 */
+/*                          AT+CFUN=1 : Set Phone Functionality (Full),         */
+/*                          AT+COPS=0 : Operator Selection.                     */
+/*                                                                              */
+/*    Revision History:                                                         */
+/*       09/26/02        Pascal Pompei                                          */
+/*                          - Create.                                           */
+/*                                                                              */
+/********************************************************************************/
+T_ATP_UART_ERROR_CODES atp_uart_start_gsm (void)
+{
+    /* Declare a local variable.                                                */
+	T_ATP_UART_START_GSM  *start_gsm_p = NULL;
+
+/********************** atp_uart_start_gsm function begins **********************/
+
+	/* Allocate memory required to instruct the ATP-UART interface to initiate  */
+	/* using the GSM protocol stack. If insufficient resources, then report an  */
+	/* internal memory error and abort.                                         */
+	if (rvf_get_buf (gbl_atp_uart_ctrl_blk_p->mb_id, \
+					 sizeof (T_ATP_UART_START_GSM), \
+					 (T_RVF_BUFFER **) (&start_gsm_p)) == RVF_RED)
+	{
+		rvf_send_trace ("  ATP-UART (api). Insufficient resources ",
+						41,
+						NULL_PARAM,
+						RV_TRACE_LEVEL_WARNING,
+						ATP_USE_ID);
+		return (RV_MEMORY_ERR);
+	}
+
+	/* Fill the 'ATP-UART Start GSM' header up.                                 */
+	(start_gsm_p->os_header).msg_id        = ATP_UART_START_GSM;
+	(start_gsm_p->os_header).src_addr_id   = RVF_INVALID_ADDR_ID;
+	(start_gsm_p->os_header).callback_func = NULL;
+
+	/* Send the 'ATP-UART Start GSM' notification to the ATP-UART interface.    */
+	return (rvf_send_msg (gbl_atp_uart_ctrl_blk_p->addr_id, \
+						  start_gsm_p));
+
+} /********************* End of atp_uart_start_gsm function *********************/