#ifndef SRC_DRIVERS_SIM808_H_ #define SRC_DRIVERS_SIM808_H_ #include 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_ */