// // Created by xemon on 09.09.22. // #ifndef GSMAT_GSMCOMMONLISTCURRENTCALLS_H #define GSMAT_GSMCOMMONLISTCURRENTCALLS_H #include "stddef.h" #include "stdint.h" #include "stdbool.h" #include "AtCmdBase.h" typedef enum { GSM_CURRENT_CALL_DIRECTION_MOBILE_ORIGINATED = 0x00, GSM_CURRENT_CALL_DIRECTION_MOBILE_TERMINATED = 0x01, } eGsmCurrentCallDirection; typedef enum { GSM_CURRENT_CALL_STATE_ACTIVE = 0x00, GSM_CURRENT_CALL_STATE_HELD = 0x01, GSM_CURRENT_CALL_STATE_DIALING = 0x02, GSM_CURRENT_CALL_STATE_ALERTING = 0x03, GSM_CURRENT_CALL_STATE_INCOMING = 0x04, GSM_CURRENT_CALL_STATE_WAITING = 0x05, } eGsmCurrentCallState; typedef struct { uint8_t idx; eGsmCurrentCallDirection direction; eGsmCurrentCallState state; uint8_t mode; bool multiparty; } tGsmCurrentCall; #define GSM_CURRENT_CALLS_TABLE_LIMIT 16 typedef struct { tGsmCurrentCall calls[GSM_CURRENT_CALLS_TABLE_LIMIT]; uint8_t count; } tGsmCurrentCallsTable; AtCommandResult AtGsmListOfCurrentCalls(tAtCmd *env, tGsmCurrentCallsTable *currentCallsTable); #endif //GSMAT_GSMCOMMONLISTCURRENTCALLS_H