alexblack wrote:But some protocols need it, for example 'LIN' and my protocol has it too. I have devices with USART and new with USB, I do not want to change protocol, because i will need rewrote many programs...
You can implement that by adding messages handling to the CDC driver, the current one is pretty basic.
alexblack wrote:But there are many changes in new version and I want to know how to quickly migrate from one version to another, and what exactly has changed ..
For example, now UART LLD has 2 versions and files changed its location. Which version to choose? chIQInit has new parameters etc.
Changes are listed in the readme.txt present in the development version, usually it is pretty accurate.
alexblack wrote:Now it turns out that the flags will be sent asynchronously with respect to the data stream, as the events are asynchronous? Then there are problems with protocols such as LIN, as BREAK signal is used to mark the start of the parcel. I'll have to check it somehow ...
CDC devices process messages and data on different endpoints so I think the deliver order cannot be guaranteed because it depends on how the host handles things. Events are generated after each transfer so it depends on how the host sends the data and from the size of the serial_usb buffers.
alexblack wrote:Why with ChibiOS 2.4.2 it works without locks and now I must lock? And generally how can I understand from which zone callbacks called?
Hi this is a big change between 2.4.x and 2.5.x, now all callbacks are consistently called outside locks in order to reduce ISR jitter a little bit. It is in the readme
There are two UARTs because different STM32 devices have different UARTs so there are two implementations.
Giovanni