innopol-protocol-mayak-server/clang_client/Drivers/sim808.h

42 lines
2.0 KiB
C

#ifndef SRC_DRIVERS_SIM808_H_
#define SRC_DRIVERS_SIM808_H_
#include <stddef.h>
typedef enum
{
SIM808_OK = 0,
SIM808_ERR = -1
} sim800_stat_t;
sim800_stat_t sim808_init(void);
sim800_stat_t sim808_open_connection(char* apn, char* host, char* port, char* self_ip);
sim800_stat_t sim808_close_connection(void);
/* Пакетная отправка: start → (data)* → end */
sim800_stat_t packet_start(void);
sim800_stat_t packet_data(char* msg); /* добавляет строку (strlen), бинарные нули не поддерживаются */
sim800_stat_t packet_end(void); /* отправляет накопленное */
sim800_stat_t reset(void); /* заглушка */
sim800_stat_t echo_off(void); /* заглушка */
sim800_stat_t check_sim_connection(void); /* заглушка */
sim800_stat_t chech_sim_card(void); /* заглушка */
sim800_stat_t check_network_registration(void); /* заглушка */
sim800_stat_t check_gprs_registration(void); /* заглушка */
sim800_stat_t close_ip_sessions(void); /* заглушка */
sim800_stat_t set_single_ip_mode(void); /* заглушка */
sim800_stat_t set_apn(char* apn, char* username, char* password); /* заглушка */
sim800_stat_t start_gprs(void); /* заглушка */
sim800_stat_t get_ip(char* ip_ret); /* вернёт локальный IP подключенного сокета (если есть) */
sim800_stat_t open_tcp(char* host, char* port);
sim800_stat_t close_tcp(void);
void sim808_gprs_usart_handler(void); /* заглушка */
void sim808_timeout_processing(void); /* заглушка */
void sim808_demo_send(void); /* демонстрационная машина состояний — как в исходнике */
sim800_stat_t sim808_send_msg(char* msg); /* удобная обёртка */
#endif /* SRC_DRIVERS_SIM808_H_ */