Implementation of 3G USB Modem Huawei E372

Dependents:   PYRN

PyrnUSBModem.h

Committer:
clemounet
Date:
2015-04-14
Revision:
2:61ac95f0af72
Parent:
1:fbf17fb09581

File content as of revision 2:61ac95f0af72:


#ifndef PYRN_USB_MODEM_H
#define PYRN_USB_MODEM_H

#include "mbed.h"

#include "USBHost/USBHost3GModule/WANDongle.h"
#include "USBSerialStream.h"
#include "ATCommandsInterface.h"
#include "PPPIPInterface.h"

#include "HuaweiE372DongleInitializer.h"

class PyrnUSBModem {
private:
    HuaweiE372DongleInitializer initialiser;
    WANDongle dongle;
    
    USBSerialStream atStream;
    USBSerialStream pppStream;
    
    ATCommandsInterface at;
    PPPIPInterface ppp;
    
    bool atOpen;
    bool simReady;
    bool pppOpen;
    bool ipInit;  
public:
    PyrnUSBModem();
    bool init();
    
    WANDongleSerialPort *getAtInterface(int i);

    bool attached(void);
    bool pppConnected(void);

    int connect(const char* apn, const char* user, const char* password);
    int disconnect(void);

    char* getIPAddress(void);
};

#endif