-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
missing project files #1
Comments
Ok sorry my bad, I have added them try now. |
I had to rename the dir to "BP-Displej-zaklad" in order to import the project into CCS11. |
Well, "C2000 Device Support" in version 6.3.0.0 is installed but it is not in c:ti and I have not found where it hides... |
Well I am not CCS master also because it is school project and my teacher help me with it little bit specially with CCS.. I have lessons with him Mondays at 12:00 so if you don´t move on until then he will help us on next monday xD We have installed something on the start of the project but I can´t remember now how it was, but if I remind I will write.. I have som pics but I don´t know if it helps.. |
I am missing this one: C:\ti\C2000Ware_4_00_00_00 |
Well i can share that folder if it helps.. |
I better install it and the only issue so far is to get TI to validate my account, their server is really slow right now. |
Okay.. :D I shared it already btw.. |
yea and btw I only connected: and for SPI 4 pins: link for datasheet: https://4dsystems.com.au/mwdownloads/download/link/id/762/ Is it enough am I right? And the question about SPI_CS is it on pic bellow the DEN signal? so it has to be high when communicating? |
You need SPI_PD as well, so pin 2. Adding the includes manually worked now, my account with TI still is not verified... |
Happy to hear that it worked.. Uhm I understand.. So maybe check if I have set SPI good because I set it as the diagram on the photo show.. You can also see in code that we added cs mannualy to high because the DEN confused us.. And why is there needed the SPI_PD? Isn't that only for sllep mode? |
SPI_PD is powerdown, I am using it for a hard reset in EVE_init(). |
Uhm.. Ok I understand now.. |
I am going over the changes you did. I see to pick up what you already did and modify it to the way I intended this to work. |
uhm, understand about that delay.. thanks for correction.. Of course you can.. I appreciate that.. mm yes the GPIO14 is free, so it can be used as SPI_PD |
Time to take a break for the night, to be continued tomorrow evening. |
Yes it is.. :D |
Ok, I pushed files for a first test. The mostly verbatim copies are meant to make things easier for you when I change something later on. The new target section is to keep it portable, this is like I will release this once this works like intended. I have not really looked at the function though so far. I added a DELAY_MS() function, or rather I copied it from one of the other targets. This should work for the most part: After this an uint8_t is 16 bits wide but I hope this is not an issue. Finally I replaced the display list commands in main.c with a EVE_init() line. And now it would be your time to try this. |
Hello, wow that looks great.. I will try it tomorrow, today was hard day and only thing I want to see is my favourite pajamas on me and my bed.. :D I don't have logic analyzer at home maybe in school.. In school I have also oscilloscope. |
An oscilloscope is not of much use for this as the packets are a bit longer. |
Hello, I have photo what comes out from SPI. CS is inverted on pic, but already rewrited it right in code..
|
This looks very promising, only the CS is going high a bit early. |
I checked out the spi_transmit() function in EVE_target.h and had a peek into the reference manual.
This is not fundamentally different, only a couple of clock-cycles faster. while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 1); // wait for ready state This is not really necessary since there either was no transfer before this or the previous transfer waited for the transmission to be finished. if(SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 0) SpiaRegs.SPITXBUF = (data & 0xFF) << 8; This is redundant in combination with the previous line, why wait for the bit to be zero and then re-check if it is zero? (void) SpiaRegs.SPIRXBUF; /* dummy read to clear the flags */ This generates code to read the register but what is read is ignored. I would like to see the the timing of the PD line after reset to check if the rough delay function is on point. The clock could be increased, maybe use 2MHz as a start, during init it needs to be below 8MHz though. |
Well, a full log of the first 200ms or so after reset would be nice, from start of activity on the SPI to the end. :-) |
I just checked DMA in the TMS320F28xxx and the SPI unit does not support DMA. |
Well I will try to make photo you want, but my logic analyzer will come on friday.. the proces of initialization fail on timeout.. somehow can´t read the right ID from display.. I replaced spi_transmit, but still same problem.. ;P Just to make sure, reading should be on 4th bit or 5th? because on the pic I sent you see that data are coming on 2nd, 3rd, 4th, but none of them are right either.. |
This is why I asked about the decoded values from the image above. :-) A correct sequence would look like this: 0x30 0x21 0x2c is reading from REG_TOUCH_TAG, 0x00 is a dummy byte and with the last 0x00 the value is read. The return from the EVE chip always is 0x00 0x4a 0x43 0x43, followed by whatever data is to be read if the issued command was to read. |
Well, I don´t have good news.. the logic analyzer that came don´t work.. I bouhgt same like you sent, but somehow the PC can´t find that logic analyzer.. I connect it but PC don´t see it.. I have been searching and found out that chinese eeprom don´t work with windows or something like that.. |
These thing do not have a real firmware, only a ROM bootloader, the application is pushing the firmware on the device, every time. Check with https://www.uwe-sieber.de/usbtreeview_e.html if windows at least detects the chip. |
Is it displaying the text? |
yes it is! :D Edit: we added delay to EVE comand |
Yeah! :-) |
To EVE command? |
No, no, no, no, no. :-) |
You could add it to EVE_cs_clear(void) in EVE_target.h though. |
Now the real fun begins. :-) |
yeeha :D |
and how to safely power display down? just disconnect from pc? |
I just switch off, there is no particular power down sequence necessary. |
or how to clear display because Hello there stays there always :D |
OK.. THANKS a lot Rudolph a lot.. :D I think it is enough for today.. you can go sleep if you want.. I will sleep so sweetly.. :D I need a brake.. :D |
Well, you could go back and check my demo again. And this was fun, I did not get to finish what I set out to do but I also did not need to finish this today. :-) |
Yea thanks a lot... if I can do something for you, just let me know.. :P hmm when I write "for( int i = 0; i < 10000 ; i++ );" to EVE_cs_clear(void) in EVE_target.h display lights up, but dont see Hello there.. But when I have it like before in EVE_cmdWrite in EVE_comands it works just fine.. any idea? :D EDIT: oh no sorry.. I didnt realised, but before writing that for cyclus I changed asm(" RPT #7 || NOP"); in spi_transmit to asm(" RPT #100 || NOP"); and that makes display work.. so "for" isnt needed.. |
Oh, heck, this is what this means, this is a delay of n+1 cycles. Looking with this at the time between the clock going low and CS going high, The one in spi_receive() still is set to #7 though and in shows in the trace, all reads end too soon. |
Yes I will correct it tomorrow, because now Im already in bed and Im already sleeping halfway.. :p |
I did some cleanup to prepare for release on my end, this is only missing a name to also give credit. And I changed it a little, I moved the 60 NOPs line to EVE_cs_clear() to not have this delay between two transfers. You could try now to set the spi clock to max. :-) This should result in 37.5MHz / 4 = 9,375MHz. But to really test this would require some more code and most importantly a timed loop to refresh the screen every 20ms or slower. |
I still do not have the software package for the C2000. |
My name is "Dávid Sakal-Šega" but in english is not used diacritic so mby write "David Sakal-Sega" what you want.. :P
Sure.. tested it, looks, that it works good on 1 MHz.
Tried, but display didnt even light up.. :D and I will upload what Pulswiew showed, but I cant set frequency on pulswiew more than 12 MHz, so it looks pretty wired.. |
Max SPI clock that runs is 5 MHz.. because on higher even the composer dont run trough the code.. I add pulswiew file.. |
Avoiding special characters in the source code might be a good idea even though it is usually coded as UTF-8. :-)
Well, ok, so it needs to be lower, this should be a hardware issue, from the eval board over the breakout board.
Naa, I was not expecting this to display anything usefull with the cheap logic analyzer. :-) |
The interesting part with the 5MHz trace is that the time between the last clock and CS high is even longer now. |
Ok, I uploaded EVE_target.h again with an extra line to give credit. |
Today just having some fun.. :D |
Hello, And touch is fairly easy with EVE, check my example here: In TFT_display() I build the list and have a button: EVE_cmd_dl_burst(TAG(10)); /* assign tag-value '10' to the button that follows / So all you need to do to have EVE track an object for touch events is to set a tag-value before the object. The touch could generate an interrupt or you could just poll the registers. The argument against using an interrupt is that if you implement this as an interrupt with your MCU, My TFT_touch() function just does this and in the example I am calling it every 5ms. I have no detectable delay between touching the screen and visual feedback. |
I am trying to import this into CCS and it is missing all the project files.
Please add:
.ccsproject
.cproject
.project
And perhaps the .settings folder.
No, I have no clue what I am doing with CCS so far. :-)
The text was updated successfully, but these errors were encountered: