I need a timeout event for my UART receiver. I followed guide to get the capabilites of the driver. It returned false for Event Rx Timout. Does this mean that the µC is not capable of it? In my case it is an LPC1769
According to the documentation it means that the hardware isn't capable of it. I mean, if it was the manufacturer would have surely impelmented it. I really want to make sure. My superordinate tells me it is capable of it, but to me it seems evident that it is not.
Did it strike your mind to perhaps look in the LPC175x/176x Users manual to check for yourself? If a specific feature is not (yet) implemented in some library, it does not (necessarily) mean that the feature is not present in the chip, just that the library writer (perhaps) was too lazy to implement it.....
The help message (in your screenshot) is contradictory. Carsten Groen is correct -- it's the capabilities of the driver that are reported, which might not match the capabilities of the hardware.
That said, the reported capabilities can also depend on how the driver is configured. If you're using the UART driver for LPC1700 series, you should have a file UART_LPC17xx.c in your project. Look inside that file for the capability definitions. In the file I see, If DMA is enabled, RX timeout is not supported.
Yes, I could not find any information on an Rx Timeout there. It also probably must have been implemented in an older version of the driver, since it used to work half a year ago. Maybe there is a good reason that the function has been removed.
Look for "CTI" in the users manual, its there, and has always been (obviously since you write that "it used to work half a year ago").
I have not written the code and was just thrown in at the deep end here. But you are right. I thought you meant the data sheet. Thank you for pointing it out!
I studied the file now and narrowed the problem down to the UART trigger level, which seems to change on its own. The setting for the corresponding FCR register is missing under Periphals -> UART. It seems like something is missing in the driver.
DMA is definitely disabled. I validated this multiple times. The other option is that the trigger level is set to 0, which it sometimes seems to be. At other times it is at the usual 14 bits. I can't find a way to control this register anywhere, since I have searched all the files for it. Is it possible that this feature has been disabled or the driver is broken? If so many others should have problems. So I actually don't think so.