Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ADXL345_I2C MMA8652FC Sht31 TinyGPS mbed Chainable_RGB_LED
Fork of ina-hack-test by
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) */
Generated on Thu Jul 14 2022 02:04:38 by
1.7.2
