36 lines
833 B
C++
36 lines
833 B
C++
#ifndef ML307_UDP_H
|
|
#define ML307_UDP_H
|
|
|
|
#include "udp.h"
|
|
#include "ml307_at_modem.h"
|
|
|
|
#include <freertos/FreeRTOS.h>
|
|
#include <freertos/event_groups.h>
|
|
|
|
#define ML307_UDP_CONNECTED BIT0
|
|
#define ML307_UDP_DISCONNECTED BIT1
|
|
#define ML307_UDP_ERROR BIT2
|
|
#define ML307_UDP_RECEIVE BIT3
|
|
#define ML307_UDP_SEND_COMPLETE BIT4
|
|
#define ML307_UDP_INITIALIZED BIT5
|
|
|
|
#define UDP_CONNECT_TIMEOUT_MS 10000
|
|
|
|
class Ml307Udp : public Udp {
|
|
public:
|
|
Ml307Udp(Ml307AtModem& modem, int udp_id);
|
|
~Ml307Udp();
|
|
|
|
bool Connect(const std::string& host, int port) override;
|
|
void Disconnect() override;
|
|
int Send(const std::string& data) override;
|
|
|
|
private:
|
|
Ml307AtModem& modem_;
|
|
int udp_id_;
|
|
EventGroupHandle_t event_group_handle_;
|
|
std::list<CommandResponseCallback>::iterator command_callback_it_;
|
|
};
|
|
|
|
#endif // ML307_UDP_H
|