[Development] New Module for Serial Buses

Viironen Kalle kalle.viironen at theqtcompany.com
Fri May 29 11:43:49 CEST 2015



On 28/05/15 09:22, "Knoll Lars" <Lars.Knoll at theqtcompany.com> wrote:

>On 26/05/15 20:14, "Thiago Macieira" <thiago.macieira at intel.com> wrote:
>
>>On Tuesday 26 May 2015 17:40:05 Viironen Kalle wrote:
>>> On 26/05/15 19:42, "Thiago Macieira" <thiago.macieira at intel.com> wrote:
>>> 
>>> 
>>> >On Tuesday 26 May 2015 15:19:26 Hausmann Simon wrote:
>>> >
>>> >>Good point :)
>>> >>I was under the assumption that the concepts are too different, but
>>>if
>>> >>they
>>> >>aren't then maybe a joint module would make sense.
>>> >
>>> >
>>> >At the very least it's a superset and QtSerialPort (the library)
>>>should
>>> >be 
>>> >moved into the new module. It's just two classes anyway.
>>> 
>>> 
>>> I fully agree. At some point QtSerialPort should be moved under this
>>>new
>>> module. Problem with QtSerialPort is that it’s so tightly tied into
>>>RS-232
>>> functionality that its extension to support other serial buses isn’t
>>> feasible.
>>
>>Fair enough.
>>
>>Can you give an overview of what classes you'd like to have and how
>>QSerialPort and QSerialPortInfo would fit into the naming scheme?
>
>I’m all for having a new module and would prefer Qt SerialBus over Qt Bus.
>
>Grouping QSerialPort under it would make sense, but we’d need to
>reconsider the naming of these classes in this case. If we have a couple
>of different new implementations for other things such as CAN, i2c etc, we
>might need slightly less generic class names for them.
>
>So I’d also appreciate a quick overview over the new classes you’d like to
>add, and how we could get the overall class naming to work out.

In the first mail there is an pdf attachment that describes the high level
structure as it’s planned. So the architecture would be pretty much like
what’s used in qtsensors module.

The core classes in QtSerialBus would be something like:
- QSerialBus
- QSerialBusDeviceBackend
- QSerialBusPluginInterface
- QSerialBusPluginFactory

- QSerialBusDevice (inherits QIODevice)
- QSerialBusDeviceFilter

All bus specific functionality would be in backend plugins and in bus
specific classes inherited from QSerialBusDevice and
QSerialBusDeviceFilter.

So the idea is not to hide the actual bus from application developer but
rather to provide an easy to use core architecture that can be used when
developing support for different serial buses.

-Kalle



More information about the Development mailing list