Thundersoft
/
HTU21D_for_TT_Mxx
Creating a project for TT_Mxx
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "HTU21D.h" 00003 00004 00005 00006 00007 00008 #if __TT_M3HQ__ 00009 #define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M3HQ" 00010 #endif 00011 00012 00013 #if __TT_M4G9__ 00014 #define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M4G9" 00015 #endif 00016 00017 00018 #ifdef TEST_LCD 00019 LCD tft(LCD_SPI_CS,LCD_SPI_DC, LCD_MOSI_PIN, LCD_MISO_PIN, LCD_SPI_CL_PIN,LCD_BL_PIN); 00020 #else 00021 #define LCD int 00022 LCD tft; 00023 #endif 00024 00025 00026 00027 00028 00029 /*macros for HTU21D*/ 00030 #define DISPLAY_HTU21D_STRING "HTU21D Sensor:" 00031 #define DISPLAY_HTU21D_STRING_HIGH 16 00032 #define DISPLAY_HTU21D_TEM_VALUE_STRING "Temperature value:" 00033 #define DISPLAY_HTU21D_TEM_VALUE_STRING_HIGH 32 00034 #define DISPLAY_HTU21D_TEM_VALUE_HIGH 48 00035 #define DISPLAY_HTU21D_HUM_VALUE_STRING "Humidity value:" 00036 #define DISPLAY_HTU21D_HUM_VALUE_STRING_HIGH 64 00037 #define DISPLAY_HTU21D_HUM_VALUE_HIGH 80 00038 00039 00040 00041 static void displayForHTU21D(LCD &lcd,HTU21D &htu) 00042 { 00043 #ifdef TEST_LCD 00044 lcd.drawString(0,0,DISPLAY_TMPM_STRING,RED); 00045 lcd.drawString(0,DISPLAY_HTU21D_STRING_HIGH,DISPLAY_HTU21D_STRING,RED); 00046 lcd.drawString(0,DISPLAY_HTU21D_TEM_VALUE_STRING_HIGH,DISPLAY_HTU21D_TEM_VALUE_STRING,RED); 00047 lcd.drawString(0,DISPLAY_HTU21D_HUM_VALUE_STRING_HIGH,DISPLAY_HTU21D_HUM_VALUE_STRING,RED); 00048 #endif 00049 } 00050 00051 static void handleLCDForHTU21D(LCD &lcd,HTU21D &htu) 00052 { 00053 char temp_buffer[50]; 00054 int temperature,humidity; 00055 while(1) 00056 { 00057 temperature = htu.sample_ctemp(); 00058 humidity = htu.sample_humid(); 00059 memset(temp_buffer,0,sizeof(temp_buffer)); 00060 sprintf(temp_buffer,"%d",temperature); 00061 printf("HTU21D temperature = %d \r\n",temperature); 00062 #ifdef TEST_LCD 00063 lcd.drawString(0,DISPLAY_HTU21D_TEM_VALUE_HIGH,temp_buffer,RED); 00064 #endif 00065 memset(temp_buffer,0,sizeof(temp_buffer)); 00066 sprintf(temp_buffer,"%d",humidity); 00067 printf("HTU21D humidity = %d \r\n",humidity); 00068 #ifdef TEST_LCD 00069 lcd.drawString(0,DISPLAY_HTU21D_HUM_VALUE_HIGH,temp_buffer,RED); 00070 #endif 00071 wait_ms(1000); 00072 #ifdef TEST_LCD 00073 lcd.clearScreenArea(0,DISPLAY_HTU21D_TEM_VALUE_HIGH,WHITE); 00074 lcd.clearScreenArea(0,DISPLAY_HTU21D_HUM_VALUE_HIGH,WHITE); 00075 #endif 00076 } 00077 } 00078 00079 int main() 00080 { 00081 HTU21D htu; 00082 printf("%s\r\n",DISPLAY_TMPM_STRING); 00083 #ifdef TEST_LCD 00084 tft.init(); 00085 #endif 00086 displayForHTU21D(tft,htu); 00087 handleLCDForHTU21D(tft,htu); 00088 while(1) 00089 { 00090 } 00091 }
Generated on Tue Jul 12 2022 22:50:09 by 1.7.2