dondoko don / Mbed 2 deprecated ina-hack-test

Dependencies:   ADXL345_I2C MMA8652FC Sht31 TinyGPS mbed Chainable_RGB_LED

Fork of ina-hack-test by Koyo Takenoshita

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Eeabp1.h Source File

Eeabp1.h

00001 #if !defined(EEAPP1_H)
00002 #define EEAPP1_H
00003 #include "mbed.h"
00004 #include "types.h"
00005 #include "Sht31.h"
00006 #include "ADXL345_I2C.h"
00007 
00008 typedef enum {
00009     LED_OFF,
00010     LED_ON,
00011     LED_BLINK_FAST,
00012     LED_BLINK_MID,
00013     LED_BLINK_SLOW,
00014 }EeabLedState;
00015 
00016 typedef enum {
00017     GROVE_CH1,
00018     GROVE_CH2,
00019 }EeabGrovePort;
00020 
00021 typedef enum {
00022     GROVE_SIG1,
00023     GROVE_SIG2,
00024 }EeabGroveSig;
00025 
00026 typedef enum {
00027     GROVE_DIO,
00028     GROVE_ANALOG,
00029 }EeabGrovePortType;
00030 
00031 typedef enum {
00032     GROVE_DIO_OUT,
00033     GROVE_DIO_IN,
00034 }EeabGroveDioDirection;
00035 
00036 typedef enum {
00037     GROVE_DIO_LOW = 0,
00038     GROVE_DIO_HIGH = 1,
00039 }EeabGroveDio;
00040 
00041 class Eeabp1
00042 {
00043 public:
00044     Eeabp1();
00045     int setLedState(EeabLedState state);
00046     void loop(void);
00047     int debug(const char * format, ...);
00048     int setLoRaPower(bool on);
00049     int sendLoRaString(const char * format, ...);
00050     void setGrovePower(bool on);
00051     int setGrovePortType(EeabGrovePort port, EeabGrovePortType type);
00052     int setGroveDioDirection(EeabGrovePort port, EeabGroveDioDirection dir, Callback<void()> func = NULL);
00053     int setGroveDio(EeabGrovePort port, EeabGroveDio val);
00054     int setGroveDio(EeabGrovePort port, EeabGroveSig sig , EeabGroveDio val);
00055     int getGroveDio(EeabGrovePort port, EeabGroveSig sig);
00056     float getGroveAnalog(EeabGrovePort port, EeabGroveSig sig);
00057     int enableTempHumidSensor(void);
00058     float getTemp(void);
00059     float getHumid(void);
00060     int enableAccelerometer(void);
00061     int getAcc(int *x, int *y, int *z);
00062 
00063 private:
00064     DigitalOut pwr_en;
00065     /* state LED */
00066     DigitalOut led;
00067     EeabLedState led_state;
00068     /* LoRa */
00069     RawSerial *serial;
00070     DigitalOut lora_power;
00071     DigitalOut lora_reset;
00072     bool lora_enabled;
00073     /* Grove */
00074     DigitalOut grove_power;
00075     bool grove_enabled;
00076     DigitalOut grv_sel2a;
00077     DigitalOut grv_sel2g;
00078     DigitalOut grv_sel1a;
00079     DigitalOut grv_sel1g;
00080     
00081     DigitalOut *grv_p1s1do; //Port1, Signal1, Digital Out // GP2
00082     DigitalOut *grv_p1s2do; //Port1, Signal2, Digital Out // GP1
00083     InterruptIn *grv_p1s1di; //Port1, Signal1, Digital In // GP2
00084     InterruptIn *grv_p1s2di; //Port1, Signal1, Digital In // GP2
00085     AnalogIn grv_p1s1a; //Port1, Signal1, Analog In // AN2
00086     AnalogIn grv_p1s2a; //Port1, Signal2, Analog In // AN2
00087 
00088     DigitalOut *grv_p2s1do; //Port2, Signal1, Digital Out // GP4
00089     DigitalOut *grv_p2s2do; //Port2, Signal2, Digital Out // GP3
00090     InterruptIn *grv_p2s1di; //Port2, Signal1, Digital In // GP4
00091     InterruptIn *grv_p2s2di; //Port2, Signal2, Digital In // GP3
00092     AnalogIn grv_p2s1a; //Port2, Signal1, Analog In // AN4
00093     AnalogIn grv_p2s2a; //Port2, Signal2, Analog In // AN3
00094 
00095     Sht31 *temp_humid_sensor;
00096     ADXL345_I2C *accelerometer;
00097 
00098     void flushSerial();
00099     int chkSerialChar(const char,uint16_t);
00100     int waitSerialChar(const char,uint16_t);
00101     int chkSerialCharOk();
00102     int chkSerialCharRes(char);
00103 };
00104 
00105 #endif /* !defined(EEAPP1_H) */