Ignore:
Timestamp:
Feb 28, 2025, 10:19:50 AM (2 months ago)
Author:
Zed
Message:

Fixing project.

Location:
ctrl/firmware/Main/SES/Core
Files:
2 added
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • ctrl/firmware/Main/SES/Core/Inc

    • Property svn:ignore set to
      fan_thread.h
  • ctrl/firmware/Main/SES/Core/Src

    • Property svn:ignore set to
      fan_thread.cpp
  • ctrl/firmware/Main/SES/Core/Src/gui_task.cpp

    r105 r106  
    11#include <cstdint>
     2#include <cstdio>
    23
    34#include "main.h"
     
    56#include "task.h"
    67#include "st7789.h"
     8#include "tim.h"
    79
    810static const char* const TAG = "GUI";
     
    1820
    1921        //HAL_GPIO_WritePin(PWM_DISPLAY_LIGHT_GPIO_Port, PWM_DISPLAY_LIGHT_Pin, GPIO_PIN_SET);
    20         HAL_GPIO_WritePin(RST_DISPLAY_GPIO_Port, RST_DISPLAY_Pin, GPIO_PIN_SET);
     22        //HAL_GPIO_WritePin(RST_DISPLAY_GPIO_Port, RST_DISPLAY_Pin, GPIO_PIN_SET);
     23
     24        ST7789_Initial();
     25        show_picture();
     26
     27        if (HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1) != HAL_OK) Error_Handler();
     28        if (HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1) != HAL_OK) Error_Handler();
     29
     30        uint32_t min_pulse = __HAL_TIM_GET_COMPARE(&htim1, TIM_CHANNEL_1);
     31        constexpr decltype(min_pulse) max_pulse = 522U;
     32        constexpr uint32_t d = 100U;
     33
     34        for (auto i = min_pulse; i <= max_pulse; i++)
     35        {
     36                //__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, i);
     37                htim1.Instance->CCR1 = i;
     38                vTaskDelay(pdMS_TO_TICKS(d));
     39        }
    2140
    2241        while(1)
    2342        {
    24                 ST7789_Write_Cmd(0xFA);
     43                //ST7789_Write_Cmd_Data(0xFA);
    2544                //HAL_GPIO_TogglePin(PWM_DISPLAY_LIGHT_GPIO_Port, PWM_DISPLAY_LIGHT_Pin);
     45
     46                /*for (auto i = min_pulse; i <= max_pulse; i++)
     47                {
     48                        //__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, i);
     49                        htim1.Instance->CCR1 = i;
     50                        vTaskDelay(pdMS_TO_TICKS(d));
     51                }
     52
     53                vTaskDelay(delay_ms);
     54
     55                for (auto i = max_pulse; i >= min_pulse; i--)
     56                {
     57                        //__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, i);
     58                        htim1.Instance->CCR1 = i;
     59                        vTaskDelay(pdMS_TO_TICKS(d));
     60                }*/
    2661
    2762                vTaskDelay(delay_ms);
  • ctrl/firmware/Main/SES/Core/Src/main_task.cpp

    r98 r106  
    1212#include "adc.h"
    1313#include "dts.h"
    14 #include "tim.h"
    1514
    16 
     15//------------------------------------------------------------------------------
    1716
    1817static const char* const TAG = "MAIN";
     
    5756
    5857        }
    59 
    60         if (HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1) != HAL_OK) Error_Handler();
    61         if (HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1) != HAL_OK) Error_Handler();
    6258
    6359        while(1)
  • ctrl/firmware/Main/SES/Core/Src/st7789.c

    r105 r106  
    1212#define DISPLAY_RST_PIN_DEASSERTED        GPIO_PIN_SET
    1313
    14 #define DISPLAY_SPI_CS_PORT                       SPI4_NSS_DISPLAY_GPIO_Port
    15 #define DISPLAY_SPI_CS_PIN                        SPI4_NSS_DISPLAY_Pin
     14#define DISPLAY_SPI_CS_PORT                       DISPLAY_SPI_CS_GPIO_Port
     15#define DISPLAY_SPI_CS_PIN                        DISPLAY_SPI_CS_Pin
    1616#define DISPLAY_SPI_CS_PIN_ENABLE         GPIO_PIN_RESET
    1717#define DISPLAY_SPI_CS_PIN_DISABLE        GPIO_PIN_SET
    1818
    1919#define DISPLAY_SPI_HANDLE                        hspi4
     20
     21#define ST7789_COLMOD                             0x3A
     22#define ST7789_COLOR_MODE_16bit           0x55    //  RGB565 (16bit)
    2023
    2124const uint16_t pic[]=
     
    255258        ST7789_Write_Cmd_Data(0xA1);                                                                                            // Default value 0xA1
    256259
    257         ST7789_Write_Cmd(0x21);                                                                                                         // Display Inversion On
    258260        ST7789_Write_Cmd(0xE0);                                                                                                         // Positive Voltage Gamma Control
    259261        ST7789_Write_Cmd_Data(0xF0);
     
    288290        ST7789_Write_Cmd_Data(0x32);
    289291
     292        ST7789_Write_Cmd(0x21);                                                                                                         // Display Inversion On
     293
    290294        ST7789_Write_Cmd(0x11);                                                                                                         // Wake up
    291         HAL_Delay(120);
     295        ST7789_Delay(120);
    292296
    293297        ST7789_Write_Cmd(0x35);                                                                                                         // Tearing Effect Line On
     
    307311        spi_data[0] = cmd;
    308312        spi_data[1] = 0x00;
    309         HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, spi_data, 2, 500);
     313        HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, spi_data, 1, 500);
    310314
    311315        //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
     
    316320void ST7789_Write_Data(uint8_t dh, uint8_t dl)
    317321{
    318         HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_ENABLE);
     322        //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_ENABLE);
    319323        //HAL_GPIO_WritePin(TFT_WR_DC_GPIO_Port, TFT_WR_DC_Pin, GPIO_PIN_SET);
    320324
    321     HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, &dh, 1, 500);
    322     HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, &dl, 1, 500);
    323 
    324         HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
    325 }
    326 
    327 //------------------------------------------------------------------------------
    328 
    329 void ST7789_Write_Cmd_Data(uint8_t cmdp)
    330 {
    331     HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_ENABLE);
     325        uint8_t spi_data[2];
     326        spi_data[0] = dh;
     327        spi_data[1] = 0x01;
     328    HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, spi_data, 1, 500);
     329
     330        spi_data[0] = dl;
     331        spi_data[1] = 0x01;
     332    HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, spi_data, 1, 500);
     333
     334        //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
     335}
     336
     337//------------------------------------------------------------------------------
     338
     339void ST7789_Write_Cmd_Data(uint8_t cmd)
     340{
     341    //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_ENABLE);
    332342        //HAL_GPIO_WritePin(TFT_WR_DC_GPIO_Port, TFT_WR_DC_Pin, GPIO_PIN_SET);
    333343
    334         HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, &cmdp, 1, 500);
    335 
    336         HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
     344        uint8_t spi_data[2];
     345        spi_data[0] = cmd;
     346        spi_data[1] = 0x01;
     347
     348        HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, spi_data, 1, 500);
     349
     350        //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
    337351}
    338352
     
    341355void ST7789_WriteMultiData(uint8_t *pData, int NumItems)
    342356{
    343     HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_ENABLE);
     357    //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_ENABLE);
    344358        //HAL_GPIO_WritePin(TFT_WR_DC_GPIO_Port, TFT_WR_DC_Pin, GPIO_PIN_SET);
    345359
    346360        HAL_SPI_Transmit(&DISPLAY_SPI_HANDLE, pData, NumItems, 1000);
    347361
    348         HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
    349 }
    350 
    351 //------------------------------------------------------------------------------
     362        //HAL_GPIO_WritePin(DISPLAY_SPI_CS_PORT, DISPLAY_SPI_CS_PIN, DISPLAY_SPI_CS_PIN_DISABLE);
     363}
     364
     365//------------------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.