BRT Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Bridgetek Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ Bridgetek Support

Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - BRT Community

Pages: 1 ... 29 30 [31] 32 33 ... 50
451
Discussion - EVE / Re: BT81X Bilinear filtering make dark border on bitmaps
« on: February 19, 2021, 04:10:48 PM »
Hello,

Thank you for your question.
Could you give me details on how you have converted the bitmaps you are using with Bilinear filtering, so I can investigate this issue further?

Best Regards,
BRT Community

452
Discussion - EVE / Re: ESD 4.10 display instabilities
« on: February 17, 2021, 02:54:46 PM »
Hello,

Thank you for the update.
Yes it is possible that a slight hardware issue with the SPI signals may be causing the issue with the co-processor.
Please let us know if you have any further issues.

Best Regards,
BRT Community

453
Discussion - EVE / Re: ESD 4.10 display instabilities
« on: February 15, 2021, 01:38:20 PM »
Hello

Would it be possible for you to share your project with us so we can investigate this issue further?
Can you also give me details on your hardware setup, i.e which MCU are you using?

Best Regards,
BRT Community

454
Discussion - EVE / Re: ESD 4.10 display instabilities
« on: February 10, 2021, 02:50:16 PM »
Hello,

Thank you for your question.

Please see section 5.7 of the programmers guide:
https://brtchip.com/wp-content/uploads/Support/Documentation/Programming_Guides/ICs/EVE/BRT_AN_033_BT81X_Series_Programming_Guide.pdf

This covers how to read co-processor faults, which would help use determine if this is the cause of the screen issues you are seeing. It also includes the recommended recovery procedure  for when a fault is detected.

Best Regards,
BRT Community

455
Discussion - EVE / Re: ST7789V and FT81x - startup
« on: February 01, 2021, 02:22:00 PM »
Hi,

We have not used that configuration but we're not aware of any issue with using the MCU to do the reset so long as you provide the same sequence to reset the LCD controller on start-up. As you mentioned, we allow for both on the ME810A-HV35R via the OR gate. We normally leave the MCU input unused and use the DISP line from the FT810 when using this module but it should also work if using the MCU only. We're not sure about the timing needed for the ST7789 but you could even use a solder jumper in place of the OR gate to select one source or the other for initial testing.

Best Regards,
BRT Community

456
Discussion - EVE / Re: ST7789V and FT81x - startup
« on: January 29, 2021, 10:39:01 AM »
Hi,

We have not tried this particular one but we have used a similar technique with the ILI9488 in our ME810A-HV35R displays. In that case we use the same lines for SCK/MOSI/MISO for the display and for EVE but we have a second chip select and a DCX line for command/data selection for the display.

You can get an example of the hardware in the ME810A-HV35R datasheet.
https://brtchip.com/wp-content/uploads/Support/Documentation/Datasheets/ICs/EVE/DS_ME810A_HV35R.pdf

We also have a draft of an example which configures it, if you would like a copy then please email us at support.emea@brtchip.com and we can send you a beta copy,

The actual commands and values needed over this interface may vary between displays but the manufacturer will often be able to recommend a command sequence to set it in RGB mode etc.

Best Regards, BRT Community

457
Discussion - EVE / Re: BT816 signal level on RGB interface
« on: January 27, 2021, 11:34:21 AM »
Hello,

Please let me know how you get on.

Best Regards,
BRT Community

458
Discussion - EVE / Re: BT816 signal level on RGB interface
« on: January 26, 2021, 02:05:27 PM »
Hello,

Thank you for providing your initialization code.
Could you try adding a 20ms delay after you have sent the host command to select the clock source?

In general, no it is perfectly acceptable to use the internal clock on the BT81x, and as far as I am aware there are no limitations when using the internal clock vs an external crystal. But I will double check this with the hardware team for you.

We have previously used the following Abracon Crystal on our BT81x development boards:
MFP#: ABM8G-12.000MHZ-18-D2Y-T
DigiKey Part # : 535-10261-1-ND

For your given crystal I would go with what the datasheet notes for the load capacitors, could you link its datasheet?
Also would you be able to attach the crystal section of your schematic?

Best Regards,
BRT Community

459
Discussion - EVE / Re: BT816 signal level on RGB interface
« on: January 25, 2021, 11:52:19 AM »
Hello,

Glad to hear the new IC is working for you.
As for the selection for the clock source, external/internal, would it be possible to see your initialization code?

Best Regards,
BRT Community

460
Discussion - EVE / Re: why can't I read the Manufacturer/Device ID?
« on: January 22, 2021, 05:08:10 PM »
Hello,

Hello

I took screenshots from a logic analyzer of the following code
Code: [Select]
  delay(100);
  Serial.println(GD.rd(REG_FLASH_STATUS));
  GD.cmd_flashdetach();
  Serial.println(GD.rd(REG_FLASH_STATUS));

In the attachments, GD.rd(REG_FLASH_STATUS).JPG shows the logic when I send   Serial.println(GD.rd(REG_FLASH_STATUS));

and GD.cmd_flashdetach().JPG shows the logic when I send GD.cmd_flashdetach() and Serial.println(GD.rd(REG_FLASH_STATUS)) after that.

I noticed there is some random logic after I send Serial.println(GD.rd(REG_FLASH_STATUS))
The logic analyzer reads B0 81 CC after reading the REG_FLASH_STATUS and I don't know why that is.

Here is the layout of my GD.rd() function
Code: [Select]
byte GDClass::rd(uint32_t addr) {
  return GDTR.rd(addr);
}

Code: [Select]
  byte rd(uint32_t addr)
  {
    __end(); // stop streaming
    __start(addr);
    SPI.transfer(0);  // dummy
    byte r = SPI.transfer(0);
    stream();
    return r;
  }

Thanks for the screenshots, it looks as if the registers is being read correctly.
And the CMD_FLASHDETACH command does also seem to being written correctly.

The B0 81 CC is the RAM_CMD address that the CMD_FLASHDETACH command is being written to (0x3081CC, with the write bit enabled). This would indicate you have sent several other co-processor commands before issuing the CMD_FLASH command. It also appears if you are writing some display list commands into RAM_CMD immediately after reading REG_FLASH_STATUS for the second time.

Would it be possible for you to minimise the number of co-processor calls before attempting to send the CMD_FLASHDETACH command? And if possible could you implement a method similar to below to await the command FIFO executing the command before attempting to read REG_FLASH_STATUS again?

Code: [Select]
uint8_t HAL_WaitCmdFifoEmpty(void)
{
uint32_t readCmdPointer;

// Wait until the two registers match
do
{
// Read the graphics processor read pointer
readCmdPointer = HAL_MemRead32(EVE_REG_CMD_READ);

} while ((writeCmdPointer != readCmdPointer) && (readCmdPointer != 0xFFF));


if(readCmdPointer == 0xFFF)
{
// Return 0xFF if an error occurred
return 0xFF;
}
else
{
// Return 0 if pointers became equal successfully
return 0;
}
}

This should ensure the command has executed in the co-processor before you attempt to read what hopefully should be an updated register.

Also thank you Rudolph for giving that a try, his suggestion of calling CMD_FLASHSPIDESEL may also be useful in your scenario.

Best Regards,
BRT Community

461
Discussion - EVE / Re: why can't I read the Manufacturer/Device ID?
« on: January 21, 2021, 12:22:38 PM »
Hello,

Yes, the flash must be in a detached state before you can make use of the CMD_FLAHSSPITX and CMD_FLAHSSPIRX calls. I believe however the CMD_FLASHDETACH command must execute correctly in the first instance and it is not possible to simply rewrite the value stored in REG_FLASHSTATUS to alter the flash state.

If you add a delay between the detach call and the reading of the flash status register, does the value change accordingly:

The problem is that the flash memory is not getting detached.
Code: [Select]
Serial.println(GD.rd(REG_FLASH_STATUS));
  GD.cmd_flashdetach();
  Serial.println(GD.rd(REG_FLASH_STATUS));

Also do you have a logic analyser to hand? and would it be possible for you to take a SPI trace of CMD_FLASHDETACH command executing?

Best Regards,
BRT Community

462
Discussion - MCU / Re: FT900 D2XX and CDC ACM Bridge
« on: January 20, 2021, 04:44:14 PM »
Hello,

Yes this is impossible with the FT900 due to the number of USB Device endpoints available.

The previous post was written before checking the number of endpoints available.

Best Regards,
BRT Community

463
Discussion - EVE / Re: why can't I read the Manufacturer/Device ID?
« on: January 20, 2021, 04:43:51 PM »
Hello,

I believe what you have here is essentially correct:
I tried the following code

 
Code: [Select]
GD.cmd_flashdetach();
  GD.cmd_flashspidesel();
  GD.cmd_flashspitx(4);
  GD.cmd32(0x90);

  GD.cmd_flashspirx(0,2);
  delay(20);
  Serial.println(GD.rd(0));

and
Code: [Select]
Serial.println(GD.rd(0)); is still reading FF or 255

Could you just clarify is GD.cmd32 is writing to RAM_CMD (I believe it does)?
Also does the GD.rd function definitely read from RAM_G?
And could you try calling it with the address bytes also? (GD.cmd32(0x90000000))

Essentially the steps are as follows:
  • Call CMD_FLASHDETACH
  • Call CMD_FLASHSPIDESEL
  • Call CMD_FLAHSSPITX with the number of bytes you want to read
  • Write the desired bytes to be transmitted into RAM_CMD
  • Call CMD_FLASHSPIRX with the location in RAM_G you wish to read the data to, and the number of bytes to be read
  • Read the data from RAM_G

Best Regards,
BRT community

464
Discussion - EVE / Re: why can't I read the Manufacturer/Device ID?
« on: January 19, 2021, 03:39:56 PM »
Hello,

Thank you for your question.
The W25Q128JVSIQ datasheet notes to read the Device ID of the flash chip, you must issue and instruction code to the IC “90h” followed by a 24-bit address (A23-A0) of 000000h. After which the Device/Manufacture ID is clocked out by the IC.

Unfortunately in this case it will not be possible to use the CMD_FLASHREAD and CMD_FLASHWRITE commands to access the Device/Manufacture ID of the flash IC. Currently it looks like your code is just reading a blank sector of flash.

I would suggest looking at the CMD_FLASHSPITX and CMD_FLASHSPIRX commands (only available after issuing a CMD_FLASHDETACH command), these should allow you to issue the correct opcode to the flash IC to retrieve the Device/Manufacture ID.

Best Regards,
BRT Community

465
Discussion - MCU / Re: FT900 D2XX and CDC ACM Bridge
« on: January 18, 2021, 04:35:34 PM »
Hello,

There are only 7 IN/OUT endpoints for the USB Device controller on FT900.

If you are using all three D2XX interfaces on FT900, there is only one IN/OUT endpoint left.
So you cannot add an additional CDC ACM device as that would need more than the number of endpoints available for the data and communication interface.

Maybe you would like to consolidate your design to use say 2 x D2xx interfaces and 1 x CDC interface.

Best Regards,
BRT Community

Pages: 1 ... 29 30 [31] 32 33 ... 50