Diffstat (limited to 'gammu/emb/common/protocol/alcatel/alcabus.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | gammu/emb/common/protocol/alcatel/alcabus.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gammu/emb/common/protocol/alcatel/alcabus.h b/gammu/emb/common/protocol/alcatel/alcabus.h new file mode 100644 index 0000000..3b9b44e --- a/dev/null +++ b/gammu/emb/common/protocol/alcatel/alcabus.h @@ -0,0 +1,61 @@ +/* (c) 2002-2003 by Michal Cihar */ +/* + * Low level functions for communication with Alcatel One Touch phones. + * + * This code implements the protocol used for synchronisation with PC. + */ + +#ifndef alcabus_h +#define alcabus_h + +#include "../protocol.h" + +#define ALCATEL_HEADER 0x7E + +/* packet types: */ +/* used for starting binary connection (must be preceeded by + * AT+CPROT=16,"V1.0",16 and phone should response to it by CONNECT_ACK) + */ +#define ALCATEL_CONNECT 0x0A +/* received when connect suceeded */ +#define ALCATEL_CONNECT_ACK 0x0C +/* used for stopping binary connection */ +#define ALCATEL_DISCONNECT 0x0D +/* received when binnary connection ends */ +#define ALCATEL_DISCONNECT_ACK 0x0E +/* some control ack, I really don't know what should it do, so currently it + * is just ignored. It comes time to time, and communication continues OK also + * if no reply was made. */ +#define ALCATEL_CONTROL 0x0F +/* sending/recieving data */ +#define ALCATEL_DATA 0x02 +/* acknowledge to data */ +#define ALCATEL_ACK 0x06 + +/* Maximal value for packet counter */ +#define ALCATEL_MAX_COUNTER 0x3D + +typedef struct { + GSM_Protocol_Message Msg; + /* Incoming packets ID counter */ + int in_counter; + /* Outgoing packets ID counter */ + int out_counter; + /* Expected size of incoming packet */ + int expected_size; + /* What is type of frame we expect next */ + unsigned char next_frame; + /* State of mobile, if we expect something (generally some ack) we set + * this to true and no other action can be performed until it is false. */ + bool busy; +} GSM_Protocol_ALCABUSData; + +#ifndef GSM_USED_SERIALDEVICE +# define GSM_USED_SERIALDEVICE +#endif + +#endif + +/* How should editor hadle tabs in this file? Add editor commands here. + * vim: noexpandtab sw=8 ts=8 sts=8: + */ |