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 ... 24 25 [26] 27 28 ... 50
376
Discussion - EVE / Re: Display spinner manually in ESD?
« on: May 28, 2021, 10:47:47 AM »
Hello

Thank you for the update, this should hopefully be useful for other customers.
The developers have gotten back to me and are looking at adding a Spinner Widget.

This behaviour is related to how display list commands are issued to EVE, if a new frame is rendered without the EVE_CoCmd_spinner API call included in the display list the spinner wont get displayed on the screen. you are essentially re-issuing the command for every new frame to the co-processor.

Best Regards,
BRT Community

377
Discussion - EVE / Re: Display spinner manually in ESD?
« on: May 27, 2021, 03:20:23 PM »
Hello,

Thank you for your question.

Currently there is no stand alone Spinner Widget available in ESD, there is a 'Pop-Up Spinner' available in the as a ESD Utility however.

I will see if the development team can incorporate a Spinner Widget in an upcoming revision of ESD.

I would also be possible to manually edit your output source code to call the CMD_SPINNER EVE API call.

Best Regards,
BRT Community

378
Hi,

Could you advise what your start-up code is doing up until you render the first screen, and also an example of a co processor list which draws the slider and check for the touch position?

Do you see the raw coordinates work in reverse from what you expect, even if you make no write to the REG_ROTATE and no call to the SETROTATE command?

Also, which way up is the image currently showing relative to the module?

Best Regards, BRT Community


379
Hi,

There are a couple of things that may help with regards to your questions although there may also be other ways using EVE's GPU and widget features to achieve it without swapping bitmaps as this can risk tearing etc.     

For the display list itself, EVE has double buffering and so if you create your content using graphic primitives and widgets then it will be double buffered. It also avoids the need to manually create and edit bitmaps unless the application needs this in particular (for example a line can be drawn by specifying the start and end point and EVE will work out how to draw the line). You can also optimise it to avoid completely re-sending the list - for example, you can use the append command to append a list of static items which you have created and then add some dynamic numbers or text for readouts. What was your overall requirement for the application?

For your question about images and changing during the scan-out,

EVE has bitmap formats such as RGB332 and ARGB2 (if you need alpha) which use 1 byte per pixel and so could fit two images in RAM_G.

The BT81x has a command CMD_SYNC which allows you to wait for the end of the scan out and so can help avoid tearing. You can use this to help when editing the data on the fly of a bitmap for example or updating a macro value as shown here.

//To update REG_MACRO_0 at the end of scan out, to avoid tearing:
cmd_sync();
cmd_memwrite(REG_MACRO_0, 4);
cmd(value);

Best Regards, BRT Community

380
Hi,

A good way to do this (especially for icons which are likely the same size) is to use bitmap cells where you can use more than one image per handle.

To use bitmap cells, make an image which is one icon wide and n icons tall, and so you have all the icons stacked vertically with no gaps between.

Then load this as an image in the usual way. When you set the bitmap parameters, bitmap layout is the stride and height of one icon. bitmap size is the width and height of the entire block of n icons.

Then you can display each icon by specifying an index value. if you have three 60 x 60 icons as shown below, you can set index 0, 1 or 2 to display them. 0 will be the top icon.

VERTEX2II has parameters handle and cell and so can be used as shown below. But it can only reach coordinates up to 511.

An alternative is to use the cell instruction as shown here:
CELL(0)
VERTEX2F(100,100)


Code: [Select]
CLEAR(1, 1, 1)
CMD_DLSTART()
BITMAP_HANDLE(0)
BITMAP_SOURCE(0)
BITMAP_LAYOUT(RGB332, 60, 60)
BITMAP_LAYOUT_H(0, 0)
BITMAP_SIZE(NEAREST, BORDER, BORDER, 60, 180)
BITMAP_SIZE_H(0, 0)
BEGIN(BITMAPS)
VERTEX2II(10, 10, 0, 2)
END()
DISPLAY
SWAP

Best Regards, BRT Community

381
Discussion - MCU / Re: GPIO interrupt wakeup from power-down mode
« on: May 07, 2021, 04:28:01 PM »
Hello,
 
There is existing code GPIO wakeup code available with the toolchain which you can use for reference.
 
This is specifically taken from D2XX Example 1 (see AN_360 FT900 Example Applications).
The code can be found at the following location as part of the IDE:
 
C:\Users\Username\Documents\Bridgetek\FT9xx\Version\Examples\D2XX Example 1
 
#ifdef GPIO_REMOTE_WAKEUP
SetRemoteWakeup = 0;
if (RemoteWakeupEnable)
{
tfp_printf("d2xx_loopback_test1: Configuring GPIO pin to wakeup \r\n");
#if 1
/* Set up the pin */
gpio_dir(GPIO_PIN, pad_dir_input);
gpio_pull(GPIO_PIN, pad_pull_pullup);
 
 /* Attach an interrupt */
gpio_interrupt_enable(GPIO_PIN, gpio_int_edge_falling);
interrupt_attach(interrupt_gpio, (uint8_t)interrupt_gpio, ISR_gpio);
tfp_printf("d2xx_loopback_test1: GPIO pin setup for interrupt\r\n");
#endif
}
 
#endif
 
D2XXTEST__Sleep = 1;
D2XXTEST__Wakeup = 0;
 
/* Power down Mode */
SYS->PMCFG_L |= MASK_SYS_PMCFG_PM_PWRDN_MODE;
SYS->PMCFG_L |= MASK_SYS_PMCFG_PM_PWRDN;
asm volatile ("nop");
asm volatile ("nop");
asm volatile ("nop");
asm volatile ("nop");
asm volatile ("nop");
 
 //wait for wakeup
 while(!D2XXTEST__Wakeup);
 
interrupt_disable_globally();
 
#ifdef GPIO_REMOTE_WAKEUP
gpio_interrupt_disable(GPIO_PIN);
interrupt_detach(interrupt_gpio);
gpio_is_interrupted(GPIO_PIN);
 
#endif
 
SYS->PMCFG_L &= ~MASK_SYS_PMCFG_PM_PWRDN_MODE;
SYS->PMCFG_L &= ~MASK_SYS_PMCFG_PM_PWRDN;

The contents in RAM should not be lost, as this is a standby mode and not POWER ON RESET.

The datalogger feature uses the on-chip flash in the FT9XX for storage.
More information can be found in AN 365 FT9xx API Programmers Manual section 2.34 Datalogger Feature.
Example datalogger code can also be found in the Toolchain examples.

Best Regards,
BRT Community

382
Discussion - EVE / Re: FT813 REG_DLSWAP not working as expected
« on: May 07, 2021, 10:36:39 AM »
Hello,

Just to clarify I am interested in the display settings being used as we have seen issues with the SWAP command when the following conditions are not adhered to:

HOFFSET < (HCYCLE – HSIZE)
VOFFSET < (VCYCLE – VSIZE)
 
As such the following must also be adhered to:

HCYCLE > HSIZE
VCYCLE > VSIZE


Best Regards,
BRT Community

383
Discussion - EVE / Re: FT813 REG_DLSWAP not working as expected
« on: May 06, 2021, 04:08:48 PM »
Hello,

Thank you for question.

Could you let me know the exact display settings you are using for the panel?
Specifically LCD_HORIZONTAL and LCD_VERTICAL, if you can provide the panels datasheet that would be helpful as well.

Best Regards,
BRT Community

384
Discussion - EVE / Re: Importing custom fonts in EVE Designer 4.10
« on: May 06, 2021, 01:11:01 PM »
Hello,

Thank you for the feedback, we are still struggling to recreate this issue.
could you give me details of the system you are seeing this on?

Best Regards,
BRT Community

385
Hello,

I checked this and also couldn't see the source code.

I will ask for this to be added into the APIs.

Something like the following sequence in USBH_finalise() would be required to deactivate the USB Host:

{
// Remove all devices/interfaces/endpoints from root hub.
usbh_hub_port_remove(NULL, 1);
usbh_hw_disable_int();
interrupt_detach(interrupt_usb_host);

CRITICAL_SECTION_BEGIN
               usbh_intr_xfer = 0;
               usbh_intr_port = 0;
CRITICAL_SECTION_END

// Clear Status Register
usbh_hw_clrsts();
usbh_hw_stop();
usbh_hw_reset();
sys_disable(sys_device_usb_host);
}

Please test this out and provide any feedback.
You can modify the source APIs to add this.
See BRT TN 002 Modifying FT9xx API Functions for details on how to do this.
Simply copy the source .c into your project and it will override the library version.

To activate the USB host port again, you would then perform USBH_initialise().

Best Regards,
BRT Community

386
Discussion - EVE / Re: ESD RAM_DL vs. RAM_G usage
« on: April 23, 2021, 04:15:52 PM »
Hi,

Yes you will get an error if you run out of RAM_DL.

RAM_G is the general purpose RAM which can be used to store assets such as fonts and images, whereas the RAM_DL is the area which is parsed by the graphics engine when it renders the screen.

In EVE in general, you can sometimes trade off RAM_G with RAM_DL, for example by changing a logo from a text string and shapes to being a bitmap image (as the bitmap goes in RAM_G whereas the text and shapes would be in RAM_DL). However, in ESD it is more difficult to optimise the content as most content is composed of widgets. If you do have any logos etc. you could consider making them into an image instead.

What settings do you use in your Scroll Switch Page?

Best Regards, BRT Community

 

387
Discussion - EVE / Re: Problem with drawing button using CMD_BUTTON
« on: April 22, 2021, 04:19:22 PM »
Hello,

In this case I would suggest having in a single thread in your system that deals with updating the EVE display list
Whilst your other threads can update and pass any applicable variable changes into the EVE thread, which will redraw the screen periodically.

Best Regards,
BRT community

388
Discussion - EVE / Re: Problem with drawing button using CMD_BUTTON
« on: April 22, 2021, 03:13:17 PM »
Hello,

Essentially for any screen update required a new display list must be issued to EVE and the swap command executed.

However there is an append() function which can be used to append new display list commands to an existing display list, please see the following:
https://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/ICs/EVE/AN_340_FT800_Optimising-screen-updates-with-Macro-and-Append.pdf

The following application note may interest you as it creates a graph on the display and utilises Append() functionality:
https://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/Modules/EVE/AN_356-FT800-Interfacing-I2C-Sensor-to-VM800P.pdf

In practice if the Library you have implemented utilises SPI burst writes to EVE then there is a negligible performance hit for re-writing a whole display list.

Best Regards,
BRT Community

389
Discussion - EVE / Re: Problem with drawing button using CMD_BUTTON
« on: April 22, 2021, 01:52:42 PM »
Hello,

Thank you for your question.

I suspect the issue lies with the display list you are writing to EVE, for example your button routine includes a DL_START and SWAP/DISPLAY commands, but you mention that you are also setting the background to red. In general a Co-processor list should be structured as follows, with only one set DL_START and DISPLAY/SWAP commands:

Code: [Select]
[Await REG_CMD_READ == REG_CMD_WRITE and read value of these registers]
CMD_DL_START // Tells co-pro to begin writing DL at RAM_DL+0
CLEAR_COLOR_RGB // Co-processor writes this instruction to the DL
CLEAR(1,1,1) // Co-processor writes this instruction to the DL
Color_RGB(0,0,255)
Point_Size(20)
Begin(Points)
Vertex2F(0,0)
End()
DISPLAY // Co-processor writes this instruction to the DL
CMD_SWAP // Co-processor writes REG_DL_SWAP
[update REG_CMD_WRITE to point to end of new commands]
[Await REG_CMD_READ == REG_CMD_WRITE]

Could you provide the whole co-processor list that you are writing to the BT81X? (I assume you are writing other commands to EVE outwith the bt81x_draw_button routine, please correct me if I am wrong)

Best Regards,
BRT Community

390
Discussion - EVE / Re: Circuit to Connect to Audio Output Pin
« on: April 22, 2021, 09:56:19 AM »
Hi,

We have an example circuit in this development module below (see page 11)

https://brtchip.com/wp-content/uploads/Support/Documentation/Datasheets/ICs/EVE/DS_VM816C.pdf

This circuit can be used with the CleO Speaker below, you can find the spec of the speaker used in this datasheet

https://brtchip.com/wp-content/uploads/Support/Documentation/Datasheets/Modules/Cle0/DS_CleO-Speaker.pdf

Best Regards, BRT Community





Pages: 1 ... 24 25 [26] 27 28 ... 50