Hi Josef, > is it possible to use two UARTs at the same time from within one app? > We had a look at the example script and application > repos/os/run/uart.run and repos/os/src/test/uart > and tried several things, including: > > - adding two lines in the config for the same process but with different > UARTs: > <policy label="test-uart1" uart="1"/> > <policy label="test-uart1" uart="2"/> > - comma-separating UARTs (uart="1,2") > - adding a second uart-attribute (uart="1" uart="2") > - and many more. > > - In the application, we simply added a second instance of > Uart::Connection and accessed it in the same way as the first. > (The Uart::Connection doesn't seem to offer any other constructor > than the default one, in which one could specify which UART to > access.) > > > but all of those attemptes either led to a build error or made the output > appear > on only one UART. > Is there any way to access two UARTs in one application or > would we need a separate process for each one?
when using multiple connections, each connection should be equipped with a specific label to enable the server (the UART driver) to distinguish them. Unfortunately, the constructor of 'Uart_connection' lacks a parameter for an optional 'label' argument. To accommodate your scenario, you would need to add such an argument similar to how it is done in 'Terminal::Connection'. Btw, unless you really need the specific baud-rate settings of the 'Uart' session, you may just use a 'Terminal::Connection' instead. This would work because the UART driver provides both a "Terminal" service and an "Uart" service. Once you have passed a different label to each connection, you may add a dedicated <policy> node for each label to the driver's configuration. For example, if your connections have the labels "adam" and "eve", the policy would look like this (the "->" is the separator of the label elements): <policy label="test-uart1 -> adam" uart="1"/> <policy label="test-uart1 -> eve" uart="2"/> In case you decide to extend the 'Uart::Connection' constructor with a 'label' argument, please tell us. So we can do same for the mainline of Genode. Cheers Norman -- Dr.-Ing. Norman Feske Genode Labs http://www.genode-labs.com · http://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main