125 lines
4.5 KiB
C
125 lines
4.5 KiB
C
#ifndef LIBDI_INCLUDE_DI_DRV_HL854X_DEFINITIONS_H_
|
||
#define LIBDI_INCLUDE_DI_DRV_HL854X_DEFINITIONS_H_
|
||
|
||
/**
|
||
* AT-Command reply response
|
||
*/
|
||
enum di_drv_hl854x_reply {
|
||
HL854X_REPLY_TIMEOUT = -1, /**< AT command timeout reply */
|
||
HL854X_REPLY_UNKNOWN = 0, /**< Unknown/unset */
|
||
HL854X_REPLY_NONBLOCK, /**< AT command reply non-blocking */
|
||
HL854X_REPLY_ABORTED, /**< AT command reply "ABORTED" */
|
||
HL854X_REPLY_CONNECT, /**< AT command reply "CONNECT" */
|
||
HL854X_REPLY_OK, /**< AT command reply "OK" */
|
||
HL854X_REPLY_ERROR, /**< AT command reply error, e.g: "CME ERROR" */
|
||
HL854X_REPLY_SUCCESS, /**< AT command reply "SUCCESS" */
|
||
HL854X_REPLY_NO_CARRIER /**< AT command reply "NO CARRIER" */
|
||
};
|
||
|
||
/** Carrier registration status */
|
||
enum di_drv_hl854x_carrier_status {
|
||
HL854X_CARRIER_STATUS_NOT_REG = 0, /**< Not registered, ME is not currently
|
||
* searching a new operator to register to
|
||
*/
|
||
HL854X_CARRIER_STATUS_REG_HOME = 1, /**< Registered, home network */
|
||
HL854X_CARRIER_STATUS_NOT_REG_SEARCH = 2, /**< Not registered, but ME is currently
|
||
* searching a new operator to register to
|
||
*/
|
||
HL854X_CARRIER_STATUS_REG_DENIED = 3, /**< Registration denied */
|
||
HL854X_CARRIER_STATUS_UNKNOWN = 4, /**< Unknown */
|
||
HL854X_CARRIER_STATUS_REG_ROAMING = 5, /**< Registered, roaming */
|
||
HL854X_CARRIER_STATUS_REQUESTED = 6 /**< Requested carrier status */
|
||
};
|
||
|
||
/** Carrier access technology */
|
||
enum di_drv_hl854x_carrier_act {
|
||
HL854X_CARRIER_ACT_GSM = 0, /** GSM */
|
||
HL854X_CARRIER_ACT_UMTS = 2, /** UMTS */
|
||
HL854X_CARRIER_ACT_LTE = 7, /** LTE */
|
||
};
|
||
|
||
/** Carrier operator selection mode */
|
||
enum di_drv_hl854x_carrier_oper_mode {
|
||
HL854X_CARRIER_OPER_MODE_UNKNOWN = -1,
|
||
HL854X_CARRIER_OPER_MODE_AUTO = 0,
|
||
HL854X_CARRIER_OPER_MODE_MANUAL = 1,
|
||
HL854X_CARRIER_OPER_MODE_DEREGISTER = 2,
|
||
HL854X_CARRIER_OPER_MODE_SETVAL = 3,
|
||
HL854X_CARRIER_OPER_MODE_MANAUTO = 4
|
||
};
|
||
|
||
/** Sim status */
|
||
enum di_drv_hl854x_sim_status {
|
||
HL854X_SIM_STATUS_UNKNOWN = 0, /**< SIM status unknown */
|
||
HL854X_SIM_STATUS_READY = 1, /**< SIM ready */
|
||
HL854X_SIM_STATUS_SIM_PIN = 2, /**< SIM pin pending */
|
||
HL854X_SIM_STATUS_SIM_PUK = 3, /**< SIM puk pending */
|
||
HL854X_SIM_STATUS_SELECTED = 127, /**< SIM selected */
|
||
HL854X_SIM_STATUS_ERROR = 128 /**< SIM error */
|
||
};
|
||
|
||
/** Sleep modes */
|
||
enum di_drv_hl854x_sleep_mode {
|
||
HL854X_SLEEP_MODE_0 = 0, /**< The module doesn’t go in sleep mode as long as DTR is active (low level) */
|
||
HL854X_SLEEP_MODE_1 = 1, /**< The module decides by itself (internal timing) */
|
||
HL854X_SLEEP_MODE_2 = 2 /**< Never go to sleep (default) */
|
||
};
|
||
|
||
/** Connection state */
|
||
enum di_drv_hl854x_con_state {
|
||
HL854X_CON_STATE_UNKNOWN = 0, /**< Unknown/unset */
|
||
HL854X_CON_STATE_WRITTEN = 1, /**< Configuration is written */
|
||
HL854X_CON_STATE_DEFINED = 2, /**< Defined */
|
||
HL854X_CON_STATE_CLOSED = 3, /**< Closed */
|
||
HL854X_CON_STATE_CONNECTED = 4, /**< Connected */
|
||
HL854X_CON_STATE_CONNECTING = 5 /**< Connecting */
|
||
};
|
||
|
||
/** GPS state */
|
||
enum di_drv_hl854x_gps_state {
|
||
HL854X_GPS_STATE_UNKNOWN = -1, /**< GPS is unknown/unset */
|
||
HL854X_GPS_STATE_OFF = 0, /**< GPS transceiver off */
|
||
HL854X_GPS_STATE_INITIALIZED = 1, /**< GPS initialized */
|
||
HL854X_GPS_STATE_RUNNING = 3, /**< GPS running (active) */
|
||
HL854X_GPS_STATE_SLEEP = 4 /**< GPS is sleeping */
|
||
};
|
||
|
||
/** GPS event response status GPSEVxxxx: <status> */
|
||
enum di_drv_hl854x_gps_event_status {
|
||
HL854X_GPS_EV_STATUS_UNKNOWN = -1,
|
||
HL854X_GPS_EV_STATUS_FAILED = 0,
|
||
HL854X_GPS_EV_STATUS_OK = 1
|
||
};
|
||
|
||
/** Modem baudrate */
|
||
enum di_drv_hl854x_baudrate {
|
||
HL854X_BAUDRATE_115K2 = 115200,
|
||
HL854X_BAUDRATE_500K0 = 500000,
|
||
HL854X_BAUDRATE_921K6 = 921600,
|
||
HL854X_BAUDRATE_3M = 3000000,
|
||
};
|
||
|
||
/** AT command timeout (according to AT commands datasheet) */
|
||
enum di_drv_hl854x_cmd_timeout {
|
||
HL854X_CMD_TIMEOUT_2SEC = 2000,
|
||
HL854X_CMD_TIMEOUT_5SEC = 5000,
|
||
HL854X_CMD_TIMEOUT_30SEC = 30000,
|
||
HL854X_CMD_TIMEOUT_60SEC = 60000,
|
||
HL854X_CMD_TIMEOUT_120SEC = 120000
|
||
};
|
||
|
||
/**
|
||
* Protocol specific AT commands unique Session ID
|
||
* (From AirPrime HL76xx AT Commands Interface Guide Rev 11.0 - chapter 12.3)
|
||
*/
|
||
enum di_drv_hl854x_session_id {
|
||
HL854X_SESSION_ID_UNKNOWN = 0,
|
||
HL854X_SESSION_ID_MIN = 1,
|
||
HL854X_SESSION_ID_MAX = 32,
|
||
};
|
||
|
||
#define HL854X_DEFAULT_CMD_TIMEOUT HL854X_CMD_TIMEOUT_2SEC /**< Default AT command reply timeout */
|
||
#define HL854X_BAUDRATE_FACTORY HL854X_BAUDRATE_115K2 /**< Factory default baudrate */
|
||
|
||
#endif /* LIBDI_INCLUDE_DI_DRV_HL854X_DEFINITIONS_H_ */
|