Hello!
I could get started by using several examples and I'm able to initialize the display and write shapes using the RAM_DL
memory space. However, I still don't understand how to get the coprocessor working. Please look at what I have written (1)
When I use the RAM_DL part, (no coprocessor slider, #define COP_SLIDER 0), it works, and I get a white rectangle
on blue background.
As for the coprocessor "slider" command, I wrote it with wr32 and wr16 commands, but I'm not sure how to finish the list.
In the DL command method, there is write DLSWAP_FRAME command, but how can I close a coprocessor list?
Basically it does nothing. Coudld anybody tell me what's wrong?
Thanks
R.
(1) By the way, when I posted code with BB code tag, the form replied "forbidden, contains contacts, probably spam", I found
no other solution than taking a screen copy. Can anybody tell me how to post code? I used the BB code "code" (between
brackets) as on many other forums to post it, but it doesn't work.
Next problem, I pressed preview, not post, and it says: Forbidden. You sent forms too often. Please wait a few minutes.
I already waited close to 10 minutes (not checked, but in the meantime, I got one phone call, made a screen copy, etc...).
How long am I supposed to wait in that kind of situation? How long should I wait? (Right now, it works because the problem
was yesterday evening, but it would be nice to know approximately how long I have to work, and it would be even better
to be trusted because my first messgagses show (I think) I'm not a spammer.
Using coprocessor (FT813)
Moderator: Mods
Re: Using coprocessor (FT813)
Hello R,
If you please take a look at sections 5.3 and 5.4 of the manual, it explains interaction with RAM_DL.
Co-processor commands are not to be written in the RaM_DL, as the co-processor will be the one writing them to the RAM_DL.
If you also want to check out our sample code here:
https://github.com/MatrixOrbital/Basic-EVE-Demo
Thank you,
If you please take a look at sections 5.3 and 5.4 of the manual, it explains interaction with RAM_DL.
Co-processor commands are not to be written in the RaM_DL, as the co-processor will be the one writing them to the RAM_DL.
If you also want to check out our sample code here:
https://github.com/MatrixOrbital/Basic-EVE-Demo
Thank you,
Raquel Malinis
Design and Development
Matrix Orbital
Design and Development
Matrix Orbital
Re: Using coprocessor (FT813)
Hello Raquel!
RAM_CMD.
I have understood how to use the DL memory, and it works because it's almost fully described in the documentation.
Code snippet 8 gives a full source code except the last SWAP command. This code is absolutely not ambiguous, and
the code I wrote in the bottom part (#else) of my code is based on code snippet 8. And the attached image has been done
the same way, all in the DL memory because I couldn't use widget sliders.
Snippet 8 is very clear because it says what I have to write and where, using wr32 which is basically a SPI command.
So if I write everything from CLEAR to DISPLAY, and then use the SWAP command, it works. In my application, I wrote
all the sliders by hand, but now I would like to use the coprocessor.
I know that if I fill FT813::Test() function with code snippet 8, and finish it with a swap command (wr8(REG_DLSWAP, DLSWAP_FRAME);)
then it works. Now I'm trying to do a simple slider in the CMD buffer. But for the time being, I will stick with the very first
documentation example in 5.3, which should produce (I guess), a red background.
The documentation code snippet is like this:
As cmd is defined page 9 as "write 32 bits command to coprocessor engine FIFO RAM_CMD",
I supppose it translates to this, according to command layout of Button, paragraph 5.28
Now the documentation says (5.3, interaction with RAM_DL) that the coprocessor manages
a register, REG_CMD_DL, and that this one should give me the position in the current DL buffer.
When I read the contents of REG_CMD_DL, it always reports 0.
So I guess I have to send an instruction to the coprocessor to tell it to translate the CMD list to DL list.
Could anybody tell me what exactly is missing here?
Best regards,
R
PS: for info, my current hand written application looks like this.
Yes, that was my intention, not to write in RAM_DL, and therefore the attached picture shows that Ihave written everything inCo-processor commands are not to be written in the RaM_DL, as the co-processor will be the one writing them to the RAM_DL.
RAM_CMD.
I will assume you are referring to 5.3 and 5.4 of "FT81X Series Programmers Guide Version 1.2 Issue Date: 2018-10-02"If you please take a look at sections 5.3 and 5.4 of the manual, it explains interaction with RAM_DL.
I have understood how to use the DL memory, and it works because it's almost fully described in the documentation.
Code snippet 8 gives a full source code except the last SWAP command. This code is absolutely not ambiguous, and
the code I wrote in the bottom part (#else) of my code is based on code snippet 8. And the attached image has been done
the same way, all in the DL memory because I couldn't use widget sliders.
Snippet 8 is very clear because it says what I have to write and where, using wr32 which is basically a SPI command.
So if I write everything from CLEAR to DISPLAY, and then use the SWAP command, it works. In my application, I wrote
all the sliders by hand, but now I would like to use the coprocessor.
I know that if I fill FT813::Test() function with code snippet 8, and finish it with a swap command (wr8(REG_DLSWAP, DLSWAP_FRAME);)
then it works. Now I'm trying to do a simple slider in the CMD buffer. But for the time being, I will stick with the very first
documentation example in 5.3, which should produce (I guess), a red background.
The documentation code snippet is like this:
Code: Select all
cmd(CMD_DLSTART); // start a new display list
cmd(CLEAR_COLOR_RGB(255, 0, 00)); // set clear color
cmd(CLEAR(1, 1, 1)); // clear screen
cmd(DISPLAY()); // display
I supppose it translates to this, according to command layout of Button, paragraph 5.28
Code: Select all
void FT813::Test(void) {
wr32(RAM_CMD, CMD_DLSTART);
wr32(RAM_CMD + 4, CLEAR_COLOR_RGB(255, 0, 0));
wr32(RAM_CMD + 8, CLEAR(1, 1, 1)); // clear screen
wr32(RAM_CMD + 12, DISPLAY());
// Verify if something has been written
mDLPos = rd32(REG_CMD_DL);
// Swap
wr8(REG_DLSWAP, DLSWAP_FRAME);
}
a register, REG_CMD_DL, and that this one should give me the position in the current DL buffer.
When I read the contents of REG_CMD_DL, it always reports 0.
So I guess I have to send an instruction to the coprocessor to tell it to translate the CMD list to DL list.
Could anybody tell me what exactly is missing here?
Best regards,
R
PS: for info, my current hand written application looks like this.
Re: Using coprocessor (FT813)
Hello!
I think I got it.
Here is the result:
R
I think I got it.
Here is the result:
R
Re: Using coprocessor (FT813)
This is awesome, thanks for sharing!
Raquel Malinis
Design and Development
Matrix Orbital
Design and Development
Matrix Orbital
Re: Using coprocessor (FT813)
Hello Raquel!
Something I don't find in the documentation:
1. Is there a way to write the slider in the opposite direction?
2. Is there a way to set another color for the white part? Apparentlty I can change only the
3. If not, is there a way to access the DL list generated by the coprocessor in order to modify it and
write my own widgets in the DL space?
Thanks,
R
Something I don't find in the documentation:
1. Is there a way to write the slider in the opposite direction?
2. Is there a way to set another color for the white part? Apparentlty I can change only the
3. If not, is there a way to access the DL list generated by the coprocessor in order to modify it and
write my own widgets in the DL space?
Thanks,
R
Re: Using coprocessor (FT813)
Hello R,
If you please check out Table 18, Widgets Color Setup Table on the programming guide.
Also, with the color change, the color interpretation can be deemed the direction of the slider.
Best Regards,
If you please check out Table 18, Widgets Color Setup Table on the programming guide.
Also, with the color change, the color interpretation can be deemed the direction of the slider.
Code: Select all
Cmd_FGcolor(MAKE_COLOR(255, 0, 0)); //Red Knob
Cmd_BGcolor(MAKE_COLOR(0, 255, 0)); //green right of Knob
Send_CMD(COLOR_RGB(0, 0, 255)); //blue left of Knob
Cmd_Slider(16, 16, 480-48, 16, 0, 128, 256);
Raquel Malinis
Design and Development
Matrix Orbital
Design and Development
Matrix Orbital