Board support library for C027

Dependents:   IoTWorkshopLCD IoTWorkshopBuzzer IoTWorkshopSensors C027_USSDTest ... more

Fork of C027 by u-blox

/media/uploads/ublox/c027_pinout_new.png

C027.h

Committer:
mazgch
Date:
2014-04-08
Revision:
16:3ce62caf4518
Parent:
14:e30f90b5447e
Child:
18:06d5a702779c

File content as of revision 16:3ce62caf4518:

/*  Platform header file, for the u-blox C27-C20/U20/G35 
*   mbed Internet of Things Starter Kit
*   http://mbed.org/platforms/u-blox-C027/
*   
*/

#pragma once

#include "mbed.h"

#ifdef TARGET_UBLOX_C027
  // on the native platform the pins are already defined 
#elif defined(TARGET_LPC1768)
  // if not native we are using the pin definition file from this library
  #include "C027_PinNames.h"
  // we also need to override the mbed_die function
  void mbed_die(void);
#else
  #error "this library is indended to be used only with the C027 board"
#endif

//#define C027_REVA // select this define if you use revision A boards. 

class C027
{
public:
    C027();

    void mdmPower(bool enable);
    void mdmUsbEnable(bool enable); // enable the USB interface
    void mdmReset(void);
    void mdmWakeup(void);
    void mdmSleep(void);
    void gpsPower(bool enable);
    void gpsReset(void);

private:
    // modem pins 
    DigitalOut      mdmEn;
    DigitalOut      mdmRst;
    DigitalOut      mdmPwrOn;
    DigitalOut      mdmLvlOe;
    DigitalOut      mdmILvlOe;
    DigitalOut      mdmUsbDet;
    bool            mdmIsEnabled;
    bool            mdmUseUsb;
    // gps pins
    DigitalOut      gpsEn;
    DigitalOut      gpsRst;
    bool            gpsIsEnabled;
};