13#ifndef ZEPHYR_INCLUDE_DRIVERS_HL78XX_APIS_H_
14#define ZEPHYR_INCLUDE_DRIVERS_HL78XX_APIS_H_
38#define CSQ_RSSI_UNKNOWN (99)
40#define CSQ_RSSI_MAX (31)
42#define CESQ_RSRP_UNKNOWN (255)
44#define CESQ_RSRP_MAX (97)
46#define CESQ_RSRQ_UNKNOWN (255)
48#define CESQ_RSRQ_MAX (34)
51#define HL78XX_MODEM_AT_ERROR 1
53#define HL78XX_MODEM_AT_CME_ERROR 2
55#define HL78XX_MODEM_AT_CMS_ERROR 3
62#define CSQ_RSSI_TO_DB(v) (-113 + (2 * (v)))
68#define CESQ_RSRP_TO_DB(v) (-141 + (v))
74#define CESQ_RSRQ_TO_DB(v) (((v) == 0U) ? -21 : (-20 + ((v) / 2)))
81#define MDM_MANUFACTURER_LENGTH 20
83#define MDM_MODEL_LENGTH 32
85#define MDM_REVISION_LENGTH 64
87#define MDM_IMEI_LENGTH 16
89#define MDM_IMSI_LENGTH 23
91#define MDM_ICCID_LENGTH 22
93#define MDM_APN_MAX_LENGTH 64
95#define MDM_MAX_CERT_LENGTH 4096
97#define MDM_MAX_HOSTNAME_LEN 128
99#define MDM_SERIAL_NUMBER_LENGTH 32
101#define HL78XX_CTZEU_UTIME_MAX_LEN 32
103#define HL78XX_CEREG_TIMER_STR_LEN 9
105#define HL78XX_NETWORK_ADDRESS_MAX_LEN 46
107#define MDM_HL78XX_EOF_PATTERN "--EOF--Pattern--"
109#define MDM_HL78XX_TERMINATION_PATTERN "+++"
111#define MDM_HL78XX_CONNECT_STRING "CONNECT"
113#define MDM_HL78XX_NO_CARRIER_STRING "NO CARRIER"
115#define MDM_HL78XX_CME_ERROR_STRING "+CME ERROR: "
117#define MDM_HL78XX_CMS_ERROR_STRING "+CMS ERROR: "
119#define MDM_HL78XX_ERROR_STRING "ERROR"
121#define MDM_HL78XX_OK_STRING "OK"
123#define MDM_HL78XX_DESIRED_VERSION_STRING \
124 (sizeof(CONFIG_MODEM_HL78XX_DESIRED_FW_VERSION) > 1 \
125 ? CONFIG_MODEM_HL78XX_DESIRED_FW_VERSION \
133#define HL78XX_MONITOR_ACTIVE false
141#define HL78XX_MONITOR_PAUSED true
152#define HL78XX_MONITOR_INITIAL_PAUSED(...) \
153 COND_CODE_1(IS_EMPTY(__VA_ARGS__), (false), (__VA_ARGS__))
165#define HL78XX_EVT_MONITOR(name, _handler, ...) \
166 static STRUCT_SECTION_ITERABLE(hl78xx_evt_monitor_entry, name) = { \
167 .handler = _handler, \
171 .paused = HL78XX_MONITOR_INITIAL_PAUSED(__VA_ARGS__), \
175#define HL78XX_AT_MONITOR_ANY NULL
188#define HL78XX_AT_MONITOR(name, _filter, _handler, ...) \
189 static STRUCT_SECTION_ITERABLE(hl78xx_at_monitor_entry, name) = { \
191 .handler = _handler, \
195 .paused = HL78XX_MONITOR_INITIAL_PAUSED(__VA_ARGS__), \
213#define HL78XX_AT_MONITOR_DIRECT(name, _filter, _handler, ...) \
214 static STRUCT_SECTION_ITERABLE(hl78xx_at_monitor_entry, name) = { \
216 .handler = _handler, \
220 .paused = HL78XX_MONITOR_INITIAL_PAUSED(__VA_ARGS__), \
861#if defined(CONFIG_MODEM_HL78XX_AIRVANTAGE) || defined(__DOXYGEN__)
867#if defined(CONFIG_HL78XX_GNSS) || defined(__DOXYGEN__)
873#if defined(CONFIG_MODEM_HL78XX_LOW_POWER_MODE) || defined(__DOXYGEN__)
874#if defined(CONFIG_MODEM_HL78XX_PSM) || defined(__DOXYGEN__)
878#if defined(CONFIG_MODEM_HL78XX_EDRX) || defined(__DOXYGEN__)
882#if defined(CONFIG_MODEM_HL78XX_POWER_DOWN) || defined(__DOXYGEN__)
1032#define GNSS_AUX_DATA_CALLBACK_DEFINE(_dev, _callback) \
1033 static const STRUCT_SECTION_ITERABLE(hl78xx_gnss_aux_data_callback, \
1034 _hl78xx_gnss_aux_data_callback__##_callback) = { \
1036 .callback = _callback, \
1045#define GNSS_DT_AUX_DATA_CALLBACK_DEFINE(_node_id, _callback) \
1046 static const STRUCT_SECTION_ITERABLE(hl78xx_gnss_aux_data_callback, \
1047 _CONCAT_4(_hl78xx_gnss_aux_data_callback_, \
1048 DT_DEP_ORD(_node_id), _, _callback)) = { \
1049 .dev = DEVICE_DT_GET(_node_id), \
1050 .callback = _callback, \
1327 void *info,
size_t size);
1358 void *info,
size_t size);
1693 return (error & 0x00ff0000U) >> 16;
1705 return (error & 0xff00ffffU);
Main header file for cellular modem driver API.
long atomic_t
Atomic integer variable.
Definition atomic_types.h:31
cellular_access_technology
Cellular access technologies (3GPP TS 27.007 AcT).
Definition cellular.h:39
cellular_registration_status
Cellular registration status (3GPP TS 27.007).
Definition cellular.h:115
cellular_signal_type
Cellular signal type.
Definition cellular.h:92
cellular_modem_info_type
Cellular modem info type.
Definition cellular.h:99
static void cmd(uint32_t command)
Execute a display list command by co-processor engine.
Definition ft8xx_reference_api.h:153
int hl78xx_gnss_get_latest_known_fix(const struct device *dev)
Get the latest known GNSS fix from the modem.
int(* hl78xx_api_configure_networks)(const struct device *dev, const struct hl78xx_network *networks, uint8_t size)
API function pointer for configuring networks.
Definition hl78xx_apis.h:1061
#define CESQ_RSRP_UNKNOWN
Unknown RSRP value returned by AT+CESQ command.
Definition hl78xx_apis.h:42
int hl78xx_at_monitor_register(struct hl78xx_at_monitor_entry *mon)
Register an AT monitor.
static int hl78xx_get_sinr_validity(const struct device *dev, bool *is_valid)
Check whether the current SINR meets the configured threshold.
Definition hl78xx_apis.h:1575
int hl78xx_api_func_get_sinr_validity(const struct device *dev, bool *is_valid)
Check whether the current SINR meets the configured minimum threshold.
static int hl78xx_parse_rsrq(uint8_t rsrq, int16_t *value)
Convert raw RSRQ value from the modem to dB.
Definition hl78xx_apis.h:1783
hl78xx_sim_slot
External SIM slot selection driven by the optional SIM-switch GPIO.
Definition hl78xx_apis.h:320
#define HL78XX_CEREG_TIMER_STR_LEN
Maximum length of CEREG timer string.
Definition hl78xx_apis.h:103
int hl78xx_at_monitor_unregister(struct hl78xx_at_monitor_entry *mon)
Unregister an AT monitor.
static int hl78xx_modem_at_err(int error)
Return the modem CME/CMS error code encoded in hl78xx_modem_at_send/cmd.
Definition hl78xx_apis.h:1703
#define HL78XX_NETWORK_ADDRESS_MAX_LEN
Maximum length of network address string.
Definition hl78xx_apis.h:105
int hl78xx_power_down_respond(const struct device *dev, enum hl78xx_power_down_response response, uint32_t timeout_s)
Respond to a pending HL78XX power-down update.
static void hl78xx_at_monitor_resume(struct hl78xx_at_monitor_entry *mon)
Resume AT monitor.
Definition hl78xx_apis.h:1839
hl78xx_cell_rat_mode
Cellular radio access technologies.
Definition hl78xx_apis.h:228
gnss_position_events
GNSS position events (eventType = 3).
Definition hl78xx_apis.h:832
void hl78xx_power_down_confirm(const struct device *dev)
Confirm that application cleanup is complete and the modem may proceed with physical shutdown.
static int hl78xx_restart_modem(const struct device *dev, enum hl78xx_modem_restart_mode mode)
Request a driver-managed modem restart.
Definition hl78xx_apis.h:1628
hl78xx_operator_format
Network operator format options.
Definition hl78xx_apis.h:376
#define CESQ_RSRP_TO_DB(v)
Convert CESQ RSRP value to dBm.
Definition hl78xx_apis.h:68
hl78xx_phone_functionality
Phone functionality modes.
Definition hl78xx_apis.h:305
int hl78xx_modem_at_cmd(const struct device *dev, char *response, size_t response_size, const char *cmd)
Send a pre-formatted AT command and copy the whole modem response into a caller-supplied buffer.
int hl78xx_edrx_get_time_to_sleep(const struct device *dev)
Get the remaining time for the modem to go in eDRX idle state.
int hl78xx_gnss_assist_data_delete(const struct device *dev)
Delete A-GNSS assistance data.
int hl78xx_modem_at_send(const struct device *dev, const char *cmd)
Send a pre-formatted AT command to the modem.
int hl78xx_gnss_assist_data_get_status(const struct device *dev, struct hl78xx_agnss_status *status)
Get A-GNSS assistance data status.
int hl78xx_exit_gnss_mode(const struct device *dev)
Exit GNSS mode and return to LTE mode.
int hl78xx_queue_gnss_search(const struct device *dev)
Queue a GNSS position search.
int hl78xx_api_func_get_prl(const struct device *dev, struct kselacq_syntax *kselacq_rats)
Get the current Preferred RAT List.
hl78xx_power_down_response
Application responses to a pending power-down request.
Definition hl78xx_apis.h:589
void(* hl78xx_at_monitor_release_t)(struct hl78xx_at_monitor_entry *mon)
AT monitor release function type.
Definition hl78xx_apis.h:1158
#define CESQ_RSRQ_TO_DB(v)
Convert CESQ RSRQ value to dB.
Definition hl78xx_apis.h:74
wdsi_indication
Device Services Indications (+WDSI).
Definition hl78xx_apis.h:755
hl78xx_network_info_type
Cached network information types.
Definition hl78xx_apis.h:424
int(* hl78xx_api_get_registration_status)(const struct device *dev, enum cellular_access_technology tech, enum cellular_registration_status *status)
API for getting registration status.
Definition hl78xx_apis.h:1094
int hl78xx_gnss_set_nmea_output(const struct device *dev, enum nmea_output_port port)
Set NMEA output port for GNSS.
hl78xx_edrx_event
eDRX event types
Definition hl78xx_apis.h:603
int hl78xx_api_func_get_modem_info(const struct device *dev, enum hl78xx_modem_info_type type, void *info, size_t size)
Get vendor-specific modem information (internal implementation).
hl78xx_modem_restart_mode
Driver-managed modem restart modes.
Definition hl78xx_apis.h:330
power_down_event
Power down event types.
Definition hl78xx_apis.h:572
int hl78xx_evt_monitor_register(struct hl78xx_evt_monitor_entry *mon)
Register an event monitor.
static int hl78xx_get_rsrp_validity(const struct device *dev, bool *is_valid)
Check whether the current RSRP meets the configured threshold.
Definition hl78xx_apis.h:1549
#define MDM_MODEL_LENGTH
Maximum length of modem model string.
Definition hl78xx_apis.h:83
int(* hl78xx_api_get_supported_networks)(const struct device *dev, const struct hl78xx_network **networks, uint8_t *size)
API function pointer for getting supported networks.
Definition hl78xx_apis.h:1072
#define CSQ_RSSI_TO_DB(v)
Convert CSQ RSSI value to dBm.
Definition hl78xx_apis.h:62
void(* hl78xx_evt_monitor_release_t)(struct hl78xx_evt_monitor_entry *mon)
Event monitor release function type.
Definition hl78xx_apis.h:1220
int hl78xx_api_func_get_rsrq_validity(const struct device *dev, bool *is_valid)
Check whether the current RSRQ meets the configured minimum threshold.
int(* hl78xx_api_get_signal)(const struct device *dev, const enum cellular_signal_type type, int16_t *value)
API for getting network signal strength.
Definition hl78xx_apis.h:1077
int hl78xx_wakeup_modem(const struct device *dev)
Wake the modem from PSM sleep.
int(* hl78xx_api_set_phone_functionality)(const struct device *dev, enum hl78xx_phone_functionality functionality, bool reset)
API function pointer for setting phone functionality.
Definition hl78xx_apis.h:1106
#define CESQ_RSRQ_MAX
Maximum valid RSRQ code returned by AT+CESQ command.
Definition hl78xx_apis.h:48
hl78xx_agnss_mode
A-GNSS assistance data validity mode.
Definition hl78xx_apis.h:517
int hl78xx_set_wake_pin_low(const struct device *dev)
Drive the modem WAKE pin low.
int(* hl78xx_api_send_at_cmd)(const struct device *dev, const char *cmd, uint16_t cmd_size, const struct modem_chat_match *response_matches, uint16_t matches_size)
API for get phone functionality.
Definition hl78xx_apis.h:1115
int hl78xx_evt_notif_handler_set(hl78xx_evt_monitor_dispatcher_t handler)
Set the event notification handler for HL78xx modem events.
bool(* hl78xx_runtime_band_provider_t)(const struct device *dev, enum hl78xx_cell_rat_mode rat, uint16_t *band, void *user_data)
Callback used to supply an optional runtime band override for a RAT.
Definition hl78xx_apis.h:296
hl78xx_evt_type
HL78xx event types.
Definition hl78xx_apis.h:680
static int hl78xx_parse_rsrp(uint8_t rsrp, int16_t *value)
Convert raw RSRP value from the modem to dBm.
Definition hl78xx_apis.h:1749
#define CSQ_RSSI_UNKNOWN
Unknown RSSI value returned by AT+CSQ command.
Definition hl78xx_apis.h:38
int hl78xx_stop_airvantage_dm_session(const struct device *dev)
Stop an AirVantage Device Management (DM) session.
void(* hl78xx_gnss_aux_data_callback_t)(const struct device *dev, const struct hl78xx_gnss_nmea_aux_data *aux_data, uint16_t size)
GNSS auxiliary data callback function type.
Definition hl78xx_apis.h:1010
hl78xx_gnss_event_type
GNSS event type.
Definition hl78xx_apis.h:802
int hl78xx_power_down_cancel(const struct device *dev)
Cancel a pending stage-1 HL78xx shutdown timer.
void(* hl78xx_at_monitor_handler_t)(const struct hl78xx_at_notification *notif, struct hl78xx_at_monitor_entry *mon)
AT monitor handler function type.
Definition hl78xx_apis.h:1148
#define CESQ_RSRQ_UNKNOWN
Unknown RSRQ value returned by AT+CESQ command.
Definition hl78xx_apis.h:46
hl78xx_event_status
GNSS event status.
Definition hl78xx_apis.h:819
int hl78xx_set_active_sim(const struct device *dev, enum hl78xx_sim_slot sim_slot)
Select the active external SIM slot.
static int hl78xx_parse_rssi(uint8_t rssi, int16_t *value)
Convert raw RSSI value from the modem to dBm.
Definition hl78xx_apis.h:1720
int hl78xx_enter_gnss_mode(const struct device *dev)
Enter GNSS mode.
void(* hl78xx_evt_monitor_handler_t)(struct hl78xx_evt *notif, struct hl78xx_evt_monitor_entry *mon)
Event monitor handler function type.
Definition hl78xx_apis.h:1210
int(* hl78xx_api_get_modem_info)(const struct device *dev, const enum cellular_modem_info_type type, char *info, size_t size)
API function pointer for getting modem information.
Definition hl78xx_apis.h:1089
int hl78xx_api_func_set_phone_functionality(const struct device *dev, enum hl78xx_phone_functionality functionality, bool reset)
Set phone functionality mode (internal implementation).
hl78xx_modem_info_type
Cellular modem info type.
Definition hl78xx_apis.h:364
static void hl78xx_at_monitor_pause(struct hl78xx_at_monitor_entry *mon)
Pause AT monitor.
Definition hl78xx_apis.h:1827
#define CSQ_RSSI_MAX
Maximum valid RSSI code returned by AT+CSQ command.
Definition hl78xx_apis.h:40
static void hl78xx_evt_monitor_resume(struct hl78xx_evt_monitor_entry *mon)
Resume monitor.
Definition hl78xx_apis.h:1815
int(* hl78xx_api_get_phone_functionality)(const struct device *dev, enum hl78xx_phone_functionality *functionality)
API for get phone functionality.
Definition hl78xx_apis.h:1111
static int hl78xx_get_rsrq_validity(const struct device *dev, bool *is_valid)
Check whether the current RSRQ meets the configured threshold.
Definition hl78xx_apis.h:1562
hl78xx_module_status
Module status codes.
Definition hl78xx_apis.h:342
int hl78xx_api_func_set_network_operator_format(const struct device *dev, enum hl78xx_operator_format format)
Set the +COPS network operator format.
static int hl78xx_modem_at_err_type(int error)
Return the modem error type encoded in hl78xx_modem_at_send/cmd return values.
Definition hl78xx_apis.h:1691
nmea_output_port
NMEA output port options.
Definition hl78xx_apis.h:492
static int hl78xx_get_modem_info(const struct device *dev, const enum hl78xx_modem_info_type type, void *info, size_t size)
Get modem info for the device.
Definition hl78xx_apis.h:1514
int hl78xx_gnss_assist_data_download(const struct device *dev, enum hl78xx_agnss_days days)
Download A-GNSS assistance data.
int hl78xx_api_func_get_network_info(const struct device *dev, enum hl78xx_network_info_type type, void *info, size_t size)
Get cached vendor-specific network information.
int hl78xx_set_runtime_band_provider(const struct device *dev, hl78xx_runtime_band_provider_t provider, void *user_data)
Register or clear a runtime band provider for the driver.
int hl78xx_power_down_trigger(const struct device *dev, k_timeout_t delay)
Trigger the HL78xx shutdown process after a caller-supplied delay.
enum hl78xx_cell_rat_mode hl78xx_access_tech_to_rat(enum cellular_access_technology access_tech)
Convert standard cellular access technology to HL78xx RAT mode.
int hl78xx_api_func_get_phone_functionality(const struct device *dev, enum hl78xx_phone_functionality *functionality)
Get phone functionality mode (internal implementation).
#define CESQ_RSRP_MAX
Maximum valid RSRP code returned by AT+CESQ command.
Definition hl78xx_apis.h:44
int hl78xx_api_func_get_modem_info_standard(const struct device *dev, enum cellular_modem_info_type type, char *info, size_t size)
Get standard (Zephyr cellular API) modem information from cache.
int hl78xx_api_func_restart(const struct device *dev, enum hl78xx_modem_restart_mode mode)
Request a driver-managed modem restart.
static int hl78xx_set_prl(const struct device *dev, struct kselacq_syntax prl)
Set a new raw AT+KSELACQ Preferred RAT List.
Definition hl78xx_apis.h:1592
int hl78xx_api_func_get_rsrp_validity(const struct device *dev, bool *is_valid)
Check whether the current RSRP meets the configured minimum threshold.
void(* hl78xx_evt_monitor_dispatcher_t)(struct hl78xx_evt *notif)
Event monitor dispatcher function type.
Definition hl78xx_apis.h:1200
static void hl78xx_evt_monitor_pause(struct hl78xx_evt_monitor_entry *mon)
Pause monitor.
Definition hl78xx_apis.h:1803
int hl78xx_gnss_set_search_timeout(const struct device *dev, uint32_t timeout_ms)
Set GNSS search timeout.
int hl78xx_set_wake_pin_high(const struct device *dev)
Drive the modem WAKE pin high.
int hl78xx_api_func_modem_dynamic_cmd_send(const struct device *dev, const char *cmd, uint16_t cmd_size, const struct modem_chat_match *response_matches, uint16_t matches_size)
Send dynamic AT command (internal implementation).
int hl78xx_api_func_get_signal(const struct device *dev, const enum cellular_signal_type type, int16_t *value)
Get network signal strength (internal implementation).
static int hl78xx_modem_cmd_send(const struct device *dev, const char *cmd, uint16_t cmd_size, const struct modem_chat_match *response_matches, uint16_t matches_size)
Send an AT command to the modem and wait for a matched response.
Definition hl78xx_apis.h:1672
hl78xx_psmev_event
PSM event types.
Definition hl78xx_apis.h:619
hl78xx_agnss_days
Number of days of predicted assistance data to download (write command) or number of days before it e...
Definition hl78xx_apis.h:531
static int hl78xx_get_network_info(const struct device *dev, enum hl78xx_network_info_type type, void *info, size_t size)
Get cached network info for the device.
Definition hl78xx_apis.h:1534
static int hl78xx_set_phone_functionality(const struct device *dev, enum hl78xx_phone_functionality functionality, bool reset)
Set the modem phone functionality mode.
Definition hl78xx_apis.h:1612
hl78xx_kselacq_rat
Raw AT+KSELACQ PRL RAT entries.
Definition hl78xx_apis.h:257
int hl78xx_start_airvantage_dm_session(const struct device *dev)
Start an AirVantage Device Management (DM) session.
int hl78xx_evt_monitor_unregister(struct hl78xx_evt_monitor_entry *mon)
Unregister an event monitor.
static int hl78xx_get_phone_functionality(const struct device *dev, enum hl78xx_phone_functionality *functionality)
Get the current phone functionality mode of the modem.
Definition hl78xx_apis.h:1648
enum cellular_access_technology hl78xx_rat_to_access_tech(enum hl78xx_cell_rat_mode rat_mode)
Convert HL78xx RAT mode to standard cellular API.
int hl78xx_api_func_set_prl(const struct device *dev, const struct kselacq_syntax kselacq_rats)
Set a new Preferred RAT List through AT+KSELACQ.
@ HL78XX_SIM_SLOT_2
Select SIM slot 2 (logical high).
Definition hl78xx_apis.h:324
@ HL78XX_SIM_SLOT_1
Select SIM slot 1 (logical low).
Definition hl78xx_apis.h:322
@ HL78XX_RAT_NBNTN
NB-IoT Non-Terrestrial Network (HL7812 FW R6+).
Definition hl78xx_apis.h:240
@ HL78XX_RAT_MODE_NONE
No RAT mode.
Definition hl78xx_apis.h:246
@ HL78XX_RAT_GSM
GSM radio access technology (HL7812 only).
Definition hl78xx_apis.h:236
@ HL78XX_RAT_COUNT
Number of valid RAT modes.
Definition hl78xx_apis.h:248
@ HL78XX_RAT_NB1
NB-IoT radio access technology.
Definition hl78xx_apis.h:232
@ HL78XX_RAT_CAT_M1
LTE Cat-M1 radio access technology.
Definition hl78xx_apis.h:230
@ HL78XX_RAT_MODE_AUTO
Automatic RAT selection mode.
Definition hl78xx_apis.h:244
@ GNSS_2D_POSITION_AVAILABLE
2 — A 2-dimensional GNSS position is available
Definition hl78xx_apis.h:838
@ GNSS_ESTIMATED_POSITION_AVAILABLE
1 — An estimated GNSS (predicted) position is available
Definition hl78xx_apis.h:836
@ GNSS_FIX_LOST_OR_UNAVAILABLE
0 — The GNSS fix is lost or not available yet
Definition hl78xx_apis.h:834
@ GNSS_FIX_CHANGED_TO_INVALID
4 — GNSS fix has been changed to invalid position
Definition hl78xx_apis.h:842
@ GNSS_3D_POSITION_AVAILABLE
3 — A 3-dimensional position is available
Definition hl78xx_apis.h:840
@ HL78XX_OPERATOR_FORMAT_SHORT_ALPHANUMERIC
Short alphanumeric operator name format (AT+COPS format 1).
Definition hl78xx_apis.h:380
@ HL78XX_OPERATOR_FORMAT_LONG_ALPHANUMERIC
Long alphanumeric operator name format (AT+COPS format 0).
Definition hl78xx_apis.h:378
@ HL78XX_OPERATOR_FORMAT_NUMERIC
Numeric operator name format / MCC-MNC (AT+COPS format 2).
Definition hl78xx_apis.h:382
@ HL78XX_SIM_POWER_OFF
SIM and modem powered off (minimum functionality).
Definition hl78xx_apis.h:307
@ HL78XX_AIRPLANE
Airplane mode, RF transmitters disabled.
Definition hl78xx_apis.h:311
@ HL78XX_FULLY_FUNCTIONAL
Full functionality, modem operational.
Definition hl78xx_apis.h:309
@ HL78XX_POWER_DOWN_RESPONSE_RESCHEDULE
Extend the shutdown grace period from now by a caller-supplied timeout.
Definition hl78xx_apis.h:593
@ HL78XX_POWER_DOWN_RESPONSE_IMMEDIATE
Proceed with shutdown as soon as the driver workqueue can run it.
Definition hl78xx_apis.h:591
@ WDSI_FIRMWARE_DOWNLOAD_ISSUE
Firmware download issue, reason indicated by subcode.
Definition hl78xx_apis.h:779
@ WDSI_FIRMWARE_INSTALL_REQUEST
AirVantage requests device to install firmware package.
Definition hl78xx_apis.h:763
@ WDSI_FIRMWARE_UPDATE_FAILED
Firmware update failed.
Definition hl78xx_apis.h:787
@ WDSI_AUTHENTICATION_START
Starting authentication with Bootstrap or DM Server.
Definition hl78xx_apis.h:765
@ WDSI_FIRMWARE_UPDATE_SUCCESS
Firmware updated successfully.
Definition hl78xx_apis.h:789
@ WDSI_DM_SESSION_CLOSED
DM session closed.
Definition hl78xx_apis.h:773
@ WDSI_DOWNLOAD_IN_PROGRESS
Download in progress, percentage indicated.
Definition hl78xx_apis.h:791
@ WDSI_USER_AGREEMENT_REQUEST
Device requests user agreement to connect to AirVantage.
Definition hl78xx_apis.h:759
@ WDSI_BOOTSTRAP_CREDENTIALS_PRESENT
Raised at startup if credentials for Bootstrap Server are present.
Definition hl78xx_apis.h:757
@ WDSI_PACKAGE_VERIFIED_NOT_CERTIFIED
Package verified but not certified.
Definition hl78xx_apis.h:783
@ WDSI_AUTHENTICATION_SUCCESS
Authentication succeeded, starting session.
Definition hl78xx_apis.h:769
@ WDSI_FIRMWARE_UPDATE_START
Starting firmware update.
Definition hl78xx_apis.h:785
@ WDSI_AUTHENTICATION_FAILED
Authentication failed.
Definition hl78xx_apis.h:767
@ WDSI_SESSION_STARTED
Session started with Bootstrap server (+WDSI: 23,0) or DM server (+WDSI: 23,1).
Definition hl78xx_apis.h:793
@ WDSI_FIRMWARE_DOWNLOAD_REQUEST
AirVantage requests device to download firmware package.
Definition hl78xx_apis.h:761
@ WDSI_FIRMWARE_DOWNLOADED
Firmware package downloaded and stored.
Definition hl78xx_apis.h:777
@ WDSI_PACKAGE_VERIFIED_CERTIFIED
Package verified and certified.
Definition hl78xx_apis.h:781
@ WDSI_FIRMWARE_AVAILABLE
Firmware package available for download.
Definition hl78xx_apis.h:775
@ WDSI_CONNECTION_DENIED
Connection denied by server.
Definition hl78xx_apis.h:771
@ HL78XX_NETWORK_INFO_CELL_ID
Cell ID from +CEREG.
Definition hl78xx_apis.h:444
@ HL78XX_NETWORK_INFO_TAC
Tracking area code from +CEREG.
Definition hl78xx_apis.h:438
@ HL78XX_NETWORK_INFO_MCC
Mobile country code parsed from numeric operator.
Definition hl78xx_apis.h:440
@ HL78XX_NETWORK_INFO_IP_ADDRESS
PDP IP address.
Definition hl78xx_apis.h:446
@ HL78XX_NETWORK_INFO_DNS_PRIMARY
Primary DNS address.
Definition hl78xx_apis.h:448
@ HL78XX_NETWORK_INFO_SINR
Signal-to-Interference-plus-Noise Ratio from the last +KCELLMEAS URC.
Definition hl78xx_apis.h:452
@ HL78XX_NETWORK_INFO_APN
Access Point Name.
Definition hl78xx_apis.h:426
@ HL78XX_NETWORK_INFO_OPERATOR_FORMAT
Current operator format from +COPS.
Definition hl78xx_apis.h:436
@ HL78XX_NETWORK_INFO_ACTIVE_BAND
Active band number from AT+KBND?
Definition hl78xx_apis.h:450
@ HL78XX_NETWORK_INFO_NETWORK_OPERATOR_SHORT_ALPHA
Network Operator name in short alphanumeric format.
Definition hl78xx_apis.h:432
@ HL78XX_NETWORK_INFO_MNC
Mobile network code parsed from numeric operator.
Definition hl78xx_apis.h:442
@ HL78XX_NETWORK_INFO_NETWORK_OPERATOR_LONG_ALPHA
Network Operator name in long alphanumeric format.
Definition hl78xx_apis.h:430
@ HL78XX_NETWORK_INFO_NETWORK_OPERATOR_NUMERIC
Network Operator name in numeric format.
Definition hl78xx_apis.h:434
@ HL78XX_NETWORK_INFO_CURRENT_RAT
Current Radio Access Technology.
Definition hl78xx_apis.h:428
@ HL78XX_EDRX_EVENT_IDLE_EXIT
Modem exited eDRX idle mode.
Definition hl78xx_apis.h:605
@ HL78XX_EDRX_EVENT_IDLE_ENTER
Modem entered eDRX idle mode.
Definition hl78xx_apis.h:607
@ HL78XX_EDRX_EVENT_IDLE_NONE
No eDRX event.
Definition hl78xx_apis.h:609
@ HL78XX_MODEM_RESTART_HARD
Restart the modem with the dedicated reset pin.
Definition hl78xx_apis.h:332
@ HL78XX_MODEM_RESTART_SOFT
Restart the modem by issuing AT+CFUN=4,1.
Definition hl78xx_apis.h:334
@ POWER_DOWN_EVENT_NONE
No power down event.
Definition hl78xx_apis.h:578
@ POWER_DOWN_EVENT_EXIT
Power down event: Modem is exiting power down mode.
Definition hl78xx_apis.h:576
@ POWER_DOWN_EVENT_ENTER
Power down event: Modem is entering power down mode.
Definition hl78xx_apis.h:574
@ HL78XX_AGNSS_MODE_INVALID
Data is not valid (read) / Delete data (write).
Definition hl78xx_apis.h:519
@ HL78XX_AGNSS_MODE_VALID
Data is valid (read) / Download data (write).
Definition hl78xx_apis.h:521
@ HL78XX_GNSS_EVENT_INIT
GNSS engine initialization event.
Definition hl78xx_apis.h:702
@ HL78XX_LTE_PSMEV_UPDATE
Modem PSM event update.
Definition hl78xx_apis.h:726
@ HL78XX_LTE_REGISTRATION_STAT_UPDATE
LTE network registration status changed.
Definition hl78xx_apis.h:684
@ HL78XX_GPIO6_HIGH
GPIO6 pin went HIGH indicating wake from sleep or power-down.
Definition hl78xx_apis.h:742
@ HL78XX_LTE_RAT_UPDATE
LTE Radio Access Technology changed.
Definition hl78xx_apis.h:682
@ HL78XX_LTE_AT_CMD_READY
The AT command interface is ready for application use.
Definition hl78xx_apis.h:694
@ HL78XX_GNSS_EVENT_START_BLOCKED
GNSS start failed because LTE is active (shared RF path).
Definition hl78xx_apis.h:712
@ HL78XX_EVT_TYPE_COUNT
Event type count.
Definition hl78xx_apis.h:746
@ HL78XX_LTE_FOTA_UPDATE_STATUS
FOTA update status changed.
Definition hl78xx_apis.h:690
@ HL78XX_EDRX_IDLE_UPDATE
eDRX idle mode entered
Definition hl78xx_apis.h:722
@ HL78XX_GNSS_EVENT_START
GNSS search started.
Definition hl78xx_apis.h:704
@ HL78XX_GNSS_ENGINE_READY
GNSS engine initialized and ready.
Definition hl78xx_apis.h:700
@ HL78XX_VGPIO_HIGH
VGPIO pin went HIGH.
Definition hl78xx_apis.h:734
@ HL78XX_LTE_MODEM_STARTUP
Modem startup completed.
Definition hl78xx_apis.h:688
@ HL78XX_VGPIO_LOW
VGPIO pin went LOW.
Definition hl78xx_apis.h:732
@ HL78XX_LTE_SIM_REGISTRATION
SIM registration status changed.
Definition hl78xx_apis.h:686
@ HL78XX_LTE_DNS_READY
DNS resolution path completed and modem is ready for data transmission.
Definition hl78xx_apis.h:692
@ HL78XX_CELLMEAS_UPDATE
Cellular measurement update.
Definition hl78xx_apis.h:744
@ HL78XX_LTE_PHONE_FUNCTIONALITY_UPDATE
Phone functionality changed (+CFUN).
Definition hl78xx_apis.h:696
@ HL78XX_GNSS_EVENT_MODE_EXITED
GNSS mode exited - modem is now in airplane mode, user can decide next step.
Definition hl78xx_apis.h:718
@ HL78XX_GNSS_EVENT_SEARCH_TIMEOUT
GNSS search timeout expired.
Definition hl78xx_apis.h:714
@ HL78XX_GPIO6_LOW
GPIO6 pin went LOW indicating sleep or power-down entry.
Definition hl78xx_apis.h:738
@ HL78XX_LTE_CTZEU_UPDATE
Extended timezone and universal time update (+CTZEU).
Definition hl78xx_apis.h:698
@ HL78XX_GNSS_EVENT_STOP
GNSS search stopped.
Definition hl78xx_apis.h:706
@ HL78XX_GNSS_EVENT_POSITION
GNSS position fix obtained.
Definition hl78xx_apis.h:708
@ HL78XX_POWER_DOWN_UPDATE
Modem power-down event update.
Definition hl78xx_apis.h:730
@ HL78XX_GNSSEV_POSITION
GNSS position fix event.
Definition hl78xx_apis.h:810
@ HL78XX_GNSSEV_STOP
GNSS search stop event.
Definition hl78xx_apis.h:808
@ HL78XX_GNSSEV_START
GNSS search start event.
Definition hl78xx_apis.h:806
@ HL78XX_GNSSEV_INITIALISATION
GNSS engine initialization event.
Definition hl78xx_apis.h:804
@ HL78XX_STATUS_SUCCESS
Operation succeeded.
Definition hl78xx_apis.h:823
@ HL78XX_STATUS_FAILED
Operation failed.
Definition hl78xx_apis.h:821
@ HL78XX_MODEM_INFO_CURRENT_BAUD_RATE
Current Baud Rate.
Definition hl78xx_apis.h:368
@ HL78XX_MODEM_INFO_SERIAL_NUMBER
Modem Serial Number.
Definition hl78xx_apis.h:366
@ HL78XX_MODEM_INFO_FW_VERSION
Firmware version.
Definition hl78xx_apis.h:370
@ HL78XX_MODULE_SIM_NOT_PRESENT
SIM card is not present.
Definition hl78xx_apis.h:348
@ HL78XX_MODULE_READY
Module is ready to receive commands for the TE.
Definition hl78xx_apis.h:344
@ HL78XX_MODULE_UNRECOVERABLE_ERROR
Unrecoverable error.
Definition hl78xx_apis.h:352
@ HL78XX_MODULE_INACTIVE_SIM
Inactive SIM.
Definition hl78xx_apis.h:356
@ HL78XX_MODULE_WAITING_FOR_ACCESS_CODE
Module is waiting for an access code.
Definition hl78xx_apis.h:346
@ HL78XX_MODULE_UNKNOWN_STATE
Unknown state.
Definition hl78xx_apis.h:354
@ HL78XX_MODULE_SIMLOCK
Module is in "SIMlock" state.
Definition hl78xx_apis.h:350
@ NMEA_OUTPUT_CMUX_DLC2
0x06 — NMEA frames are output on CMUX DLC2
Definition hl78xx_apis.h:504
@ NMEA_OUTPUT_CMUX_DLC4
0x08 — NMEA frames are output on CMUX DLC4
Definition hl78xx_apis.h:508
@ NMEA_OUTPUT_SAME_PORT
0x04 — NMEA frames are output on the same port the +GNSSNMEA was received on
Definition hl78xx_apis.h:500
@ NMEA_OUTPUT_NONE
0x00 — NMEA frames are not output
Definition hl78xx_apis.h:494
@ NMEA_OUTPUT_UART1
0x03 — NMEA frames are output on UART1
Definition hl78xx_apis.h:498
@ NMEA_OUTPUT_CMUX_DLC1
0x05 — NMEA frames are output on CMUX DLC1
Definition hl78xx_apis.h:502
@ NMEA_OUTPUT_USB_NMEA_PORT
0x01 — NMEA frames are output on dedicated NMEA port over USB
Definition hl78xx_apis.h:496
@ NMEA_OUTPUT_CMUX_DLC3
0x07 — NMEA frames are output on CMUX DLC3
Definition hl78xx_apis.h:506
@ HL78XX_PSM_EVENT_EXIT
Modem exited PSM mode.
Definition hl78xx_apis.h:621
@ HL78XX_PSM_EVENT_ENTER
Modem entered PSM mode.
Definition hl78xx_apis.h:623
@ HL78XX_PSM_EVENT_NONE
No PSM event.
Definition hl78xx_apis.h:625
@ HL78XX_AGNSS_DAYS_1
Request 1 day of A-GNSS assistance data.
Definition hl78xx_apis.h:533
@ HL78XX_AGNSS_DAYS_3
Request 3 days of A-GNSS assistance data.
Definition hl78xx_apis.h:537
@ HL78XX_AGNSS_DAYS_7
Request 7 days of A-GNSS assistance data.
Definition hl78xx_apis.h:539
@ HL78XX_AGNSS_DAYS_14
Request 14 days of A-GNSS assistance data.
Definition hl78xx_apis.h:541
@ HL78XX_AGNSS_DAYS_28
Request 28 days of A-GNSS assistance data.
Definition hl78xx_apis.h:543
@ HL78XX_AGNSS_DAYS_2
Request 2 days of A-GNSS assistance data.
Definition hl78xx_apis.h:535
@ HL78XX_KSELACQ_RAT_CAT_M1
PRL entry for Cat-M1.
Definition hl78xx_apis.h:261
@ HL78XX_KSELACQ_RAT_NB1
PRL entry for NB-IoT.
Definition hl78xx_apis.h:263
@ HL78XX_KSELACQ_RAT_GSM
PRL entry for GSM.
Definition hl78xx_apis.h:265
@ HL78XX_KSELACQ_RAT_CLEAR
Clear PRL and disable automatic RAT switching.
Definition hl78xx_apis.h:259
#define EINVAL
Invalid argument.
Definition errno.h:61
flags
Definition parser.h:97
#define bool
Definition stdbool.h:13
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
__INT64_TYPE__ int64_t
Definition stdint.h:75
__INT16_TYPE__ int16_t
Definition stdint.h:73
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
A-GNSS assistance data status structure.
Definition hl78xx_apis.h:554
uint8_t days
Days remaining before expiry (1-28), valid only when mode=1.
Definition hl78xx_apis.h:558
uint8_t hours
Hours remaining before expiry (0-23), valid only when mode=1.
Definition hl78xx_apis.h:560
uint8_t minutes
Minutes remaining before expiry (0-59), valid only when mode=1.
Definition hl78xx_apis.h:562
enum hl78xx_agnss_mode mode
Validity mode: 0 = invalid/empty, 1 = valid.
Definition hl78xx_apis.h:556
AT monitor entry structure.
Definition hl78xx_apis.h:1166
const char * filter
Exact unsolicited AT match pattern to monitor, or NULL for all.
Definition hl78xx_apis.h:1168
struct hl78xx_at_monitor_entry * next
Link for runtime list.
Definition hl78xx_apis.h:1174
struct hl78xx_at_monitor_entry::@103016176163313070061134333340245207227156107011 flags
Monitor flags.
struct k_work release_work
Work item used to defer release out of unregister/dispatch context.
Definition hl78xx_apis.h:1178
uint8_t paused
Monitor is paused.
Definition hl78xx_apis.h:1182
const hl78xx_at_monitor_handler_t handler
Monitor callback function.
Definition hl78xx_apis.h:1170
atomic_t refcnt
Reference count for list membership and in-flight dispatch snapshots.
Definition hl78xx_apis.h:1176
uint8_t direct
Dispatch directly in HL78xx modem RX workqueue context.
Definition hl78xx_apis.h:1184
hl78xx_at_monitor_release_t release
Optional callback invoked when the final runtime reference is dropped.
Definition hl78xx_apis.h:1172
Parsed unsolicited AT notification payload.
Definition hl78xx_apis.h:1126
const char *const * argv
Parsed arguments, where argv[0] is the exact matched token.
Definition hl78xx_apis.h:1130
const char * pattern
Canonical unsolicited match pattern from the driver table.
Definition hl78xx_apis.h:1128
uint16_t argc
Number of parsed arguments.
Definition hl78xx_apis.h:1132
Parsed +CTZEU update payload.
Definition hl78xx_apis.h:662
int64_t date_time_ms
Parsed universal time in UTC Unix epoch milliseconds.
Definition hl78xx_apis.h:670
struct tm utc_time
Parsed universal time in broken-down UTC form.
Definition hl78xx_apis.h:672
int tz
Local timezone offset from GMT in quarter-hours, including DST adjustment.
Definition hl78xx_apis.h:664
bool has_utime
Universal time field is present in the notification.
Definition hl78xx_apis.h:668
int dst
Daylight saving indicator reported by the modem (0, 1, or 2).
Definition hl78xx_apis.h:666
Cached +CEREG/+CREG registration details.
Definition hl78xx_apis.h:388
bool has_active_time
Active time field is present.
Definition hl78xx_apis.h:412
enum cellular_registration_status reg_status
Registration status from +CEREG/+CREG.
Definition hl78xx_apis.h:390
bool has_cell_id
Parsed cell ID is present.
Definition hl78xx_apis.h:396
uint32_t cell_id
Cell ID from +CEREG/+CREG.
Definition hl78xx_apis.h:398
bool has_tac
Parsed tracking area code is present.
Definition hl78xx_apis.h:392
char tau[9]
Raw TAU timer string.
Definition hl78xx_apis.h:418
bool has_rat_mode
Parsed RAT mode is present.
Definition hl78xx_apis.h:400
int cause_type
Registration reject cause type.
Definition hl78xx_apis.h:406
char active_time[9]
Raw active time timer string.
Definition hl78xx_apis.h:414
bool has_cause_type
Cause type is present.
Definition hl78xx_apis.h:404
bool has_reject_cause
Reject cause is present.
Definition hl78xx_apis.h:408
enum hl78xx_cell_rat_mode rat_mode
RAT mode derived from +CEREG/+CREG AcT.
Definition hl78xx_apis.h:402
uint32_t tac
Tracking area code from +CEREG/+CREG.
Definition hl78xx_apis.h:394
bool has_tau
TAU field is present.
Definition hl78xx_apis.h:416
int reject_cause
Registration reject cause value.
Definition hl78xx_apis.h:410
Event monitor entry structure.
Definition hl78xx_apis.h:1227
atomic_t refcnt
Reference count for list membership and in-flight dispatch snapshots.
Definition hl78xx_apis.h:1235
uint8_t direct
Dispatch in ISR context.
Definition hl78xx_apis.h:1243
hl78xx_evt_monitor_release_t release
Optional callback invoked when the final runtime reference is dropped.
Definition hl78xx_apis.h:1231
uint8_t paused
Monitor is paused.
Definition hl78xx_apis.h:1241
struct hl78xx_evt_monitor_entry * next
Link for runtime list.
Definition hl78xx_apis.h:1233
struct k_work release_work
Work item used to defer release callback execution.
Definition hl78xx_apis.h:1237
const hl78xx_evt_monitor_handler_t handler
Monitor callback function.
Definition hl78xx_apis.h:1229
struct hl78xx_evt_monitor_entry::@057257214263213044053141035213063366342276164211 flags
Monitor flags.
HL78xx event structure.
Definition hl78xx_apis.h:851
enum hl78xx_evt_type type
Event type.
Definition hl78xx_apis.h:853
bool status
Boolean status value.
Definition hl78xx_apis.h:892
enum power_down_event power_down_event
Power-down event.
Definition hl78xx_apis.h:884
enum hl78xx_edrx_event edrx_event
eDRX event.
Definition hl78xx_apis.h:880
enum hl78xx_psmev_event psm_event
PSM event.
Definition hl78xx_apis.h:876
struct k_cellmeas_signal_info cellmeas
Cellular measurement event content.
Definition hl78xx_apis.h:888
struct hl78xx_ctzeu_update ctzeu
Full +CTZEU update payload.
Definition hl78xx_apis.h:890
enum hl78xx_event_status event_status
GNSS event status.
Definition hl78xx_apis.h:869
enum gnss_position_events position_event
GNSS position event type.
Definition hl78xx_apis.h:871
int value
Integer value.
Definition hl78xx_apis.h:894
enum hl78xx_cell_rat_mode rat_mode
Radio access technology mode (for HL78XX_LTE_RAT_UPDATE).
Definition hl78xx_apis.h:860
union hl78xx_evt::@213261367112170072133125351263244340324115255276 content
Event content (depends on type).
enum wdsi_indication wdsi_indication
AirVantage device service indication.
Definition hl78xx_apis.h:865
enum cellular_registration_status reg_status
Network registration status (for HL78XX_LTE_REGISTRATION_STAT_UPDATE).
Definition hl78xx_apis.h:858
GNSS auxiliary data callback structure.
Definition hl78xx_apis.h:1019
hl78xx_gnss_aux_data_callback_t callback
Callback called when GNSS auxiliary data is published.
Definition hl78xx_apis.h:1023
const struct device * dev
Filter callback to GNSS data from this device if not NULL.
Definition hl78xx_apis.h:1021
Container for all GNSS auxiliary NMEA data.
Definition hl78xx_apis.h:980
struct nmea_match_epu_data epu
EPU sentence data (HL78xx proprietary position/velocity error).
Definition hl78xx_apis.h:986
struct nmea_match_gsa_data gsa
GSA sentence data (DOP and fix type).
Definition hl78xx_apis.h:982
struct nmea_match_gst_data gst
GST sentence data (pseudorange error statistics).
Definition hl78xx_apis.h:984
Cached network information.
Definition hl78xx_apis.h:478
char ip_address[46]
IP address.
Definition hl78xx_apis.h:482
struct hl78xx_network_operator operator_info
Cached network operator information.
Definition hl78xx_apis.h:480
char dns_primary[46]
Primary DNS server.
Definition hl78xx_apis.h:484
Cached network operator information.
Definition hl78xx_apis.h:458
bool has_mcc
MCC is available.
Definition hl78xx_apis.h:464
bool has_mnc
MNC is available.
Definition hl78xx_apis.h:468
bool has_operator
Operator is available.
Definition hl78xx_apis.h:460
uint16_t mnc
Mobile network code.
Definition hl78xx_apis.h:470
enum hl78xx_operator_format format
Current +COPS operator format.
Definition hl78xx_apis.h:472
uint16_t mcc
Mobile country code.
Definition hl78xx_apis.h:466
char operator_name[32]
Operator name in the currently selected +COPS format.
Definition hl78xx_apis.h:462
Cellular network structure.
Definition hl78xx_apis.h:643
enum hl78xx_cell_rat_mode technology
Cellular access technology.
Definition hl78xx_apis.h:645
uint16_t * bands
List of bands to enable.
Definition hl78xx_apis.h:651
uint16_t size
Size of bands array.
Definition hl78xx_apis.h:653
Cellular measurement signal information.
Definition hl78xx_apis.h:634
int16_t rsrp
Reference Signal Received Power (RSRP) in dBm.
Definition hl78xx_apis.h:636
Kernel timeout type.
Definition clock.h:65
A structure used to submit work.
Definition kernel.h:4708
KSELACQ RAT configuration syntax.
Definition hl78xx_apis.h:271
enum hl78xx_kselacq_rat rat2
Preferred RAT in PRL position 2, expressed as raw AT+KSELACQ value.
Definition hl78xx_apis.h:277
enum hl78xx_kselacq_rat rat3
Preferred RAT in PRL position 3, expressed as raw AT+KSELACQ value.
Definition hl78xx_apis.h:279
bool mode
0 = configure PRL, 1 = reserved.
Definition hl78xx_apis.h:273
enum hl78xx_kselacq_rat rat1
Preferred RAT in PRL position 1, expressed as raw AT+KSELACQ value.
Definition hl78xx_apis.h:275
Modem chat match.
Definition chat.h:57
Parsed EPU sentence data (HL78xx proprietary position error).
Definition hl78xx_apis.h:949
int64_t vel_east
East velocity error estimate (m/s).
Definition hl78xx_apis.h:967
int64_t vel_hdg
Heading velocity error estimate (m/s).
Definition hl78xx_apis.h:965
int64_t pos_alt
Altitude position error estimate (meters).
Definition hl78xx_apis.h:959
int64_t pos_2d
2D (horizontal) position error estimate (meters)
Definition hl78xx_apis.h:953
int64_t vel_2d
2D (horizontal) velocity error estimate (m/s)
Definition hl78xx_apis.h:963
int64_t vel_north
North velocity error estimate (m/s).
Definition hl78xx_apis.h:969
int64_t pos_lon
Longitude position error estimate (meters).
Definition hl78xx_apis.h:957
int64_t vel_up
Up (vertical) velocity error estimate (m/s).
Definition hl78xx_apis.h:971
int64_t vel_3d
3D velocity error estimate (m/s)
Definition hl78xx_apis.h:961
int64_t pos_3d
3D position error estimate (meters)
Definition hl78xx_apis.h:951
int64_t pos_lat
Latitude position error estimate (meters).
Definition hl78xx_apis.h:955
Parsed GSA sentence data (GNSS DOP and Active Satellites).
Definition hl78xx_apis.h:904
int64_t vdop
Vertical Dilution of Precision (scaled).
Definition hl78xx_apis.h:912
int64_t hdop
Horizontal Dilution of Precision (scaled).
Definition hl78xx_apis.h:910
int64_t pdop
Position Dilution of Precision (scaled).
Definition hl78xx_apis.h:908
int32_t fix_type
Fix type: 1=no fix, 2=2D fix, 3=3D fix.
Definition hl78xx_apis.h:906
Parsed GST sentence data (GNSS Pseudorange Error Statistics).
Definition hl78xx_apis.h:921
int64_t lat_err
Standard deviation of latitude error (meters).
Definition hl78xx_apis.h:935
int64_t alt_err
Standard deviation of altitude error (meters).
Definition hl78xx_apis.h:939
int64_t sd_major
Standard deviation of semi-major axis of error ellipse (meters).
Definition hl78xx_apis.h:929
int64_t lon_err
Standard deviation of longitude error (meters).
Definition hl78xx_apis.h:937
int64_t rms
RMS value of standard deviation of range inputs.
Definition hl78xx_apis.h:927
int64_t orient
Orientation of semi-major axis of error ellipse (degrees from true north).
Definition hl78xx_apis.h:933
uint32_t gst_utc
UTC time of associated position fix (HHMMSS format).
Definition hl78xx_apis.h:925
int64_t sd_minor
Standard deviation of semi-minor axis of error ellipse (meters).
Definition hl78xx_apis.h:931
int32_t i32
Reserved for internal use.
Definition hl78xx_apis.h:923