4a9b3a5881
Add usrsock daemon for ALT1250 LTE modem.
1581 lines
48 KiB
C
1581 lines
48 KiB
C
/****************************************************************************
|
|
* apps/include/lte/lte_api.h
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership. The
|
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __APPS_INCLUDE_LTE_LTE_API_H
|
|
#define __APPS_INCLUDE_LTE_LTE_API_H
|
|
|
|
/* - Abbreviations and terms
|
|
* - PDN : Packet Data Network
|
|
*
|
|
* Route for transferring packets between the terminal and LTE networks.
|
|
*
|
|
* - APN : Access Point Name
|
|
*
|
|
* Settings required when connecting to an LTE network.
|
|
*
|
|
* - IMSI : International Mobile Subscriber Identity
|
|
*
|
|
* International subscriber identification number recorded
|
|
* on the SIM card.
|
|
*
|
|
* - IMEI : International Mobile Equipment Identifier
|
|
*
|
|
* International identification number assigned to
|
|
* data communication terminals
|
|
*
|
|
* - PIN : Personal Identification Number
|
|
*
|
|
* - MCC : Mobile Country Code
|
|
*
|
|
* The mobile country code consists of three decimal digits.
|
|
*
|
|
* - MNC : Mobile Network Code
|
|
*
|
|
* The mobile network code consists of two or three decimal digits.
|
|
*
|
|
* - eDRX : extended Discontinuous Reception
|
|
*
|
|
* Communication technology that reduces power consumption
|
|
* by increasing the reception interval of various signals transmitted
|
|
* from LTE networks.
|
|
*
|
|
* - PSM : Power Saving Mode
|
|
*
|
|
* Communication technology that reduces power consumption
|
|
* by not communicating with the LTE network
|
|
* for a certain period of time.
|
|
*
|
|
* - CE : Coverage Enhancement
|
|
*
|
|
* Communication technology that attempts to resend data and eventually
|
|
* restores the original data even if the data is corrupted
|
|
* due to weak electric field communication.
|
|
*
|
|
* - RAT : Radio Access Technology
|
|
*
|
|
* Physical connection method for a radio based communication network.
|
|
*
|
|
* - LTE API system
|
|
* - Network connection API
|
|
*
|
|
* Radio ON / OFF, PDN connection establishment / destruction.
|
|
*
|
|
* - Communication quality and communication state API
|
|
*
|
|
* Acquisition of radio status, communication status, and local time.
|
|
*
|
|
* - SIM card control API
|
|
*
|
|
* Get phone number / IMSI, set the PIN, get SIM status.
|
|
*
|
|
* - Modem setting API
|
|
*
|
|
* Get modem firmware version and IMEI. Update communication settings.
|
|
*
|
|
* - API call type
|
|
*
|
|
* There are two types of LTE API: synchronous and asynchronous.
|
|
*
|
|
* - Synchronous API
|
|
* - Notifies the processing result as a return value.
|
|
*
|
|
* - Blocks the task that called the API until
|
|
* processing is completed on the modem.
|
|
*
|
|
* - If the return value is -EPROTO, you can get the error code
|
|
* with lte_get_errinfo.
|
|
*
|
|
* - If the argument attribute is out, the argument must be allocated
|
|
* by the caller.
|
|
*
|
|
* - Asynchronous API
|
|
* - The processing result is notified by callback.
|
|
* The callback is invoked in the task context.
|
|
*
|
|
* - Blocks the task that called the API until it requests
|
|
* processing from the modem.
|
|
*
|
|
* - Notifies the processing request result as a return value.
|
|
*
|
|
* - The callback is registered with the argument of each API.
|
|
* Registration is canceled when the processing result is notified.
|
|
*
|
|
* - The same API cannot be called until the processing result is notified
|
|
* by the callback.(-EINPROGRESS is notified with a return value.)
|
|
*
|
|
* - If the callback reports an error (LTE_RESULT_ERROR),
|
|
* detailed error information can be acquired with lte_get_errinfo.
|
|
*
|
|
* For some APIs, both synchronous and asynchronous APIs are available.
|
|
* The correspondence table of API is as follows.
|
|
*
|
|
*
|
|
* | Synchronous API | Asynchronous API |
|
|
* | ---------------------------- | --------------------------------- |
|
|
* | lte_initialize | |
|
|
* | lte_finalize | |
|
|
* | lte_set_report_restart | |
|
|
* | lte_power_on | |
|
|
* | lte_power_off | |
|
|
* | lte_set_report_netinfo | |
|
|
* | lte_set_report_simstat | |
|
|
* | lte_set_report_localtime | |
|
|
* | lte_set_report_quality | |
|
|
* | lte_set_report_cellinfo | |
|
|
* | lte_get_errinfo | |
|
|
* | lte_activate_pdn_cancel | |
|
|
* | lte_radio_on_sync | lte_radio_on (deprecated) |
|
|
* | lte_radio_off_sync | lte_radio_off (deprecated) |
|
|
* | lte_activate_pdn_sync | lte_activate_pdn |
|
|
* | lte_deactivate_pdn_sync | lte_deactivate_pdn (deprecated) |
|
|
* | lte_data_allow_sync | lte_data_allow (deprecated) |
|
|
* | lte_get_netinfo_sync | lte_get_netinfo (deprecated) |
|
|
* | lte_get_imscap_sync | lte_get_imscap (deprecated) |
|
|
* | lte_get_version_sync | lte_get_version (deprecated) |
|
|
* | lte_get_phoneno_sync | lte_get_phoneno (deprecated) |
|
|
* | lte_get_imsi_sync | lte_get_imsi (deprecated) |
|
|
* | lte_get_imei_sync | lte_get_imei (deprecated) |
|
|
* | lte_get_pinset_sync | lte_get_pinset (deprecated) |
|
|
* | lte_set_pinenable_sync | lte_set_pinenable (deprecated) |
|
|
* | lte_change_pin_sync | lte_change_pin (deprecated) |
|
|
* | lte_enter_pin_sync | lte_enter_pin (deprecated) |
|
|
* | lte_get_localtime_sync | lte_get_localtime (deprecated) |
|
|
* | lte_get_operator_sync | lte_get_operator (deprecated) |
|
|
* | lte_get_edrx_sync | lte_get_edrx (deprecated) |
|
|
* | lte_set_edrx_sync | lte_set_edrx (deprecated) |
|
|
* | lte_get_psm_sync | lte_get_psm (deprecated) |
|
|
* | lte_set_psm_sync | lte_set_psm (deprecated) |
|
|
* | lte_get_ce_sync | lte_get_ce (deprecated) |
|
|
* | lte_set_ce_sync | lte_set_ce (deprecated) |
|
|
* | lte_get_siminfo_sync | lte_get_siminfo (deprecated) |
|
|
* | lte_get_current_edrx_sync | lte_get_current_edrx (deprecated) |
|
|
* | lte_get_current_psm_sync | lte_get_current_psm (deprecated) |
|
|
* | lte_get_quality_sync | lte_get_quality (deprecated) |
|
|
* | lte_get_cellinfo_sync | |
|
|
* | lte_get_rat_sync | |
|
|
* | lte_set_rat_sync | |
|
|
* | lte_get_ratinfo_sync | |
|
|
* | lte_acquire_wakelock | |
|
|
* | lte_release_wakelock | |
|
|
* | lte_send_atcmd_sync | |
|
|
* | lte_factory_reset_sync | |
|
|
* | lte_set_context_save_cb | |
|
|
* | lte_hibernation_resume | |
|
|
*/
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#include <nuttx/config.h>
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <nuttx/wireless/lte/lte.h>
|
|
|
|
#ifdef __cplusplus
|
|
#define EXTERN extern "C"
|
|
extern "C"
|
|
{
|
|
#else
|
|
#define EXTERN extern
|
|
#endif
|
|
|
|
/****************************************************************************
|
|
* Public Function Prototypes
|
|
****************************************************************************/
|
|
|
|
/* Initialize resources used in LTE API.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_initialize(void);
|
|
|
|
/* Release resources used in LTE API.
|
|
*
|
|
* return On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_finalize(void);
|
|
|
|
/* Register the callback to notify that the modem has started up.
|
|
*
|
|
* The callback will be invoked if the modem starts successfully
|
|
* after calling lte_power_on. Some APIs have to wait until
|
|
* this callback is invoked. If no wait, those API return
|
|
* with an error. (-ENETDOWN)
|
|
*
|
|
* The callback is also invoked when the modem is restarted.
|
|
* The cause of the restart can be obtained from the callback argument.
|
|
*
|
|
* This function must be called after lte_initialize.
|
|
*
|
|
* Attention to the following
|
|
* when LTE_RESTART_MODEM_INITIATED is set.
|
|
* - Asynchronous API callbacks for which results have not been
|
|
* notified are canceled and becomes available.
|
|
*
|
|
* - The processing result of the synchronous API
|
|
* being called results in an error. (Return value is -ENETDOWN)
|
|
* The errno is ENETDOWN for the socket API.
|
|
*
|
|
* - It should close the socket by user application.
|
|
*
|
|
* [in] restart_callback: Callback function to notify that
|
|
* modem restarted.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_report_restart(restart_report_cb_t restart_callback);
|
|
|
|
/* Power on the modem.
|
|
*
|
|
* The callback which registered by lte_set_report_restart
|
|
* will be invoked if the modem starts successfully.
|
|
*
|
|
* This function must be called after lte_set_report_restart.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_power_on(void);
|
|
|
|
/* Power off the modem
|
|
*
|
|
* Attention to the following when this API calling.
|
|
* - For asynchronous API
|
|
* - callback is canceled.
|
|
*
|
|
* - For synchronous API
|
|
* - API returns with an error.
|
|
* - The return value is -ENETDOWN for the LTE API.
|
|
* - The errno is ENETDOWN for the socket API.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_power_off(void);
|
|
|
|
/* With the radio on, to start the LTE network search.
|
|
*
|
|
* Attention to the following when this API calling.
|
|
* - If SIM is PIN locked, the result will be an error.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_radio_on_sync(void);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* With the radio on, to start the LTE network search.
|
|
* The use of this API is deprecated.
|
|
* Use lte_radio_on_sync() instead.
|
|
*
|
|
* Attention to the following when this API calling.
|
|
* - If SIM is PIN locked, the result will be an error.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* radio on is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_radio_on(radio_on_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Exit LTE network searches with the radio off.
|
|
*
|
|
* If this function is called when a PDN has already been constructed,
|
|
* the PDN is discarded.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_radio_off_sync(void);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Exit LTE network searches with the radio off.
|
|
* The use of this API is deprecated.
|
|
* Use lte_radio_off_sync() instead.
|
|
*
|
|
* If this function is called when a PDN has already been constructed,
|
|
* the PDN is discarded.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* radio off is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_radio_off(radio_off_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get LTE network information.
|
|
*
|
|
* The maximum number of PDNs status areas must be allocated
|
|
* before calls this API.
|
|
*
|
|
* [in] pdn_num: Number of pdn_stat allocated by the user.
|
|
* The range is from LTE_PDN_SESSIONID_MIN to
|
|
* LTE_PDN_SESSIONID_MAX.
|
|
*
|
|
* [out] info: The LTE network information.
|
|
* See lte_netinfo_t
|
|
*
|
|
* attention Immediately after successful PDN construction
|
|
* using lte_activate_pdn_sync() or lte_activate_pdn(),
|
|
* session information such as IP address
|
|
* may not be acquired correctly.
|
|
* If you want to use this API after successfully construction
|
|
* the PDN, wait at least 1 second before executing it.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_netinfo_sync(uint8_t pdn_num, FAR lte_netinfo_t *info);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get LTE network information.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_netinfo_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* get network information completed.
|
|
*
|
|
* attention Immediately after successful PDN construction
|
|
* using lte_activate_pdn_sync() or lte_activate_pdn(),
|
|
* session information such as IP address
|
|
* may not be acquired correctly.
|
|
* If you want to use this API after successfully construction
|
|
* the PDN, wait at least 1 second before executing it.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_netinfo(get_netinfo_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Constructs a PDN with the specified APN settings.
|
|
*
|
|
* When constructs the initial PDN,
|
|
* LTE_APN_TYPE_IA must be set to the APN type.
|
|
*
|
|
* When PDN construction is successful,
|
|
* an IP address is given from the LTE network.
|
|
*
|
|
* attention Attention to the following when this API calling.
|
|
* - The initial PDN construction may take a few minutes
|
|
* depending on radio conditions.
|
|
*
|
|
* - If API is not returned, please check if the APN settings are correct.
|
|
*
|
|
* [in] apn: The pointer of the apn setting.
|
|
* See lte_apn_setting_t for valid parameters.
|
|
*
|
|
* [out] pdn: The construction PDN information.
|
|
* See lte_pdn_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
* If canceling, -ECANCELED is returned.
|
|
*/
|
|
|
|
int lte_activate_pdn_sync(FAR lte_apn_setting_t *apn, FAR lte_pdn_t *pdn);
|
|
|
|
/* Constructs a PDN with the specified APN settings.
|
|
*
|
|
* When constructs the initial PDN,
|
|
* LTE_APN_TYPE_IA must be set to the APN type.
|
|
*
|
|
* When PDN construction is successful,
|
|
* an IP address is given from the LTE network.
|
|
*
|
|
* attention Attention to the following when this API calling.
|
|
* - The initial PDN construction may take a few minutes
|
|
* depending on radio conditions.
|
|
*
|
|
* - If the callback is not notified, please check
|
|
* if the APN settings are correct.
|
|
*
|
|
* [in] apn: The pointer of the apn setting.
|
|
* See lte_apn_setting_t for valid parameters.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* PDN activation completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_activate_pdn(FAR lte_apn_setting_t *apn, activate_pdn_cb_t callback);
|
|
|
|
/* Cancel PDN construction.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_activate_pdn_cancel(void);
|
|
|
|
/* Discard the constructed PDN.
|
|
*
|
|
* Discards the PDN corresponding to the session ID
|
|
* obtained by lte_activate_pdn.
|
|
*
|
|
* When the discard process is successful, the IP address assigned to
|
|
* the modem is released to the LTE network.
|
|
*
|
|
* [in] session_id: The numeric value of the session ID.
|
|
* Use the value obtained by the lte_activate_pdn.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_deactivate_pdn_sync(uint8_t session_id);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Discard the constructed PDN.
|
|
* The use of this API is deprecated.
|
|
* Use lte_deactivate_pdn_sync() instead.
|
|
*
|
|
* Discards the PDN corresponding to the session ID
|
|
* obtained by lte_activate_pdn.
|
|
*
|
|
* When the discard process is successful, the IP address assigned to
|
|
* the modem is released to the LTE network.
|
|
*
|
|
* [in] session_id: The numeric value of the session ID.
|
|
* Use the value obtained by the lte_activate_pdn.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* LTE PDN deactivation completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_deactivate_pdn(uint8_t session_id, deactivate_pdn_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Allow or disallow to data communication for specified PDN.
|
|
*
|
|
* attention This function is not supported.
|
|
*
|
|
* [in] session_id: The numeric value of the session ID.
|
|
* Use the value obtained by the lte_activate_pdn.
|
|
*
|
|
* [in] allow: Allow or disallow to data communication for
|
|
* all network. Definition is as below.
|
|
* - LTE_DATA_ALLOW
|
|
* - LTE_DATA_DISALLOW
|
|
*
|
|
* [in] roaming_allow: Allow or disallow to data communication for
|
|
* roaming network. Definition is as below.
|
|
* - LTE_DATA_ALLOW
|
|
* - LTE_DATA_DISALLOW
|
|
*
|
|
* -EOPNOTSUPP is returned.
|
|
*/
|
|
|
|
int lte_data_allow_sync(uint8_t session_id, uint8_t allow,
|
|
uint8_t roaming_allow);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Allow or disallow to data communication for specified PDN.
|
|
* The use of this API is deprecated.
|
|
*
|
|
* attention This function is not supported.
|
|
*
|
|
* [in] session_id: The numeric value of the session ID.
|
|
* Use the value obtained by the lte_activate_pdn.
|
|
*
|
|
* [in] allow: Allow or disallow to data communication for
|
|
* all network. Definition is as below.
|
|
* - LTE_DATA_ALLOW
|
|
* - LTE_DATA_DISALLOW
|
|
*
|
|
* [in] roaming_allow: Allow or disallow to data communication for
|
|
* roaming network. Definition is as below.
|
|
* - LTE_DATA_ALLOW
|
|
* - LTE_DATA_DISALLOW
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* configuration has changed.
|
|
*
|
|
* -EOPNOTSUPP is returned.
|
|
*/
|
|
|
|
int lte_data_allow(uint8_t session_id, uint8_t allow,
|
|
uint8_t roaming_allow, data_allow_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get whether the modem supports IMS or not.
|
|
*
|
|
* [out] imscap: The IMS capability.
|
|
* As below value stored.
|
|
* - LTE_ENABLE
|
|
* - LTE_DISABLE
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_imscap_sync(FAR bool *imscap);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get whether the modem supports IMS or not.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_imscap_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting IMS capability is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_imscap(get_imscap_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Acquires the FW version information of the modem.
|
|
*
|
|
* [out] version: The version information of the modem.
|
|
* See lte_version_t
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_version_sync(FAR lte_version_t *version);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Acquires the FW version information of the modem.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_version_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting the version is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_version(get_ver_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get phone number from SIM.
|
|
*
|
|
* [out] phoneno: A character string indicating phone number.
|
|
* It is terminated with '\0'.
|
|
* The maximum number of phone number areas
|
|
* must be allocated. See LTE_PHONENO_LEN.
|
|
* [in] len: Length of the buffer for storing phone number.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
#ifdef CONFIG_LTE_LAPI_KEEP_COMPATIBILITY
|
|
int lte_get_phoneno_sync(FAR char *phoneno);
|
|
#else
|
|
int lte_get_phoneno_sync(FAR char *phoneno, size_t len);
|
|
#endif
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get phone number from SIM.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_phoneno_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting the phone number is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_phoneno(get_phoneno_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get International Mobile Subscriber Identity from SIM.
|
|
*
|
|
* [out] imsi: A character string indicating IMSI.
|
|
* It is terminated with '\0'.
|
|
* The maximum number of IMSI areas
|
|
* must be allocated. See LTE_IMSI_LEN.
|
|
* [in] len: Length of the buffer for storing IMSI.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
#ifdef CONFIG_LTE_LAPI_KEEP_COMPATIBILITY
|
|
int lte_get_imsi_sync(FAR char *imsi);
|
|
#else
|
|
int lte_get_imsi_sync(FAR char *imsi, size_t len);
|
|
#endif
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get International Mobile Subscriber Identity from SIM.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_imsi_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting IMSI is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_imsi(get_imsi_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get International Mobile Equipment Identifier from the modem.
|
|
*
|
|
* [out] imei: A character string indicating IMEI.
|
|
* It is terminated with '\0'.
|
|
* The maximum number of IMEI areas
|
|
* must be allocated. See LTE_IMEI_LEN.
|
|
* [in] len: Length of the buffer for storing IMEI.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
#ifdef CONFIG_LTE_LAPI_KEEP_COMPATIBILITY
|
|
int lte_get_imei_sync(FAR char *imei);
|
|
#else
|
|
int lte_get_imei_sync(FAR char *imei, size_t len);
|
|
#endif
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get International Mobile Equipment Identifier from the modem.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_imei_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting IMEI is completed
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_imei(get_imei_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get Personal Identification Number settings.
|
|
*
|
|
* [out] pinset: PIN settings information.
|
|
* See lte_getpin_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_pinset_sync(FAR lte_getpin_t *pinset);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get Personal Identification Number settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_pinset_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting the PIN setting is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_pinset(get_pinset_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Set Personal Identification Number enable.
|
|
*
|
|
* [in] enable: "Enable" or "Disable".
|
|
* Definition is as below.
|
|
* - LTE_ENABLE
|
|
* - LTE_DISABLE
|
|
*
|
|
* [in] pincode: Current PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [out] attemptsleft: Number of attempts left.
|
|
* Set only if failed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_pinenable_sync(bool enable, FAR char *pincode,
|
|
FAR uint8_t *attemptsleft);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Set Personal Identification Number enable.
|
|
* The use of this API is deprecated.
|
|
* Use lte_set_pinenable_sync() instead.
|
|
*
|
|
* [in] enable: "Enable" or "Disable".
|
|
* Definition is as below.
|
|
* - LTE_ENABLE
|
|
* - LTE_DISABLE
|
|
*
|
|
* [in] pincode: Current PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* setting of PIN enables/disables is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_pinenable(bool enable, FAR char *pincode,
|
|
set_pinenable_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Change Personal Identification Number.
|
|
*
|
|
* It can be changed only when PIN is enable.
|
|
*
|
|
* [in] target_pin: Target of change PIN.
|
|
* Definition is as below.
|
|
* - LTE_TARGET_PIN
|
|
* - LTE_TARGET_PIN2
|
|
*
|
|
* [in] pincode: Current PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [in] new_pincode: New PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [out] attemptsleft: Number of attempts left.
|
|
* Set only if failed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_change_pin_sync(int8_t target_pin, FAR char *pincode,
|
|
FAR char *new_pincode, FAR uint8_t *attemptsleft);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Change Personal Identification Number.
|
|
* The use of this API is deprecated.
|
|
* Use lte_change_pin_sync() instead.
|
|
*
|
|
* It can be changed only when PIN is enable.
|
|
*
|
|
* [in] target_pin: Target of change PIN.
|
|
* Definition is as below.
|
|
* - LTE_TARGET_PIN
|
|
* - LTE_TARGET_PIN2
|
|
*
|
|
* [in] pincode: Current PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [in] new_pincode: New PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* change of PIN is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_change_pin(int8_t target_pin, FAR char *pincode,
|
|
FAR char *new_pincode, change_pin_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Enter Personal Identification Number.
|
|
*
|
|
* [in] pincode: Current PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [in] new_pincode: Always set NULL.
|
|
* This parameter is not currently used.
|
|
* If this parameter has a value in it,
|
|
* this API will error.
|
|
*
|
|
* [out] simstat: State after PIN enter.
|
|
* As below value stored.
|
|
* - LTE_PINSTAT_READY
|
|
* - LTE_PINSTAT_SIM_PIN
|
|
* - LTE_PINSTAT_SIM_PUK
|
|
* - LTE_PINSTAT_PH_SIM_PIN
|
|
* - LTE_PINSTAT_PH_FSIM_PIN
|
|
* - LTE_PINSTAT_PH_FSIM_PUK
|
|
* - LTE_PINSTAT_SIM_PIN2
|
|
* - LTE_PINSTAT_SIM_PUK2
|
|
* - LTE_PINSTAT_PH_NET_PIN
|
|
* - LTE_PINSTAT_PH_NET_PUK
|
|
* - LTE_PINSTAT_PH_NETSUB_PIN
|
|
* - LTE_PINSTAT_PH_NETSUB_PUK
|
|
* - LTE_PINSTAT_PH_SP_PIN
|
|
* - LTE_PINSTAT_PH_SP_PUK
|
|
* - LTE_PINSTAT_PH_CORP_PIN
|
|
* - LTE_PINSTAT_PH_CORP_PUK
|
|
*
|
|
* [out] attemptsleft: Number of attempts left.
|
|
* Set only if failed.
|
|
* If simstat is other than PIN, PUK, PIN2, PUK2,
|
|
* set the number of PIN.
|
|
*
|
|
* note Running this API when the SIM state is
|
|
* other than LTE_PINSTAT_SIM_PIN will return an error.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*
|
|
* deprecated This API will be removed in a future version
|
|
*/
|
|
|
|
int lte_enter_pin_sync(FAR char *pincode, FAR char *new_pincode,
|
|
FAR uint8_t *simstat, FAR uint8_t *attemptsleft);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Enter Personal Identification Number.
|
|
* The use of this API is deprecated.
|
|
* Use lte_enter_pin_sync() instead.
|
|
*
|
|
* [in] pincode: Current PIN code. Minimum number of digits is 4.
|
|
* Maximum number of digits is 8, end with '\0'.
|
|
* (i.e. Max 9 byte)
|
|
*
|
|
* [in] new_pincode: Always set NULL.
|
|
* This parameter is not currently used.
|
|
* If this parameter has a value in it,
|
|
* this API will error.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* PIN enter is completed.
|
|
*
|
|
* note Running this API when the SIM state is
|
|
* other than LTE_PINSTAT_SIM_PIN will return an error.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*
|
|
* deprecated This API will be removed in a future version
|
|
*/
|
|
|
|
int lte_enter_pin(FAR char *pincode, FAR char *new_pincode,
|
|
enter_pin_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get local time.
|
|
*
|
|
* [out] localtime: Local time. See lte_localtime_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_localtime_sync(FAR lte_localtime_t *localtime);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get local time.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_localtime_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting local time is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_localtime(get_localtime_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get connected network operator information.
|
|
*
|
|
* [out] oper: A character string indicating network operator.
|
|
* It is terminated with '\0' If it is not connected,
|
|
* the first character is '\0'.
|
|
* The maximum number of network operator areas
|
|
* must be allocated. See LTE_OPERATOR_LEN.
|
|
* [in] len: Length of the buffer for storing network operator.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
#ifdef CONFIG_LTE_LAPI_KEEP_COMPATIBILITY
|
|
int lte_get_operator_sync(FAR char *oper);
|
|
#else
|
|
int lte_get_operator_sync(FAR char *oper, size_t len);
|
|
#endif
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get connected network operator information.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_operator_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting network operator information is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_operator(get_operator_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get eDRX settings.
|
|
*
|
|
* [out] settings: eDRX settings. See lte_edrx_setting_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_edrx_sync(FAR lte_edrx_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get eDRX settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_edrx_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting eDRX settings are completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_edrx(get_edrx_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Set eDRX settings.
|
|
*
|
|
* [in] settings: eDRX settings.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_edrx_sync(FAR lte_edrx_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Set eDRX settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_set_edrx_sync() instead.
|
|
*
|
|
* [in] settings: eDRX settings.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* eDRX settings are completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_edrx(FAR lte_edrx_setting_t *settings, set_edrx_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get PSM settings.
|
|
*
|
|
* [out] settings: PSM settings. See lte_psm_setting_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_psm_sync(FAR lte_psm_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get PSM settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_psm_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting PSM settings are completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_psm(get_psm_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Set PSM settings.
|
|
*
|
|
* [in] settings: PSM settings.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_psm_sync(FAR lte_psm_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Set PSM settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_set_psm_sync() instead.
|
|
*
|
|
* [in] settings: PSM settings.
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* PSM settings are completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_psm(FAR lte_psm_setting_t *settings, set_psm_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get CE settings.
|
|
*
|
|
* [out] settings: CE settings. See lte_ce_setting_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_ce_sync(FAR lte_ce_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get CE settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_ce_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting CE settings are completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_ce(get_ce_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Set CE settings.
|
|
*
|
|
* [in] settings: CE settings
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_ce_sync(FAR lte_ce_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Set CE settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_set_ce_sync() instead.
|
|
*
|
|
* [in] settings: CE settings
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* CE settings are completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_ce(FAR lte_ce_setting_t *settings, set_ce_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Notifies the SIM status to the application.
|
|
*
|
|
* The default report setting is disable.
|
|
*
|
|
* [in] simstat_callback: Callback function to notify that SIM state.
|
|
* If NULL is set,
|
|
* the report setting is disabled.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_report_simstat(simstat_report_cb_t simstat_callback);
|
|
|
|
/* Notifies the Local time to the application.
|
|
*
|
|
* The default report setting is disable.
|
|
*
|
|
* [in] localtime_callback: Callback function to notify that
|
|
* local time. If NULL is set,
|
|
* the report setting is disabled.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_report_localtime(localtime_report_cb_t localtime_callback);
|
|
|
|
/* Notifies the communication quality information to the application.
|
|
*
|
|
* Invoke the callback at the specified report interval.
|
|
*
|
|
* The default report setting is disable.
|
|
*
|
|
* attention When changing the notification cycle, stop and start again.
|
|
*
|
|
* [in] quality_callback: Callback function to notify that
|
|
* quality information. If NULL is set,
|
|
* the report setting is disabled.
|
|
*
|
|
* [in] period: Reporting cycle in sec (1-4233600)
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_report_quality(quality_report_cb_t quality_callback,
|
|
uint32_t period);
|
|
|
|
/* Notifies the LTE network cell information to the application.
|
|
*
|
|
* Invoke the callback at the specified report interval.
|
|
*
|
|
* The default report setting is disable.
|
|
*
|
|
* attention When changing the notification cycle, stop and start again.
|
|
*
|
|
* [in] cellinfo_callback: Callback function to notify that
|
|
* cell information. If NULL is set,
|
|
* the report setting is disabled.
|
|
*
|
|
* [in] period: Reporting cycle in sec (1-4233600)
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_report_cellinfo(cellinfo_report_cb_t cellinfo_callback,
|
|
uint32_t period);
|
|
|
|
/* Notifies the LTE network status to the application.
|
|
*
|
|
* The default report setting is disable.
|
|
*
|
|
* [in] netinfo_callback: Callback function to notify that
|
|
* cell information. If NULL is set,
|
|
* the report setting is disabled.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_report_netinfo(netinfo_report_cb_t netinfo_callback);
|
|
|
|
/* Get LTE API last error information.
|
|
*
|
|
* Call this function when LTE_RESULT_ERROR is returned by
|
|
* callback function. The detailed error information can be obtained.
|
|
*
|
|
* [in] info: Pointer of error information.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_errinfo(FAR lte_errinfo_t *info);
|
|
|
|
/* Get SIM information such as Mobile Country Code/Mobile Network Code.
|
|
*
|
|
* [in] option: Indicates which parameter to get.
|
|
* Bit setting definition is as below.
|
|
* - LTE_SIMINFO_GETOPT_MCCMNC
|
|
* - LTE_SIMINFO_GETOPT_SPN
|
|
* - LTE_SIMINFO_GETOPT_ICCID
|
|
* - LTE_SIMINFO_GETOPT_IMSI
|
|
* - LTE_SIMINFO_GETOPT_GID1
|
|
* - LTE_SIMINFO_GETOPT_GID2
|
|
*
|
|
* [out] siminfo: SIM information. See lte_siminfo_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_siminfo_sync(uint32_t option, FAR lte_siminfo_t *siminfo);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get SIM information such as Mobile Country Code/Mobile Network Code.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_siminfo_sync() instead.
|
|
*
|
|
* [in] option: Indicates which parameter to get.
|
|
* Bit setting definition is as below.
|
|
* - LTE_SIMINFO_GETOPT_MCCMNC
|
|
* - LTE_SIMINFO_GETOPT_SPN
|
|
* - LTE_SIMINFO_GETOPT_ICCID
|
|
* - LTE_SIMINFO_GETOPT_IMSI
|
|
* - LTE_SIMINFO_GETOPT_GID1
|
|
* - LTE_SIMINFO_GETOPT_GID2
|
|
*
|
|
* [in] callback: Callback function to notify that
|
|
* get of SIM information is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_siminfo(uint32_t option, get_siminfo_cb_t callback);
|
|
|
|
/* Get eDRX dynamic parameter.
|
|
*
|
|
* deprecated Use lte_get_current_edrx instead.
|
|
*
|
|
* This API can be issued after connect to the LTE network
|
|
* with lte_activate_pdn().
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting eDRX dynamic parameter is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_dynamic_edrx_param(get_dynamic_edrx_param_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get current eDRX settings.
|
|
*
|
|
* This API can be issued after connect to the LTE network
|
|
* with lte_activate_pdn().
|
|
*
|
|
* Get the settings negotiated between the modem and the network.
|
|
*
|
|
* [out] settings: Current eDRX settings.
|
|
* See lte_edrx_setting_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_current_edrx_sync(FAR lte_edrx_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get current eDRX settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_current_edrx_sync() instead.
|
|
*
|
|
* This API can be issued after connect to the LTE network
|
|
* with lte_activate_pdn().
|
|
*
|
|
* Get the settings negotiated between the modem and the network.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting current eDRX settings is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_current_edrx(get_current_edrx_cb_t callback);
|
|
|
|
/* Get PSM dynamic parameter.
|
|
*
|
|
* deprecated Use lte_get_current_psm instead.
|
|
*
|
|
* This API can be issued after connect to the LTE network
|
|
* with lte_activate_pdn().
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting PSM dynamic parameter is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_dynamic_psm_param(get_dynamic_psm_param_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get current PSM settings.
|
|
*
|
|
* This API can be issued after connect to the LTE network
|
|
* with lte_activate_pdn().
|
|
*
|
|
* Get the settings negotiated between the modem and the network.
|
|
*
|
|
* [OUT] settings: Current PSM settings.
|
|
* See lte_psm_setting_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_current_psm_sync(FAR lte_psm_setting_t *settings);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get current PSM settings.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_current_psm_sync() instead.
|
|
*
|
|
* This API can be issued after connect to the LTE network
|
|
* with lte_activate_pdn().
|
|
*
|
|
* Get the settings negotiated between the modem and the network.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting current PSM settings is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_current_psm(get_current_psm_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get communication quality information.
|
|
*
|
|
* [out] quality: Quality information. See lte_quality_t
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_quality_sync(FAR lte_quality_t *quality);
|
|
|
|
#ifdef CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API
|
|
|
|
/* Get communication quality information.
|
|
* The use of this API is deprecated.
|
|
* Use lte_get_quality_sync() instead.
|
|
*
|
|
* [in] callback: Callback function to notify when
|
|
* getting quality information is completed.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_quality(get_quality_cb_t callback);
|
|
|
|
#endif /* CONFIG_LTE_LAPI_ENABLE_DEPRECATED_API */
|
|
|
|
/* Get LTE network cell information.
|
|
*
|
|
* attention This function is not supported yet.
|
|
*
|
|
* [out] cellinfo: LTE network cell information.
|
|
* See lte_cellinfo_t
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_cellinfo_sync(FAR lte_cellinfo_t *cellinfo);
|
|
|
|
/* Get RAT type
|
|
*
|
|
* On success, RAT type shown below is returned.
|
|
* - LTE_RAT_CATM
|
|
* - LTE_RAT_NBIOT
|
|
* On failure, negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_rat_sync(void);
|
|
|
|
/* Set RAT setting
|
|
*
|
|
* [in] rat: RAT type. Definition is as below.
|
|
* - LTE_RAT_CATM
|
|
* - LTE_RAT_NBIOT
|
|
* [in] persistent: Flag to keep RAT settings
|
|
* after power off the modem.
|
|
* Definition is as below.
|
|
* - LTE_ENABLE
|
|
* - LTE_DISABLE
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_rat_sync(uint8_t rat, bool persistent);
|
|
|
|
/* Get RAT information
|
|
*
|
|
* [out] info: Pointer to the structure that
|
|
* stores RAT information
|
|
* See lte_ratinfo_t.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_ratinfo_sync(FAR lte_ratinfo_t *info);
|
|
|
|
/* Acquire the modem wakelock. If any wakelock is acquired, modem can't
|
|
* enter to the sleep state.
|
|
* Please call this API after calling lte_initialize().
|
|
* Otherwise this API will result in an error.
|
|
* Before calling lte_finalize(), must release all wakelocks
|
|
* acquired by this API.
|
|
*
|
|
* On success, return the count of the current modem wakelock. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_acquire_wakelock(void);
|
|
|
|
/* Release the modem wakelock. If all of the wakelock are released,
|
|
* modem can enter to the sleep state.
|
|
* Please call this API after calling lte_initialize().
|
|
* Otherwise this API will result in an error.
|
|
*
|
|
* On success, return the count of the current modem wakelock. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_release_wakelock(void);
|
|
|
|
/* Get the number of wakelock counts acquired.
|
|
* Please call this API after calling lte_initialize().
|
|
* Otherwise this API will result in an error.
|
|
*
|
|
* On success, return the count of the current modem wakelock. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_get_wakelock_count(void);
|
|
|
|
/* Send AT command to the modem.
|
|
*
|
|
* [in] cmd: The AT command data.
|
|
* Maximum length is LTE_AT_COMMAND_MAX_LEN.
|
|
* AT command is shall begin with "AT" and end with '\r'.
|
|
* [in] cmdlen: Length of the AT command data.
|
|
* [in] respbuff: The area to store the AT command response.
|
|
* [in] respbufflen: Length of the AT command response buffer.
|
|
* [in] resplen: The pointer to the area store
|
|
* the length of AT command response.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_send_atcmd_sync(FAR const char *cmd, int cmdlen,
|
|
FAR char *respbuff, int respbufflen,
|
|
FAR int *resplen);
|
|
|
|
/* Run factory reset on the modem.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_factory_reset_sync(void);
|
|
|
|
/* Set callback function for context save.
|
|
*
|
|
* [in] callback: Callback function to notify a context data
|
|
* when modem entering hibernation mode.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_set_context_save_cb(context_save_cb_t callback);
|
|
|
|
/* Resume LTE status from hibernation mode.
|
|
*
|
|
* [in] res_ctx: Context data for resume daemon.
|
|
*
|
|
* [in] len : Context data size.
|
|
*
|
|
* On success, 0 is returned. On failure,
|
|
* negative value is returned according to <errno.h>.
|
|
*/
|
|
|
|
int lte_hibernation_resume(FAR const uint8_t *res_ctx, int len);
|
|
|
|
#undef EXTERN
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __APPS_INCLUDE_LTE_LTE_API_H */
|