Exportable version of WizziLab's modem driver.
Diff: include/alp_spec.h
- Revision:
- 41:6f83174ffed4
- Parent:
- 40:62b7f6d25772
- Child:
- 42:87bf0654cb7b
--- a/include/alp_spec.h Fri Oct 12 12:37:16 2018 +0000 +++ b/include/alp_spec.h Mon Nov 26 16:42:16 2018 +0000 @@ -157,6 +157,7 @@ ALP_ERR_ITF_INVALID = -13,// 0xF3: Error invalid interface ALP_ERR_ITF_OVERFLOW = -14,// 0xF2: Error interface overflown (i.e. resources exhausted, buffer full with data discarded) ALP_ERR_QUERY_FAIL = -15,// 0xF1: (Group of) Query result was false (Informative error code). + ALP_ERR_ITF_NOT_READY = -16,// 0xF0: Error interface is not ready ALP_ERR_ITF_START = -64,// 0xC0: Interface specific error, start range ALP_ERR_ITF_END = -96,// 0xA0: Interface specific error, end range @@ -212,10 +213,16 @@ ALP_URC_TYPE_LQUAL = 0, /// Enable Link Down (on IFID) URCs on requesting ITF ALP_URC_TYPE_LDOWN = 1, + /// Enable system/modem URC + /// XXX Could enable subtypes, but API does not allow it + ALP_URC_TYPE_BUSY = 2, + /// Enable Interface BUSY messages + ALP_URC_TYPE_ITF_BUSY = 3, + /// XXX system/modem URC with parameter + // ALP_URC_TYPE_SYS ALP_URC_TYPE_QTY, - ALP_URC_TYPE_BUSY = 2, // XXX TODO this is awkward: BUSY is not an ITF-URC but a system/modem URC } alp_urc_type_t; TYPEDEF_STRUCT_PACKED { @@ -358,21 +365,29 @@ #define ALP_ACTION_URCC_EN(_p,_r,_type,_ifid,_cfg) do {\ *(_p)++ = (_r)?ALP_OPCODE_URCC+ALP_OPCODE_GROUP+ALP_OPCODE_RESP:ALP_OPCODE_URCC+ALP_OPCODE_GROUP;\ *(_p)++ = (_type);\ - if((_type)!=ALP_URC_TYPE_NONE && (_type)!=ALP_URC_TYPE_BUSY)\ + if((_type)==ALP_URC_TYPE_LQUAL || (_type)==ALP_URC_TYPE_LDOWN)\ {\ *(_p)++ = (_ifid);\ *(_p)++ = (_cfg);\ }\ + else if((_type)==ALP_URC_TYPE_ITF_BUSY)\ + {\ + *(_p)++ = (_ifid);\ + }\ } while(0) #define ALP_ACTION_URCC_DIS(_p,_r,_type,_ifid,_cfg) do {\ *(_p)++ = (_r)?ALP_OPCODE_URCC+ALP_OPCODE_RESP:ALP_OPCODE_URCC;\ *(_p)++ = (_type);\ - if((_type)!=ALP_URC_TYPE_NONE && (_type)!=ALP_URC_TYPE_BUSY)\ + if((_type)==ALP_URC_TYPE_LQUAL || (_type)==ALP_URC_TYPE_LDOWN)\ {\ *(_p)++ = (_ifid);\ *(_p)++ = (_cfg);\ }\ + else if((_type)==ALP_URC_TYPE_ITF_BUSY)\ + {\ + *(_p)++ = (_ifid);\ + }\ } while(0) #define ALP_ACTION_FORWARD_SIZE(s) (1+(s))