diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 1e35d30..88d5689 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -115,6 +115,17 @@ void Error_Handler(void); #define W25Q_CS_Pin GPIO_PIN_9 #define W25Q_CS_GPIO_Port GPIOA + + +#define LCD_RST_Pin GPIO_PIN_3 +#define LCD_RST_GPIO_Port GPIOB +#define LCD_BL_Pin GPIO_PIN_8 +#define LCD_BL_GPIO_Port GPIOB +#define LCD_CS_Pin GPIO_PIN_10 +#define LCD_CS_GPIO_Port GPIOB +#define LCD_DC_Pin GPIO_PIN_5 +#define LCD_DC_GPIO_Port GPIOB + /* USER CODE END Private defines */ #ifdef __cplusplus diff --git a/Core/Src/main.c b/Core/Src/main.c index 320591b..d7ab22b 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -28,10 +28,17 @@ #include "sys_app.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ +#if 0 #include "mlx90640_user.h" #include "user.h" #include "bmp.h" #include "st7789.h" +#endif +#include "MLX90640_API.h" +#include "MLX90640_I2C_Driver.h" +#include "stm32_hx8347d_lcd.h" +#include "Fonts/fonts.h" +#include "mlx90640_lcd_display.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -57,16 +64,19 @@ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); /* USER CODE BEGIN PFP */ +#if 0 paramsMLX90640 mlx90640; static float mlx90640To[768]; BMP_8 bmp8[768]; float max_temp; float min_temp; float center_temp; +#endif /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ +#if 0 uint32_t voltage_adc[1]; float bat_voltage; extern BMP_INFO bmpinfo; @@ -87,6 +97,7 @@ uint8_t key1_press,key2_press,button_press=1; //menu3 screenshot uint8_t chose_menu_index=0; char buf[200]; +#endif /* USER CODE END 0 */ /** @@ -123,10 +134,31 @@ int main(void) MX_SPI_Init(); MX_I2C_Init(); - MX_DMA_Init(); + //MX_DMA_Init(); + APP_LOG(TS_OFF, VLEVEL_L, "START LCD init....\r\n"); + BSP_LCD_Init(); + MLX90640_I2CInit(); + mlx90640_display_init(); + APP_LOG(TS_OFF, VLEVEL_L, "DISPLAY ON....\r\n"); + BSP_LCD_DisplayOn(); + BSP_LCD_Clear(LCD_COLOR_YELLOW); + APP_LOG(TS_OFF, VLEVEL_L, "WIDTH = %d, HEIGHT =%d \r\n", BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); + BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_BLUE); + BSP_LCD_SetRotation(1); + APP_LOG(TS_OFF, VLEVEL_L, "WIDTH = %d, HEIGHT =%d \r\n", BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); + BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_RED); + APP_LOG(TS_OFF, VLEVEL_L, "DISPLAY LOGO....\r\n"); + BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_BLUE); + while (1) + { + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + mlx90640_display_process(); + } //HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); - +#if 0 ST7789_Init(); APP_LOG(TS_OFF,VLEVEL_L,"\r\n Set Black Light...on...."); ST7789_SetBackLight(1); @@ -194,6 +226,7 @@ int main(void) sprintf(buf,"\r\n\nMax=%.2f, Min=%.2f, Center=%.2f\n",(float)max_temp, (float)min_temp, (float)mlx90640To[768/2]); APP_LOG(TS_OFF,VLEVEL_L,"%s\r\n", buf); } +#endif /* USER CODE END 2 */ /* Infinite loop */ diff --git a/Core/Src/spi.c b/Core/Src/spi.c index 5d098ff..1f8b1db 100644 --- a/Core/Src/spi.c +++ b/Core/Src/spi.c @@ -46,11 +46,11 @@ void MX_SPI_Init(void) hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; - hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; //SPI_BAUDRATEPRESCALER_64; + hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4; //SPI_BAUDRATEPRESCALER_64; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - //hspi1.Init.CRCPolynomial = 7; //7; + hspi1.Init.CRCPolynomial = 10; //hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; //hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE; if (HAL_SPI_Init(&hspi1) != HAL_OK) diff --git a/ST7789/st7789.h b/ST7789/st7789.h index f5df722..033fb8d 100644 --- a/ST7789/st7789.h +++ b/ST7789/st7789.h @@ -261,7 +261,7 @@ #define ST7789_UnSelect() HAL_GPIO_WritePin(MEMS_CS_N_GPIO_Port, MEMS_CS_N_Pin, GPIO_PIN_SET) #endif -#define ABS(x) ((x) > 0 ? (x) : -(x)) +//#define ABS(x) ((x) > 0 ? (x) : -(x)) void ST7789_WriteData(uint8_t *buff, size_t buff_size); void ST7789_SetAddressWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject index 38f9a09..9f8be63 100644 --- a/STM32CubeIDE/.cproject +++ b/STM32CubeIDE/.cproject @@ -112,7 +112,7 @@