Electronics > Projects, Designs, and Technical Stuff
Critique my first PCB
<< < (14/17) > >>
luiHS:

--- Quote from: carl0s on August 06, 2019, 11:24:03 am ---I've been trying to do something with the STM32F769I-DISCO. Firstly trying to build an empty StemWin 'hello world'. I previously compiled the example projects, and they all work fine, but I couldn't get anything to display on the board that CubeMX/STM32CubeIDE had created.

--- End quote ---


Has the example of a video player for EVAL (JPEG_MJPEG_VideoDecoding) worked for you on Discovery and with the octagonal screen?.

There is one more difference between EVAL and Discovery. The EVAL uses a crystal and the internal oscillator for the clock signal, while the Discovery uses an external oscillator.

 
carl0s:

--- Quote from: luiHS on August 06, 2019, 08:29:48 pm ---
--- Quote from: carl0s on August 06, 2019, 11:24:03 am ---I've been trying to do something with the STM32F769I-DISCO. Firstly trying to build an empty StemWin 'hello world'. I previously compiled the example projects, and they all work fine, but I couldn't get anything to display on the board that CubeMX/STM32CubeIDE had created.

--- End quote ---


Has the example of a video player for EVAL (JPEG_MJPEG_VideoDecoding) worked for you on Discovery and with the octagonal screen?.

There is one more difference between EVAL and Discovery. The EVAL uses a crystal and the internal oscillator for the clock signal, while the Discovery uses an external oscillator.

--- End quote ---

Hi. I haven't tried video examples on either screen.

I have had quite a bit of trouble getting consistent results to get this screen working with a fresh CubeMX project.
What I have realised is that, I must send the command to enable tearing effect (for which there is already an empty stemwin function - LCD_ReqTear(), otherwise I just get a dotty screen.

--- Code: ---stemwin_wrapper.c: void LCD_ReqTear(void) { HAL_DSI_ShortWrite(&hdsi, 0, DSI_DCS_SHORT_PKT_WRITE_P1, DSI_SET_TEAR_ON, 0x0); }
--- End code ---
in the StEmWin code.
Then the DSIHOST must be set for 'refresh framebuffer: on tearing effect event, and external source ( DSI_TE_EXTERNAL).
carl0s:
OK I'm getting somewhere now.

Previously, I was trying to figure out why I just got 'crap' when the unit was first powered on, but then the image was there was Reset was pressed.
Turns out it wasn't refreshing at all and was just showing the old static image after Reset.
That is because tearing effect needed to be set up properly on both ends (as per my edited post above).

I figured this out by testing a number count. The numbers didn't count ;)

Now I have a big number counter. This is with DMA2D (Chrom-ART accelerator) disabled. StEmWin will make use of it when it's enabled, but so far that's giving me a black screen (maybe alpha issue).

Anyway, check it out: http://internetsomething.com/lcd/big_numbers_no-chrom-art.mp4
luiHS:

--- Quote from: carl0s on August 07, 2019, 06:06:45 pm ---OK I'm getting somewhere now.

Previously, I was trying to figure out why I just got 'crap' when the unit was first powered on, but then the image was there was Reset was pressed.
Turns out it wasn't refreshing at all and was just showing the old static image after Reset.
That is because tearing effect needed to be set up properly on both ends (as per my edited post above).

I figured this out by testing a number count. The numbers didn't count ;)

Now I have a big number counter. This is with DMA2D (Chrom-ART accelerator) disabled. StEmWin will make use of it when it's enabled, but so far that's giving me a black screen (maybe alpha issue).

Anyway, check it out: http://internetsomething.com/lcd/big_numbers_no-chrom-art.mp4

--- End quote ---


That looks very good.
Is it an MJPEG video or a real-time animation?

I understand that you are trying to make an application using Cube, from scratch. Is that so?

Have you not tried with the examples already made that are in the example source package in en.STM32Cube_FW_F7_V1.15.0 ?, Specifically with the examples JPEG_DecodingUsingFs_DMA for Discovery, and JPEG_MJPEG_VideoDecoding for the EVAL evaluation board.

As soon as I have a free moment, I want to try those two examples, with the round screens, changing the initialization commands. In my case, what interests me most is the play of MJPEG videos and some JPEG images.
carl0s:

--- Quote from: luiHS on August 07, 2019, 07:07:46 pm ---
That looks very good.
Is it an MJPEG video or a real-time animation?


--- End quote ---

Hi. It's just real-time generated text, with stEmWin (emWin free version for ST).
It's the second example after "Hello world" on page 56 of the 1300 page manual (https://www.segger.com/downloads/emwin/UM03001 )
It looks like this:

--- Code: ---void GRAPHICS_MainTask(void) {

/* USER CODE BEGIN GRAPHICS_MainTask */
 /* User can implement his graphic application here */
  /* Hello Word example */
int i = 0;
    GUI_Clear();
    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_FontD80);
    while(1)
    {
      GUI_DispDecAt( i++, 40, 120, 4);
      if (i > 9999) {
      i = 0;
      }
    }
/* USER CODE END GRAPHICS_MainTask */
}

--- End code ---

I am trying to start with minimal unknown code. I'm trying to work from a blank CubeMX build and ensure the peripherals work. I'm hoping that along the way I'll begin to understand what's what and recognise the various things in the generated code. Building the examples and altering them is probably going to be too difficult at this stage. I'm still trying to figure out what's involved in getting the Chrom-ART DMA2D controller to do something.


--- Quote ---I understand that you are trying to make an application using Cube, from scratch. Is that so?
--- End quote ---

Yes exactly. It seems like an interesting thing to figure out how to go from nothing, to working screen, in minimal steps with point and click CubeMX ;)


Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod