Edgehog Device SDK ESP32
ESP32 device SDK for the Edgehog platform
edgehog_cellular_connection.h
Go to the documentation of this file.
1 /*
2  * This file is part of Edgehog.
3  *
4  * Copyright 2022 SECO Mind Srl
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * SPDX-License-Identifier: Apache-2.0
19  */
20 
26 #ifndef EDGEHOG_CELLULAR_CONNECTION_H
27 #define EDGEHOG_CELLULAR_CONNECTION_H
28 
29 #include "edgehog_device.h"
30 
34 typedef enum
35 {
36  INVALID_REGISTRATION_STATUS = 0,
37  NOT_REGISTERED,
38  REGISTERED,
39  SEARCHING_OPERATOR,
40  REGISTRATION_DENIED,
41  UNKNOWN,
42  REGISTERED_ROAMING
44 
48 typedef enum
49 {
50  INVALID_CONNECTION_TECHNOLOGY = 0,
51  GSM,
52  GSM_COMPACT,
53  UTRAN,
54  GSM_WITH_EGPRS,
55  UTRAN_WITH_HSDPA,
56  UTRAN_WITH_HSUPA,
57  UTRAN_WITH_HSDPA_AND_HSUPA,
58  E_UTRAN
60 
61 extern const astarte_interface_t cellular_connection_status_interface;
62 extern const astarte_interface_t cellular_connection_properties_interface;
63 
80 void edgehog_connection_status_publish(edgehog_device_handle_t edgehog_device, char *modem_id,
81  const char *carrier, edgehog_connection_technology technology,
82  edgehog_registration_status registration_status, double rssi, int64_t cell_id,
83  int local_area_code, int mobile_country_code, int mobile_network_code);
84 
96 void edgehog_connection_properties_publish(edgehog_device_handle_t edgehog_device,
97  const char *modem_id, const char *imei, const char *imsi, const char *apn);
98 
99 #endif // EDGEHOG_CELLULAR_CONNECTION_H
edgehog_registration_status
Edgehog Registration Status Codes.
Definition: edgehog_cellular_connection.h:35
edgehog_connection_technology
Edgehog Connection Technology codes.
Definition: edgehog_cellular_connection.h:49
void edgehog_connection_status_publish(edgehog_device_handle_t edgehog_device, char *modem_id, const char *carrier, edgehog_connection_technology technology, edgehog_registration_status registration_status, double rssi, int64_t cell_id, int local_area_code, int mobile_country_code, int mobile_network_code)
Publish Connection status telemetry data.
void edgehog_connection_properties_publish(edgehog_device_handle_t edgehog_device, const char *modem_id, const char *imei, const char *imsi, const char *apn)
Publish connection properties.
Edgehog device SDK API.