Re: [Interest] Build qt 5.14.2 from scratch; enable win32-bluetooth-support

2020-09-17 Thread Denis Shienkov

Hi,

you can just build the only qtconnectivity module from the QtCreator. 
You even don't need to re-build whole Qt.


BR, Denis

17.09.2020 16:33, Colin Worth пишет:

I installed VS2019 and will retry.

I also have an error during perl init_repository (using ActivePerl): repository 
not found:
‘GitHub.com/qt/qtquick3d-assimp.git' is not found.



On Sep 15, 2020, at 10:48 AM, Thiago Macieira  wrote:

On Tuesday, 15 September 2020 06:16:42 PDT Colin Worth wrote:

build qt5.14.2 from source for windows msvc2017

If you're asking this, then you don't have an existing build of Qt with MSVC
2017 that you need to be compatible with. So please upgrade to the latest
version (MSVC 2019) before you start.

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering




___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] QtSerialBus on Android

2019-12-12 Thread Denis Shienkov
Hi,

> Yes I saw that, but same apply to QtSerialPort, i don't see why it's
not available on Android. Android IS a Linux system, and it does have
the tty bits.

Because it requires the root right to use the serial ports in Android.
Do you have a root rights for any device? Do you have the USB/Serial
drivers for any device in a device kernel? :)

You can build QSerialPort on Android manually and use it if you want.

BR,
Denis



чт, 12 дек. 2019 г. в 12:15, Christian Gagneraud :

> On Thu, 12 Dec 2019 at 20:00, André Hartmann 
> wrote:
> >
> > Hi Christian,
> >
> > QtSerialBus had a QtSerialPort dependency up to 5.12, which was removed
> > in 5.13.
>
> Yes I saw that, but same apply to QtSerialPort, i don't see why it's
> not available on Android. Android IS a Linux system, and it does have
> the tty bits.
>
> > So you can use QtSerialBus under Android now, at least the Modbus/TCP
> > part. Modbus RTU is not available due to missing serial port, and from
> > the CAN bus side you will most likely only be able to use the virtual
> bus.
> >
> > But maybe socketcan is available on Android too? I never checked that.
>
> Android is "just" a Linux distro, so as long as you have your kernel
> configured correctly, yes you can (and we do) use socketcan on
> Android, and i'm pretty sure you can use the whole can-utils suite on
> it.
>
> But i want my (Qt based) code to run on Linux Desktop and Docker container
> too.
> Being able to use QtSerialBus would be really nice, this would allow
> me to get rid of some really old legacy code.
>
> Anyway, we're stuck on 5.12, and we won't move to a non LTS Qt version.
> So it looks like i'll have to dig myself to see if I can build
> QtSerialPort/Bus for Android
>
> Thanks for the details,
> Chris
>
> PS: I'm not talking Mobile app dev here, i'm talking writing system
> tool for a custom AOSP system.
>
> >
> > Regards,
> > André
> >
> > Am 12.12.19 um 02:40 schrieb Christian Gagneraud:
> > > Hi there,
> > >
> > > Any reason why QtSerialBus is not available on Android?
> > > I'm using Qt-5.12 on armv7.
> > > We have our custom N2K stack that just works on Android (using
> > > socketcan). But i'm working on a project where i would prefer to use
> > > QSerialBus for all the low level stuff.
> > > I haven't try to build it myself (yet). Is this supported?
> > > Given the number of QtC's client working in the Automotive industry,
> > > I'm surprised QSerialBus is not supported on Android/AOSP by default.
> > >
> > > Thanks in advance,
> > > Chris
> > > ___
> > > Interest mailing list
> > > Interest@qt-project.org
> > > https://lists.qt-project.org/listinfo/interest
> > >
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] How build qtserialbus from GIT?

2019-05-17 Thread Denis Shienkov

Hi,

just open it in QtCreator and build.

Note: But as it is a Qt module, then you need in the Perl (e.g 
ActivePerl on Windows) && Python (v2) installed.


BR,
Denis


17.05.2019 17:37, Oleg Gavrilchenko пишет:


I want add MODBUS ASCII mode to qtserialbus. How to build qtserialbus 
cloned from git?



___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] [Development] Qt 6 Planning: Consideration of dropping support for UWP applications

2019-04-21 Thread Denis Shienkov

What about the bluetooth (Classic && LE) support then?

21.04.2019 13:32, Boudewijn Rempt via Interest пишет:

On zondag 21 april 2019 10:43:37 CEST Allan Sandfeld Jensen wrote:


It seems a lot of new Windows API is UWP specific. For instance for HDR
support I need to read the luminance level for SDR content in HDR mode, and I
could only find UWP API for that.

We had to patch Qt a lot to make HDR work properly, including getting the SDR 
luminance level. Those patches in in gerrit, as well as in Krita's repo.

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] How to hide the QSGGeometryNode?

2019-04-15 Thread Denis Shienkov
> Did you try already to use isSubTreeBlocked?

Hi. Yes, now I use this in a form of:

bool CurveNode::isSubtreeBlocked() const

{

return QSGGeometryNode::isSubtreeBlocked() || !m_visible;

}

void CurveNode::setVisible(bool visible)
{if (m_visible == visible)return;m_visible = visible;
  if (!m_visible)m_dirtyState |= DirtySubtreeBlocked;else
  m_dirtyState |= DirtyOpacity;
}


but, when I call the setVisible(true) infide of updatePaintNode(), then I
got an assert:

ASSERT: "shadowNode" in file scenegraph\coreapi\qsgbatchrenderer.cpp, line
1293


and, the node does not appeared again as a visible.









пт, 12 апр. 2019 г. в 12:09, Giuseppe D'Angelo via Interest <
interest@qt-project.org>:

> Hello,
>
> Il 12/04/19 09:19, Denis Shienkov ha scritto:
> > I have an own class, derived from the QQuIckItem. This class contains a
> > multiple child QSGGeometryNode-s. Each node has own fragment && vertex
> > shader. Each node draws a curves, which are specified by a points set to
> > a vertex array. So, I need possibility to hide any selected
> > QSGGeometryNode (i.e. do not draw it).
> >
> > How to do it in a right way?
>
> Did you try already to use isSubTreeBlocked?
>
> HTH,
> --
> Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Senior Software Engineer
> KDAB (France) S.A.S., a KDAB Group company
> Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
> KDAB - The Qt, C++ and OpenGL Experts
>
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


[Interest] How to hide the QSGGeometryNode?

2019-04-12 Thread Denis Shienkov

Hi all.

I have an own class, derived from the QQuIckItem. This class contains a 
multiple child QSGGeometryNode-s. Each node has own fragment && vertex 
shader. Each node draws a curves, which are specified by a points set to 
a vertex array. So, I need possibility to hide any selected 
QSGGeometryNode (i.e. do not draw it).


How to do it in a right way?

BR,

Denis


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Parsing data from serialport

2019-04-05 Thread Denis Shienkov
> Never ever ever do I/O in the main GUI thread of a Qt application.

Why not? It is an asynchronous. You can do I/O in a main thread, but handle
data in a separate thread (e.g. to parse it). Of course, it depends on the
used communication protocol and etc.
A main limitation is that on Windows all I/O stops when a user hold-on the
application window (ot to drag it, or do resizing). It is a Windows
'feature'.

So, yes, in a common case it is makes sense to move the QSerialPort object
to the different thread (a concept of workers).

> Real world serial comm is fraught with peril. I've been doing it since
the days of DOS 3.1.

It's not true.

> Unless something has dramatically changed in QSerialPort, readyRead is
only emitted for the first character in the buffer because there is no
concept of block or packet. A UART handles one byte at a time.

It's not true too. The readyRead() will be triggered when the device's
handle/descriptor becomes 'signalled/activated' (when something comes into
FIFO of driver), in this case the QSerialPort reads all data which are in
this time in the FIFO (there are may be some bytes). So, no any
byte-per-byte handling as you say.

> When you get a readyRead and fail to completely empty the buffer, that's
it. You never get another one.

I'm don't understand what do you mean...

> When QSerialPort was taken from Playground and had all its method names
changed, there was an odd timing bug too. In a production system running
multiple ports of embedded target the code loading the next byte into the
class buffer (perhaps not completely Qt code as it could have been in the
device driver). The adding of the next byte could begin after readLine()
determined how many bytes were in the buffer but prior to actually pulling
them. The new byte got added. One less than a full buffer got read and
readyRead never fired again because the next byte wasn't being written to a
pristine empty buffer.

I don't know about what you say... It is trash for my opinion.. For you has
been provided a good code example how to read the lines:

> QSerialPort * port;
> QObject::connect(port, ::readyRead, port, [port] () ->
void  {
> while (port->canReadLine())  {
> QByteArray data = port->readLine();
> // emit with data as argument and do the parsing
> }
> });

BR,
Denis




пт, 5 апр. 2019 г. в 10:38, :

>
> Quoting interest-requ...@qt-project.org:
>
> > I think the point is that there's little reason to poll the serial port
> if
> > you can react to the event. Exactly what you'd do if you had a network
> > socket. Qt already does the heavy lifting for you, so you only need to
> > react to the signal and read as much as you want/need. Basically:
> >
> > QSerialPort * port;
> > QObject::connect(port, ::readyRead, port, [port] () ->
> void  {
> > while (port->canReadLine())  {
> > QByteArray data = port->readLine();
> > // emit with data as argument and do the parsing
> > }
> > });
> >
> > Whether you have the port in another thread or not is irrelevant in this
> > case, either can work fine (unlike your while-sleep loop).
>
> Never ever ever do I/O in the main GUI thread of a Qt application.
> It's a recipe for disaster despite the countless examples you will
> find posted on-line and even in the Qt examples themselves. Those
> database examples are really nice. Try testing them with a million+
> row table.
>
> Real world serial comm is fraught with peril. I've been doing it since
> the days of DOS 3.1.
>
> Before anyone goes running off and using the above lambda, they need
> to consider a few things.
>
> Unless something has dramatically changed in QSerialPort, readyRead is
> only emitted for the first character in the buffer because there is no
> concept of block or packet. A UART handles one byte at a time.
>
> When you get a readyRead and fail to completely empty the buffer,
> that's it. You never get another one.
>
> When QSerialPort was taken from Playground and had all its method
> names changed, there was an odd timing bug too. In a production system
> running multiple ports of embedded target the code loading the next
> byte into the class buffer (perhaps not completely Qt code as it could
> have been in the device driver). The adding of the next byte could
> begin after readLine() determined how many bytes were in the buffer
> but prior to actually pulling them. The new byte got added. One less
> than a full buffer got read and readyRead never fired again because
> the next byte wasn't being written to a pristine empty buffer.
>
>
> --
> Roland Hughes, President
> Logikal Solutions
> (630) 205-1593
>
> http://www.theminimumyouneedtoknow.com
> http://www.infiniteexposure.net
> http://www.johnsmith-book.com
> http://www.logikalblog.com
> http://www.interestingauthors.com/blog
> http://lesedi.us
>
> ___
> Interest mailing list
> Interest@qt-project.org
> 

Re: [Interest] How to make the QML gui be never stopped on Android

2018-02-15 Thread Denis Shienkov

Jérôme, Vadim,

I do not have any models and so on, I just need to render some
images/frames by grabbibg a content of some QML item, and

send it to UDP.


I am interested in a way how to do this in a background mode

(is it possible or not at all in Android?).

How about the TV-technology, when I can send, e.g. my video

from a smartphone to the TV via WIFI? How it does work on Android?

PS: And yes, I know, that a battery will be consumed, I do not ask about 
battery.


PS2: I am not an Android guru.


Denis


15.02.2018 18:43, Jérôme Godbout пишет:


You can update your model, but the GUI itself should never be able to 
render itself, else this might crash. The GUI will redraw only when 
bring back to front. You should only touch your model or create a 
queue of task to do when you go back up front. Running the main engine 
Qml, not sure this is possible, but I might be wrong on this, maybe Qt 
people can pitch in into this.



You should have a C++ model or DB that hold the data until the 
application is bring back to front to display those data.



*From:* Denis Shienkov <denis.shien...@gmail.com>
*Sent:* Thursday, February 15, 2018 10:00:54 AM
*To:* interest@qt-project.org
*Cc:* Jérôme Godbout
*Subject:* Re: [Interest] How to make the QML gui be never stopped on 
Android


Hi Jérôme,


> android:value="true"/>



I already have this property in My manifect file.


> That service will need to communicate with your application through intent I think. The service could try to wake 
your application.



I need to continue render/update for some dynamic QML GUI even when an 
application goes to sleep.



I don't know how to use a service to render a some GUI stuff, e.g. in 
off-screen mode.



Maybe I need to use a QTimer which will call the 
QQuickWindow::update() method,


I don't know...


Denis.


15.02.2018 17:37, Jérôme Godbout пишет:


Hi,

I do the following for quick oauth2 background html handling:

android:value="true"/>


inside the Qt activity tag of the AndroiManifest.xml


I wish it was easier to specify a single network activity that can 
continue into the background or at least a network intent that can 
wake the application up (could handle the message an/or bring 
application up front again).



I think you will need to create a service to have a full fledge UDP 
listener that continue even after the application screen goes off. 
That service will need to communicate with your application through 
intent I think. The service could try to wake your application. Not a 
specialist about this but this might help, good luck and let us known 
how you did solve it, I'm curious about all this, this still a pain 
to make those work properly.



*From:* Interest <interest-bounces+godboutj=amotus...@qt-project.org> 
<mailto:interest-bounces+godboutj=amotus...@qt-project.org> on behalf 
of Denis Shienkov <denis.shien...@gmail.com> 
<mailto:denis.shien...@gmail.com>

*Sent:* Thursday, February 15, 2018 9:25:38 AM
*To:* interest@qt-project.org <mailto:interest@qt-project.org>
*Subject:* [Interest] How to make the QML gui be never stopped on 
Android


Hi all,

I use QML and Qt 5.9.3 on my Android application.

I achieved some tricks that my application continued to
work when the smartphone goes to sleep or when the user
presses the 'power' button, i.e. seems, that an
application running in background mode.

I do not use an Android service here (because I dont
know how to do it, also I'm not sure that this will help).

So, when the application goes to background mode,
I see that it continues to work, because I see that
my UDP "keep-alive" messages are sends and receives.

But, A MAIN problem is that a QML GUI is stopped then...
i.e. does not updates.

I need to do GUI grabbing in a real time and send it
to UDP in any case.

Is it possible to make a GUI work forewer?

BR,
Denis






___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to make the QML gui be never stopped on Android

2018-02-15 Thread Denis Shienkov

Hi Jérôme,


> android:value="true"/>



I already have this property in My manifect file.


That service will need to communicate with your  application through intent I think. The service could try to wake your 

application.


I need to continue render/update for some dynamic QML GUI even when an 
application goes to sleep.



I don't know how to use a service to render a some GUI stuff, e.g. in 
off-screen mode.



Maybe I need to use a QTimer which will call the QQuickWindow::update() 
method,


I don't know...


Denis.


15.02.2018 17:37, Jérôme Godbout пишет:


Hi,

I do the following for quick oauth2 background html handling:

android:value="true"/>


inside the Qt activity tag of the AndroiManifest.xml


I wish it was easier to specify a single network activity that can 
continue into the background or at least a network intent that can 
wake the application up (could handle the message an/or bring 
application up front again).



I think you will need to create a service to have a full fledge UDP 
listener that continue even after the application screen goes off. 
That service will need to communicate with your application through 
intent I think. The service could try to wake your application. Not a 
specialist about this but this might help, good luck and let us known 
how you did solve it, I'm curious about all this, this still a pain to 
make those work properly.



*From:* Interest <interest-bounces+godboutj=amotus...@qt-project.org> 
on behalf of Denis Shienkov <denis.shien...@gmail.com>

*Sent:* Thursday, February 15, 2018 9:25:38 AM
*To:* interest@qt-project.org
*Subject:* [Interest] How to make the QML gui be never stopped on Android

Hi all,

I use QML and Qt 5.9.3 on my Android application.

I achieved some tricks that my application continued to
work when the smartphone goes to sleep or when the user
presses the 'power' button, i.e. seems, that an
application running in background mode.

I do not use an Android service here (because I dont
know how to do it, also I'm not sure that this will help).

So, when the application goes to background mode,
I see that it continues to work, because I see that
my UDP "keep-alive" messages are sends and receives.

But, A MAIN problem is that a QML GUI is stopped then...
i.e. does not updates.

I need to do GUI grabbing in a real time and send it
to UDP in any case.

Is it possible to make a GUI work forewer?

BR,
Denis




___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] How to make the QML gui be never stopped on Android

2018-02-15 Thread Denis Shienkov

Hi all,

I use QML and Qt 5.9.3 on my Android application.

I achieved some tricks that my application continued to
work when the smartphone goes to sleep or when the user
presses the 'power' button, i.e. seems, that an
application running in background mode.

I do not use an Android service here (because I dont
know how to do it, also I'm not sure that this will help).

So, when the application goes to background mode,
I see that it continues to work, because I see that
my UDP "keep-alive" messages are sends and receives.

But, A MAIN problem is that a QML GUI is stopped then...
i.e. does not updates.

I need to do GUI grabbing in a real time and send it
to UDP in any case.

Is it possible to make a GUI work forewer?

BR,
Denis


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] How to downgrade QtC from maintenance tool

2017-12-08 Thread Denis Shienkov
Hi all,

Is it possible to downgrade the previously updated QtC,
using MaintenanceTool utility?

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to connect to bluetooth services like PBAB

2017-06-12 Thread Denis Shienkov

Use D-Bus API.


12.06.2017 9:32, Alex Blasche пишет:



-Original Message-
From: Interest [mailto:interest-bounces+alexander.blasche=qt.io@qt-
project.org] On Behalf Of Abin Joseph
But I
would like to know if QBluetooth module support the same if so how to use it.

QtBluetooth does not support PBA.

--
Alex
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Android low latency BLE scanning

2017-05-11 Thread Denis Shienkov
QBluetoothDeviceDiscoveryAgent::setLowEnergyDiscoveryTimeout(int msTimeout)
?

2017-05-11 12:06 GMT+03:00 :

> Hi,
> Android supports several scan modes when scanning for BLE devices:
> https://developer.android.com/reference/android/bluetooth/
> le/ScanSettings.html
>
> It seems that Qt uses balanced scan mode as device discovery takes some
> time.I want to use SCAN_MODE_LOW_LATENCY in my Qt Android app - I need fast
> BLE device discovery.
>
> Is setting scan mode possible in Qt Android?
>
> Best regards
>
> Martin
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] [QML] Is it possible to catch a frame's pixmap during its changing?

2017-02-09 Thread Denis Shienkov
Hi all,

I need to catch a pixmap on a desired QML's item before or after its
rendering to send, e.g. to the network or to do something else. I want to
use the C++ code for this purpose.

So, I have following questions:


1) Is there are any way to know (e.g. to get a signal), that a desired QML
item were updated?

I did not found many answers for this issue, I see only one similar virtual
method:

virtual QSGNode **updatePaintNode
*(QSGNode **oldNode*,
UpdatePaintNodeData **updatePaintNodeData*)

which, I think, should to notify me that an Item was updated. But, I'm not
sure...


2) Is there are any way to grab a pixmap of a desired Item quickly?

I see only one method:

QSharedPointer *grabToImage
*(const QSize &
*targetSize* = QSize())

which is asynchronous.

I tried it, but the signal QQuickItemGrabResult::ready
() get stuck after
some time...

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] qt5-gstreamer

2016-08-17 Thread Denis Shienkov

Hi,

It of course is good... But, IMHO, qt5-gstreamer [1] has following cons:

1. It has not QMake project file, instead it has CMake project file.
2. It required boost.

It doesn't allow to use qt5-gstreamer for embedded devices. On some 
devices just there is no boost in repositories and I need to 
cross-compile it himself. Use of CMake is an overhead and also 
introduces complications for a cross-compilation.


I will be happy if someone do following:

1. Add QMake project there
2. Re-write sources to remove the boost from dependensies.

:)

[1] https://cgit.freedesktop.org/gstreamer/qt-gstreamer

BR,
Denis

18.08.2016 3:25, Jérôme Lanteri пишет:

Hi,

There is no doc, no manual, no tutorial, no example for qt5-gstreamer
(or no one know where is some).

Then because of that, i started a new public little project for provide
example of use of qt5-gstreamer with Qt5 for C++ QWidget code.

This porject want to use qt5-gstreamer for show video from selected
source (screen or camera), take snapshot image on the fly, record video
from same source in the same time, add a plugin flitre for modify image
brightness/color/hue/saturation etc... do add overlay dynamics texts,
then... particulary show how to use qt5-gstreamer in different situations.

Qt tools can not do all of that, for example, from QCamera viewfinder,
and with QMediaRecorder, you can record source, but you can not in the
same time do a snapshot capture, you need to change the capture mode...
and much more things you can not do if you not use gstreamer directly.

For most of great hackers, i think it is something easy to do help on
that, but let me show how you can help by practice and add contribution
to this project.

Hope this idea would be a good way by the time to see power of community
open source and add some doc/example/tuto for this qt5-gstreamer.

here is the project:
https://bitbucket.org/jerome___/gst_video_testeur/overview

Thank you for your help and your contributions.

Jerome
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] [Development] [QML] Avoiding graphics flicker in Quick2

2016-08-04 Thread Denis Shienkov
{quote}

Hi all.

I have some QML application, where just use QQuickView as QML container.
This application uses Qt 5.7.x and running on Linux embedded board with the
NVIDIA core (Toradex Apalis T30).

But sometimes I got flickering in process of animation. A flickering
represents in form of a "white" strips with full-screen width and 1/5-1/6
screen heigth. This flickers happens quickly and frequently (every ~20-60
seconds, randomly)...

I have seen this "Avoiding graphics flicker in Qt / QML" [1] blog where are
used QML with Qt 4.x,
where were used this trics:

{code}
int main(int argc, char **argv)
{
...
view.setAttribute(Qt::WA_OpaquePaintEvent);
view.setAttribute(Qt::WA_NoSystemBackground);
view.viewport()->setAttribute(Qt::WA_OpaquePaintEvent);
view.viewport()->setAttribute(Qt::WA_NoSystemBackground);
...
}
{code}

But, in my case I have use Quick v2, with QQuickView instead of
QDeclarativeView,
which does not allowed to setup any attributes.

So, my questions is: is there are any way to setup Qt::WA_OpaquePaintEvent
and/or
Qt::WA_NoSystemBackground in Quck2? Or, maybe is it possible to use another
tricks?

BR,
Denis

[1]https://blog.rburchell.com/2011/11/avoiding-graphics-flicker-in-qt-qml.html

{quote}

This flickering present on some HDMI displays...

We currently have this flags:

{code}
...
view.setFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
...
{code}

Maybe is it an reasons of flikering? Has someone any ideas?

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] EGL Error : Could not create the egl surface: error = 0x300b

2016-04-26 Thread Denis Shienkov
Or, maybe your app has wrong linking to *EGL libraries... for example, 
your target has own *EGL libraries path,


which is different than *EGL MESA libraries.  Check your ldd.

BR,

denis


27.04.2016 2:21, Thiago Macieira пишет:

On terça-feira, 26 de abril de 2016 18:02:02 PDT Ryan Elkholy wrote:

Yes, sorry for that. Three questions:

1. How did you find that 0x300b was EGL_BAD_NATIVE_WINDOW?

a) I searched the source code for the full error message and found that it was
printing the return value of eglGetError()

b) I googled for eglGetError() and found the possible error replies

c) I grepped the EGL headers for an error constant (any of them) and then
found the one close to it that had the value 0x300B.


2. What is this caused by?

According to Khronos docs, a bad EGLDisplay value. Most likely a null pointer.

void QEglFSWindow::resetSurface()
{
 EGLDisplay display = screen()->display();
 QSurfaceFormat platformFormat = qt_egl_device_integration()-

surfaceFormatFor(window()->requestedFormat());

 m_config = QEglFSIntegration::chooseConfig(display, platformFormat);
 m_format = q_glFormatFromConfig(display, m_config, platformFormat);
 m_window = qt_egl_device_integration()->createNativeWindow(this, screen()-

geometry().size(), m_format);

 m_surface = eglCreateWindowSurface(display, m_config, m_window, NULL);
}

Don't ask me why screen()->display() is returning a bad EGLDisplay. This is as
far as I can go studying this codebase.


3. Given that there is no obvious solution, how can I dig further into
debugging this?


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Make friends the QtMultimedia and Tegra Jetson TK1

2016-02-19 Thread Denis Shienkov
Hi, folks,

I have looked this blog [1] in which it is told about surprises of Tegra
Jetson TK1.

But, seems, I have a new surprise, when the QMediaPlayer shows four
identical videos on the HDMI display, instead of one video.

This happens as in QML (MediaPlayer/Video items), and as in C++
(QMediaPlayer), using the LinuxFB/EGLFS backends (I have only two these
backends) [2].

I have use gstreamer1.0.

I have use a full-screen mode (as for QML, and as for C++), like:

{code}
...
widget.showFullScreen();
...
{code}

I have cross-compiled Qt5 (as 5.5.1, and as 5.6.0) with this configuration:

{code}
#!/bin/sh

/home/builder/Projects/qt5/./configure \
-v \
-release \
-opensource \
-confirm-license \
-make libs \
-prefix /opt/qt-5.6.0 \
-device tegra-tk1 \
-device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- \
-sysroot /home/builder/Projects/tegra/rootfs \
-optimized-qmake \
-gstreamer 1.0 \
-nomake examples \
-nomake tests \
-no-compile-examples \
-no-gtkstyle \
-no-qml-debug \
-no-nis \
-no-tslib \
-no-harfbuzz \
-no-openssl \
-no-libproxy \
-no-pulseaudio \
-cups \
-no-icu \
-no-fontconfig \
-no-sql-db2 \
-plugin-sql-mysql \
-no-sql-oci \
-no-sql-odbc \
-no-sql-psql \
-plugin-sql-sqlite \
-no-sql-sqlite2 \
-no-sql-ibase \
-no-sql-tds \
-no-directfb \
-no-kms \
-no-xcb \
-no-xcb-xlib \
-no-glib \
-qt-freetype \
-system-zlib \
-system-libjpeg \
-system-libpng \
-opengl es2 \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdoc \
-skip qtdocgallery \
-skip qtenginio \
-skip qtfeedback \
-skip qtimageformats \
-skip qtlocation \
-skip qtmacextras \
-skip qtpim \
-skip qtqa \
-skip qtquick1 \
-skip qtquickcontrols \
-skip qtrepotools \
-skip qtsensors \
-skip qtserialport \
-skip qtsystems \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebchannel \
-skip qtwebengine \
-skip qtwebkit \
-skip qtwebkit-examples \
-skip qtwebsockets \
-skip qtwinextras \
{code}

The native "gst-launch" utility works fine (as expected) when I want to
playback of a my *.mp4 video:

{code}
$ gst-launch-1.0 filesrc location= ! qtdemux name=demux !
h264parse ! omxh264dec ! nvhdmioverlaysink –e
{code}

So, I need help to make friendly the QMediaPlayer & Tegra Jetson board.

is there are any things about? why whis happens?

maybe you can point me to the direction where I need to look in sources of
QtMultimedia's gstreamer backend?


BR,
Denis

-

[1] -
http://blog.qt.io/blog/2015/03/03/qt-weekly-28-qt-and-cuda-on-the-jetson-tk1/
[2] - https://bugreports.qt.io/browse/QTBUG-51234
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Deploy Qt on windows with relative paths

2016-01-20 Thread Denis Shienkov
> or simply put "deploy-qt-runtime" to the path for current console session,
> or create a batch setting the path and starting the app.

this does not work, see my first message!

> On Windows you can try to set up working directory in the shortcut...

it is not an option for me

BR,
Denis


2016-01-20 9:50 GMT+03:00 alexander golks <a...@golks.de>:

> hi,
>
> or simply put "deploy-qt-runtime" to the path for current console session,
> or create a batch setting the path and starting the app.
>
> alex
>
> > On Windows you can try to set up working directory in the shortcut...
> >
> > On 19.01.2016 20:56, Denis Shienkov wrote:
> > > Hi all.
> > >
> > > I want to launch my QML application, based on Qt 5.x, QtQuick 2 with
> > > following deployment tree:
> > >
> > > deploy
> > >   |-> deploy-qt-runtime
> > >   |-> deploy-my-app
> > >
> > > where
> > >
> > > 1) "deploy-qt-runtime" directory contains all required stuff, which is
> got
> > > by means of 'windeployqt.exe' (where I pass the --qmldir to my QML
> > > source files of application).
> > >
> > > 2) "deploy-my-app" contains my executable file
> > >
> > > I want to launch my application from the "deploy-my-app" directory by
> > > means of
> > > console. But it does nothing, and I got following error from console:
> > >
> > > "module "QtQuick" is not installed"
> > >
> > > it is strange, because I use QtQuick 2.0!
> > >
> > > I tried dofferent ways to launch my application:
> > >
> > > 1) Using qt.conf file
> > >
> > > [Paths]
> > > plugins = ../deploy-qt-runtime
> > > imports = ../deploy-qt-runtime
> > > bin = ../deploy-qt-runtime
> > > libexec = ../deploy-qt-runtime
> > > qml = ../deploy-qt-runtime
> > > translations = ../deploy-qt-runtime/translations
> > >
> > > 2) Using env variables:
> > >
> > > set QT_RUNTIME_DR=..\deploy-qt-runtime
> > > set QT_PLUGIN_PATH=%QT_RUNTIME_DR%
> > > set PATH=%QT_RUNTIME_DR%;%PATH%
> > >
> > > start my-app.exe
> > >
> > > but it is unsuccessfully!
> > >
> > > BUT: when I copy my executable file into "deploy-qt-runtime" directory,
> > > all works fine!!!
> > >
> > > Note: I do not want mixing my aplication with qt-runtime resources.
> > >
> > > So, is it possible to launch application with this "relative" way?
> > >
> > > BR,
> > > Denis
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > ___
> > > Interest mailing list
> > > Interest@qt-project.org
> > > http://lists.qt-project.org/mailman/listinfo/interest
> >
>
>
> --
> /*
>  *Clothes make the man.  Naked people have little or no influence on
> society.
>  *-- Mark Twain
>  */
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Deploy Qt on windows with relative paths

2016-01-19 Thread Denis Shienkov
Hi all.

I want to launch my QML application, based on Qt 5.x, QtQuick 2 with
following deployment tree:

deploy
  |-> deploy-qt-runtime
  |-> deploy-my-app

where

1) "deploy-qt-runtime" directory contains all required stuff, which is got
by means of 'windeployqt.exe' (where I pass the --qmldir to my QML source
files of application).

2) "deploy-my-app" contains my executable file

I want to launch my application from the "deploy-my-app" directory by means
of
console. But it does nothing, and I got following error from console:

"module "QtQuick" is not installed"

it is strange, because I use QtQuick 2.0!

I tried dofferent ways to launch my application:

1) Using qt.conf file

[Paths]
plugins = ../deploy-qt-runtime
imports = ../deploy-qt-runtime
bin = ../deploy-qt-runtime
libexec = ../deploy-qt-runtime
qml = ../deploy-qt-runtime
translations = ../deploy-qt-runtime/translations

2) Using env variables:

set QT_RUNTIME_DR=..\deploy-qt-runtime
set QT_PLUGIN_PATH=%QT_RUNTIME_DR%
set PATH=%QT_RUNTIME_DR%;%PATH%

start my-app.exe

but it is unsuccessfully!

BUT: when I copy my executable file into "deploy-qt-runtime" directory,
all works fine!!!

Note: I do not want mixing my aplication with qt-runtime resources.

So, is it possible to launch application with this "relative" way?

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video performance issue

2015-11-05 Thread Denis Shienkov
Now all works with Qt in EGLFS via X (no freezes),

{code}
ubuntu@tegra-ubuntu:~/Downloads$ ./qml-camera -platform eglfs &
{code}

need just add the Qt camera properties like minimum and maximum frame rates
[1] (15 and 30 in my case).

But the CPU average is ~80% O_o.

And when running the gst-launch only:

{quote}
ubuntu@tegra-ubuntu:~/Downloads$ gst-launch-1.0 v4l2src device=/dev/video0
! 'video/x-raw, format=(string)I420, framerate=30/1' ! xvimagesink
sync=false &
{quote}

shows CPU average ~50%..

BR,
Denis


[1]
http://doc.qt.io/qt-5/qml-qtmultimedia-camera.html#viewfinder.minimumFrameRate-prop

2015-11-05 13:12 GMT+03:00 Denis Shienkov <denis.shien...@gmail.com>:

> > That said, it most likely won’t help you since I doubt this is
> functional in the Linux for Tegra images for the TK1.
>
> Ok, thanks.. let's will forget about KMS/DRM, because now I want to use
> EGLFS via X11.
>
> So, now, directly run of the 'standard' GStreamer's 'gst-launch' tool it
> is allowed for me to show a video from the camera Logitech c920 without
> freezes (but with some artifacts):
>
> {quote}
> ubuntu@tegra-ubuntu:~$ gst-launch-1.0 -e v4l2src device=/dev/video0 !
> 'video/x-raw, format=(string)I420, framerate=20/1' ! xvimagesink sync=false
> {quote}
>
> where I use such parameters as 'framerate=30' and 'sync=false'.
>
> So, is it possible to pass this parameters to the Qt (QML) application
> which are used GStreamer too?
>
> BR,
> Denis
>
>
>
> 2015-11-05 11:47 GMT+03:00 Agocs Laszlo <laszlo.ag...@theqtcompany.com>:
>
>> As for #1, yes, the new backend is 5.6 only. It is different from
>> eglfs_kms. The latter uses GBM for buffer management while the new one
>> relies on EGLDevice, EGLOutput and EGLStream. (if interested in the
>> details, check this presentation:
>> http://www.x.org/wiki/Events/XDC2014/XDC2014RitgerEGLNonMesa ) That
>> said, it most likely won’t help you since I doubt this is functional in the
>> Linux for Tegra images for the TK1.
>>
>>
>>
>> Best regards,
>>
>> Laszlo
>>
>>
>>
>> *From:* Denis Shienkov [mailto:denis.shien...@gmail.com]
>> *Sent:* 4. november 2015 19:08
>> *To:* interest@qt-project.org
>> *Cc:* Agocs Laszlo <laszlo.ag...@theqtcompany.com>; Thiago Macieira <
>> thiago.macie...@intel.com>; Lopes Yoann <yoann.lo...@theqtcompany.com>
>>
>> *Subject:* Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video
>> performance issue
>>
>>
>>
>> Laszlo, thanks for your answer.
>>
>> So, I have another questions:
>>
>> 1. What is "eglfs_kms_egldevice" ? Is it introduced in Qt 5.6 only? What
>> for this option? Is is equal to "eglfs_kms" option?
>>
>> 2. Is it possible to change the Gstreamer's sinks from Qt application? Is
>> it make sense?
>> Because according to NVIDIA Tegra's documentation [1], I can (?) run the
>> 'gst-launch' utility using different sinks,
>> like 'xvimagesink', 'nv_omx_hdmi_videosink', 'nveglglessink' and so on to
>> test performance with the native stuff..
>>
>> BR,
>> Denis
>>
>> -
>> [1]
>> http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/L4T_Jetson_TK1_Multimedia_User_Guide_V2.1.pdf
>>
>> 04.11.2015 12:26, Agocs Laszlo пишет:
>>
>> * do you have any trics and recommendations how to properly compile Qt on
>> Tegra Jetson TK1 (maybe requires another flags and so on)?
>>
>>
>>
>> What you have should be good enough. Qt 5.6 comes with Jetson Pro support
>> and it looks more or less the same when it comes to the compiler flags:
>> http://code.qt.io/cgit/qt/qtbase.git/tree/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf
>>
>>
>> * how to run the GUI application properly with KMS and so on?
>>
>>
>>
>> You can’t. AFAIK the public TK1 is pretty much X11 only with NVIDIA’s
>> binary drivers. (the Jetson Pro is a different story, though) You could try
>> an open-source stack with Nouveau for KMS, Wayland, etc. but no idea how
>> stable that is nowadays.
>>
>>
>>
>> Video with Qt Multimedia did not really work out of the box the last time
>> I tried it. It has not been investigated much since. Anyway, the slow
>> speeds are likely related to the camera/GStreamer/QtMultimedia, not Qt in
>> general as Qt apps are known to run pretty well on the TK1.
>>
>>
>>
>> Best regards,
>>
>> Laszlo
>>
>>
>>
>>
>>
>> *From:* Interest [mailto:interest-boun...@qt-project.org
>> <interest-boun...

Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video performance issue

2015-11-05 Thread Denis Shienkov
> That said, it most likely won’t help you since I doubt this is functional
in the Linux for Tegra images for the TK1.

Ok, thanks.. let's will forget about KMS/DRM, because now I want to use
EGLFS via X11.

So, now, directly run of the 'standard' GStreamer's 'gst-launch' tool it is
allowed for me to show a video from the camera Logitech c920 without
freezes (but with some artifacts):

{quote}
ubuntu@tegra-ubuntu:~$ gst-launch-1.0 -e v4l2src device=/dev/video0 !
'video/x-raw, format=(string)I420, framerate=20/1' ! xvimagesink sync=false
{quote}

where I use such parameters as 'framerate=30' and 'sync=false'.

So, is it possible to pass this parameters to the Qt (QML) application
which are used GStreamer too?

BR,
Denis



2015-11-05 11:47 GMT+03:00 Agocs Laszlo <laszlo.ag...@theqtcompany.com>:

> As for #1, yes, the new backend is 5.6 only. It is different from
> eglfs_kms. The latter uses GBM for buffer management while the new one
> relies on EGLDevice, EGLOutput and EGLStream. (if interested in the
> details, check this presentation:
> http://www.x.org/wiki/Events/XDC2014/XDC2014RitgerEGLNonMesa ) That said,
> it most likely won’t help you since I doubt this is functional in the Linux
> for Tegra images for the TK1.
>
>
>
> Best regards,
>
> Laszlo
>
>
>
> *From:* Denis Shienkov [mailto:denis.shien...@gmail.com]
> *Sent:* 4. november 2015 19:08
> *To:* interest@qt-project.org
> *Cc:* Agocs Laszlo <laszlo.ag...@theqtcompany.com>; Thiago Macieira <
> thiago.macie...@intel.com>; Lopes Yoann <yoann.lo...@theqtcompany.com>
>
> *Subject:* Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video
> performance issue
>
>
>
> Laszlo, thanks for your answer.
>
> So, I have another questions:
>
> 1. What is "eglfs_kms_egldevice" ? Is it introduced in Qt 5.6 only? What
> for this option? Is is equal to "eglfs_kms" option?
>
> 2. Is it possible to change the Gstreamer's sinks from Qt application? Is
> it make sense?
> Because according to NVIDIA Tegra's documentation [1], I can (?) run the
> 'gst-launch' utility using different sinks,
> like 'xvimagesink', 'nv_omx_hdmi_videosink', 'nveglglessink' and so on to
> test performance with the native stuff..
>
> BR,
> Denis
>
> -
> [1]
> http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/L4T_Jetson_TK1_Multimedia_User_Guide_V2.1.pdf
>
> 04.11.2015 12:26, Agocs Laszlo пишет:
>
> * do you have any trics and recommendations how to properly compile Qt on
> Tegra Jetson TK1 (maybe requires another flags and so on)?
>
>
>
> What you have should be good enough. Qt 5.6 comes with Jetson Pro support
> and it looks more or less the same when it comes to the compiler flags:
> http://code.qt.io/cgit/qt/qtbase.git/tree/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf
>
>
> * how to run the GUI application properly with KMS and so on?
>
>
>
> You can’t. AFAIK the public TK1 is pretty much X11 only with NVIDIA’s
> binary drivers. (the Jetson Pro is a different story, though) You could try
> an open-source stack with Nouveau for KMS, Wayland, etc. but no idea how
> stable that is nowadays.
>
>
>
> Video with Qt Multimedia did not really work out of the box the last time
> I tried it. It has not been investigated much since. Anyway, the slow
> speeds are likely related to the camera/GStreamer/QtMultimedia, not Qt in
> general as Qt apps are known to run pretty well on the TK1.
>
>
>
> Best regards,
>
> Laszlo
>
>
>
>
>
> *From:* Interest [mailto:interest-boun...@qt-project.org
> <interest-boun...@qt-project.org>] *On Behalf Of *Jason H
> *Sent:* 3. november 2015 21:59
> *To:* Denis Shienkov <denis.shien...@gmail.com> <denis.shien...@gmail.com>
> *Cc:* Thiago Macieira <thiago.macie...@intel.com>
> <thiago.macie...@intel.com>; interest@qt-project.org
> *Subject:* Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video
> performance issue
>
>
>
> I didn't use that confguration, but I have compiled Qt on an Atom with a
> Tegra chipset. I vaguely remember optimizing the video stack. By default it
> was using a CPU renderer, but I beulve the trick was re-compiling GStreamer
> to use the proper hardware acceleration. There may have been an environment
> variable involved in getting GStreamer to select the proper back-end --
> that is to say GStreamer had it own envionment variable , not a QT_ one --
> IIRC.
>
>
>
> I am sorry I can't be more specific, but maybe that can get you in the
> right direction.
>
>
>
> Also, I remember using the 'top' command and I think it being rather
> obvious who who the culprit was who was not using hardware rendering.

Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video performance issue

2015-11-04 Thread Denis Shienkov

Laszlo, thanks for your answer.

So, I have another questions:

1. What is "eglfs_kms_egldevice" ? Is it introduced in Qt 5.6 only? What 
for this option? Is is equal to "eglfs_kms" option?


2. Is it possible to change the Gstreamer's sinks from Qt application? 
Is it make sense?
Because according to NVIDIA Tegra's documentation [1], I can (?) run the 
'gst-launch' utility using different sinks,
like 'xvimagesink', 'nv_omx_hdmi_videosink', 'nveglglessink' and so on 
to test performance with the native stuff..


BR,
Denis

-
[1] 
http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/L4T_Jetson_TK1_Multimedia_User_Guide_V2.1.pdf



04.11.2015 12:26, Agocs Laszlo пишет:


* do you have any trics and recommendations how to properly compile Qt 
on Tegra Jetson TK1 (maybe requires another flags and so on)?


What you have should be good enough. Qt 5.6 comes with Jetson Pro 
support and it looks more or less the same when it comes to the 
compiler flags: 
http://code.qt.io/cgit/qt/qtbase.git/tree/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf



* how to run the GUI application properly with KMS and so on?

You can’t. AFAIK the public TK1 is pretty much X11 only with NVIDIA’s 
binary drivers. (the Jetson Pro is a different story, though) You 
could try an open-source stack with Nouveau for KMS, Wayland, etc. but 
no idea how stable that is nowadays.


Video with Qt Multimedia did not really work out of the box the last 
time I tried it. It has not been investigated much since. Anyway, the 
slow speeds are likely related to the camera/GStreamer/QtMultimedia, 
not Qt in general as Qt apps are known to run pretty well on the TK1.


Best regards,

Laszlo

*From:*Interest [mailto:interest-boun...@qt-project.org] *On Behalf Of 
*Jason H

*Sent:* 3. november 2015 21:59
*To:* Denis Shienkov <denis.shien...@gmail.com>
*Cc:* Thiago Macieira <thiago.macie...@intel.com>; interest@qt-project.org
*Subject:* Re: [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video 
performance issue


I didn't use that confguration, but I have compiled Qt on an Atom with 
a Tegra chipset. I vaguely remember optimizing the video stack. By 
default it was using a CPU renderer, but I beulve the trick was 
re-compiling GStreamer to use the proper hardware acceleration. There 
may have been an environment variable involved in getting GStreamer to 
select the proper back-end -- that is to say GStreamer had it own 
envionment variable , not a QT_ one -- IIRC.


I am sorry I can't be more specific, but maybe that can get you in the 
right direction.


Also, I remember using the 'top' command and I think it being rather 
obvious who who the culprit was who was not using hardware rendering. 
Once I got it all set, even on that old Atom, it was doing 30fps with 
less than 10% CPU.


That said, in my experience linuxFB is extremely slow, never use it 
for video.


If you can't find the DRM device, then you are missing the Direct 
Render Mode drivers for it. That said, I've never used DRM without X.


*Sent:* Tuesday, November 03, 2015 at 12:20 PM
*From:* "Denis Shienkov" <denis.shien...@gmail.com 
<mailto:denis.shien...@gmail.com>>

*To:* interest@qt-project.org <mailto:interest@qt-project.org>
*Cc:* "Thiago Macieira" <thiago.macie...@intel.com 
<mailto:thiago.macie...@intel.com>>
*Subject:* [Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video 
performance issue


Hi Qt developers.

I have veeery slow video performance with Qt 5.5.1 and the video 
camera (frame rate about ~1-3 fps) on Tegra Jetson TK1 device, where 
the video stream writes via HDMI interface to the monitor.


My stuff is:

* Qt 5.5.1, cross-compiled himself.
* Tegra Jetson TK1 board [1]
* Logitech c920 USB camera (supports 1920x1080 @ 30 Hz) [2]

I compiled Qt with this C++ flags:

{quote}
DISTRO_OPTS += hard-float

QMAKE_INCDIR += /usr/arm-linux-gnueabihf/include \
/usr/arm-linux-gnueabihf/include/c++/4.8.2 \
/usr/arm-linux-gnueabihf/include/c++/4.8.2/arm-linux-gnueabihf

TEGRA_TK1_CFLAGS = -mcpu=cortex-a15 -mfpu=neon-vfpv4 -marm
QMAKE_CFLAGS += $$TEGRA_TK1_CFLAGS
QMAKE_CXXFLAGS += $$TEGRA_TK1_CFLAGS
{quote}

with the GStreamer v1.0 , the GL and the EGL (2.0, 3.0) support:

{quote}
/home/builder/Projects/qt5/./configure \
-v \
-release \
-opensource \
-confirm-license \
-make libs \
-prefix /opt/qt-5.5 \
-device tegra-tk1 \
-device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- \
-sysroot /home/builder/Projects/tegra/rootfs \
-optimized-qmake \
-alsa \
-gstreamer 1.0 \
-nomake examples \
-nomake tests \
-no-compile-examples \
-no-gtkstyle \
-no-qml-debug \
-no-nis \
-no-mtdev \
-no-evdev \
-no-tslib \
-no-harfbuzz \
-no-openssl \
-no-libproxy \
-no-pulseaudio \
-no-cups \
-no-icu \
-no-fontconfig \
-no-sql-db2 \
-no-sql-mysql \
-no-sql-oci \
-no-sql-odbc \
-no-sql-psql \
-no-sql-sqlite \
-no-sql-sqlite2 \
-no-sql-ibase \
-no-sql-tds \
-no-directfb \
-no-xcb \
-no-xcb-xlib

[Interest] Qt 5.5.x & NVIDIA Tegra Jetson TK1 video performance issue

2015-11-03 Thread Denis Shienkov

Hi Qt developers.

I have veeery slow video performance with Qt 5.5.1 and the video camera 
(frame rate about ~1-3 fps) on Tegra Jetson TK1 device, where the video 
stream writes via HDMI interface to the monitor.


My stuff is:

* Qt 5.5.1, cross-compiled himself.
* Tegra Jetson TK1 board [1]
* Logitech c920 USB camera (supports 1920x1080 @ 30 Hz) [2]

I compiled Qt with this C++ flags:

{quote}
DISTRO_OPTS += hard-float

QMAKE_INCDIR += /usr/arm-linux-gnueabihf/include \
/usr/arm-linux-gnueabihf/include/c++/4.8.2 \
/usr/arm-linux-gnueabihf/include/c++/4.8.2/arm-linux-gnueabihf

TEGRA_TK1_CFLAGS= -mcpu=cortex-a15 -mfpu=neon-vfpv4 -marm
QMAKE_CFLAGS   += $$TEGRA_TK1_CFLAGS
QMAKE_CXXFLAGS += $$TEGRA_TK1_CFLAGS
{quote}

with the GStreamer v1.0 , the GL and the EGL (2.0, 3.0) support:

{quote}
/home/builder/Projects/qt5/./configure \
-v \
-release \
-opensource \
-confirm-license \
-make libs \
-prefix /opt/qt-5.5 \
-device tegra-tk1 \
-device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- \
-sysroot /home/builder/Projects/tegra/rootfs \
-optimized-qmake \
-alsa \
-gstreamer 1.0 \
-nomake examples \
-nomake tests \
-no-compile-examples \
-no-gtkstyle \
-no-qml-debug \
-no-nis \
-no-mtdev \
-no-evdev \
-no-tslib \
-no-harfbuzz \
-no-openssl \
-no-libproxy \
-no-pulseaudio \
-no-cups \
-no-icu \
-no-fontconfig \
-no-sql-db2 \
-no-sql-mysql \
-no-sql-oci \
-no-sql-odbc \
-no-sql-psql \
-no-sql-sqlite \
-no-sql-sqlite2 \
-no-sql-ibase \
-no-sql-tds \
-no-directfb \
-no-xcb \
-no-xcb-xlib \
-no-glib \
-system-zlib \
-qt-libjpeg \
-qt-libpng \
-qt-freetype \
-opengl es2 \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdoc \
-skip qtdocgallery \
-skip qtenginio \
-skip qtfeedback \
-skip qtimageformats \
-skip qtlocation \
-skip qtmacextras \
-skip qtpim \
-skip qtqa \
-skip qtquick1 \
-skip qtquickcontrols \
-skip qtrepotools \
-skip qtsensors \
-skip qtserialport \
-skip qtsystems \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebchannel \
-skip qtwebengine \
-skip qtwebkit \
-skip qtwebkit-examples \
-skip qtwebsockets \
-skip qtwinextras \
 {quote}

Resulting configuration are following:

{quote}
Support enabled for:
  Accessibility .. yes
  ALSA ... yes
  CUPS ... no
  Evdev .. no
  FontConfig . no
  FreeType ... qt
  Glib ... no
  GStreamer .. yes (1.0)
  GTK theme .. no
  HarfBuzz ... no
  Iconv .. yes
  ICU  no
  Image formats:
GIF .. yes (plugin, using bundled copy)
JPEG . yes (plugin, using bundled copy)
PNG .. yes (in QtGui, using bundled copy)
  journald ... no
  libinput no
  mtdev .. no
  Networking:
getaddrinfo .. yes
getifaddrs ... yes
IPv6 ifname .. yes
libproxy.. no
OpenSSL .. no
  NIS  no
  OpenGL / OpenVG:
EGL .. yes
OpenGL ... yes (OpenGL ES 2.0+)
OpenVG ... no
  PCRE ... yes (bundled copy)
  pkg-config . yes
  PulseAudio . no
  QPA backends:
DirectFB . no
EGLFS  yes
  EGLFS i.MX6... . no
  EGLFS KMS .. yes
  EGLFS Mali . no
  EGLFS Raspberry Pi . no
  EGLFS X11 .. yes
LinuxFB .. yes
XCB .. no
  Session management . yes
  SQL drivers:
DB2 .. no
InterBase  no
MySQL  no
OCI .. no
ODBC . no
PostgreSQL ... no
SQLite 2 . no
SQLite ... no
TDS .. no
  tslib .. no
  udev ... yes
  xkbcommon-x11... no
  xkbcommon-evdev. no
  zlib ... yes (system library)
{quote}

I tried to launch the QtMultimedia's Camera example (which does not use 
QML) via SSH connection

to the Tegra's device, like:

= using LinuxFB =

{quote}
$ ./camera -platform linuxfb:fb=/dev/fb1
{quote}

= using EGLFS via X =
{quote}
$ export DISPLAY=:0
$ export |QT_QPA_EGLFS_INTEGRATION=eglfs_x11|
$ startx &
$ ./camera -platform eglfs
{quote}

= using EGLFS via KMS =

{quote}
$ export DISPLAY=
$ export |QT_QPA_EGLFS_INTEGRATION=eglfs_kms|
$ ./camera -platform eglfs
{quote}

Use of LinuxFB and EGLFS via X gives very slow video performance (~3 fps 
as I spoke before).


Use of EGLFS via KMS gives folloving error:

{quote}
Could not find DRM device
Aborted
{quote}

I found out in the google yours blog [3] from Laszlo Agocs in which 
Tegra Jetson is mentioned,

but there are no details about building, running and so on.

So, my question is:

[Interest] QtMultimedia how to crosscompile with GStreamer

2015-11-03 Thread Denis Shienkov
Hi all,

I have Ubuntu 14.04 i386 as host OS and I want to cross-compile Qt 5.5.1
for embedded ARM target.
I already have a cross-compiled Qt 5.5.1, but with incomplete QtMultimedia
module (without GStreamer 1.0).

The problem is that pkg-config utility does not resolved the installed
GStreamer parts.

I have the rootfs in which my Qt were installed (e.g. in
/home/builder/Projects/tegra/rootfs/opt).

Now, to build the QtMultimedia I use this script:

{code}
#!/bin/sh

TEGRA_SYSROOT=/home/builder/Projects/tegra/rootfs

export PKG_CONFIG_DIR=
export
PKG_CONFIG_LIBDIR=${TEGRA_SYSROOT}/usr/lib/pkgconfig:${TEGRA_SYSROOT}/usr/share/pkgconfig:${TEGRA_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=${TEGRA_SYSROOT}

TEGRA_QMAKE=/home/builder/Projects/tegra/rootfs/opt/qt-5.5/bin/qmake

${TEGRA_QMAKE} /home/builder/Projects/tests/qtmultimedia/qtmultimedia.pro
GST_VERSION=1.0
{code}

Also, I modified the qtmultimedia.pro with:

{code}

} else:!android {
contains(QT_CONFIG, alsa):qtCompileTest(alsa)
contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio)

isEmpty(GST_VERSION) {
warning("*** NO GST_VERSION are set, try to take from QT_CONFIG")
contains(QT_CONFIG, gstreamer-0.10) {
GST_VERSION = 0.10
} else: contains(QT_CONFIG, gstreamer-1.0) {
GST_VERSION = 1.0
} else {
}
} else {
warning("*** GST_VERSION are set to" $$GST_VERSION)
}

cache(GST_VERSION, set)
!isEmpty(GST_VERSION) {
qtCompileTest(gstreamer)
qtCompileTest(gstreamer_photography)
qtCompileTest(gstreamer_encodingprofiles)
qtCompileTest(gstreamer_appsrc)
qtCompileTest(linux_v4l)
} else {
warning("*** NO GST_VERSION are set")
}

qtCompileTest(resourcepolicy)
qtCompileTest(gpu_vivante)
}

load(qt_parts)

!config_alsa:warning("*** NO ALSA")
!config_pulseaudio:warning("*** NO PULSE")
!config_gstreamer:warning("*** NO GSTREAMER")
!config_gstreamer_photography:warning("*** NO GSTREAMER PHOTO")
!config_gstreamer_encodingprofiles:warning("*** NO GSTREAMER ENCODING")
!config_gstreamer_gstreamer_appsrc:warning("*** NO GSTREAMER APP")
!config_linux_v4l:warning("*** NO V4L")
{code}

And after running this script I got following:

{quote}
builder@tegra-build-server:~/Projects/tests/build-qtmultimedia$
../qmake-script
Info: creating cache file
/home/builder/Projects/tests/build-qtmultimedia/.qmake.cache
Checking for openal... no
Checking for alsa... yes
Project WARNING: *** GST_VERSION are set to 1.0
Checking for gstreamer... no
Checking for gstreamer_photography... no
Checking for gstreamer_encodingprofiles... no
Checking for gstreamer_appsrc... no
Checking for linux_v4l... yes
Checking for resourcepolicy... no
Checking for gpu_vivante... no
Project WARNING: *** NO PULSE
Project WARNING: *** NO GSTREAMER
Project WARNING: *** NO GSTREAMER PHOTO
Project WARNING: *** NO GSTREAMER ENCODING
Project WARNING: *** NO GSTREAMER APP
builder@tegra-build-server:~/Projects/tests/build-qtmultimedia$
{quote}

Howewer, my rootfs all GStreamer's parts are present:

{code}
builder@tegra-build-server:~/Projects/tests/build-qtmultimedia$ sudo find
/home/builder/Projects/tegra/rootfs/ -name '*.pc' | grep gstreamer
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-app-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-good-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-base-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-net-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtp-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-video-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-pbutils-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-allocators-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-base-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-tag-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-fft-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-check-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-audio-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtsp-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-sdp-1.0.pc
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-riff-1.0.pc

Re: [Interest] QtMultimedia how to crosscompile with GStreamer

2015-11-03 Thread Denis Shienkov
I'm sorry, the problem was on my side.. need to fix some of symlinks, like:

$ sudo ln -sf
/home/builder/Projects/tegra/rootfs/lib/arm-linux-gnueabihf/libglib-2.0.so.0
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/
libglib-2.0.so

BR,
Denis

2015-11-03 13:54 GMT+03:00 Denis Shienkov <denis.shien...@gmail.com>:

> Hi all,
>
> I have Ubuntu 14.04 i386 as host OS and I want to cross-compile Qt 5.5.1
> for embedded ARM target.
> I already have a cross-compiled Qt 5.5.1, but with incomplete QtMultimedia
> module (without GStreamer 1.0).
>
> The problem is that pkg-config utility does not resolved the installed
> GStreamer parts.
>
> I have the rootfs in which my Qt were installed (e.g. in
> /home/builder/Projects/tegra/rootfs/opt).
>
> Now, to build the QtMultimedia I use this script:
>
> {code}
> #!/bin/sh
>
> TEGRA_SYSROOT=/home/builder/Projects/tegra/rootfs
>
> export PKG_CONFIG_DIR=
> export
> PKG_CONFIG_LIBDIR=${TEGRA_SYSROOT}/usr/lib/pkgconfig:${TEGRA_SYSROOT}/usr/share/pkgconfig:${TEGRA_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig
> export PKG_CONFIG_SYSROOT_DIR=${TEGRA_SYSROOT}
>
> TEGRA_QMAKE=/home/builder/Projects/tegra/rootfs/opt/qt-5.5/bin/qmake
>
> ${TEGRA_QMAKE} /home/builder/Projects/tests/qtmultimedia/qtmultimedia.pro
> GST_VERSION=1.0
> {code}
>
> Also, I modified the qtmultimedia.pro with:
>
> {code}
> 
> } else:!android {
> contains(QT_CONFIG, alsa):qtCompileTest(alsa)
> contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio)
>
> isEmpty(GST_VERSION) {
> warning("*** NO GST_VERSION are set, try to take from QT_CONFIG")
> contains(QT_CONFIG, gstreamer-0.10) {
> GST_VERSION = 0.10
> } else: contains(QT_CONFIG, gstreamer-1.0) {
> GST_VERSION = 1.0
> } else {
> }
> } else {
> warning("*** GST_VERSION are set to" $$GST_VERSION)
> }
>
> cache(GST_VERSION, set)
> !isEmpty(GST_VERSION) {
> qtCompileTest(gstreamer)
> qtCompileTest(gstreamer_photography)
> qtCompileTest(gstreamer_encodingprofiles)
> qtCompileTest(gstreamer_appsrc)
> qtCompileTest(linux_v4l)
> } else {
> warning("*** NO GST_VERSION are set")
> }
>
> qtCompileTest(resourcepolicy)
> qtCompileTest(gpu_vivante)
> }
>
> load(qt_parts)
>
> !config_alsa:warning("*** NO ALSA")
> !config_pulseaudio:warning("*** NO PULSE")
> !config_gstreamer:warning("*** NO GSTREAMER")
> !config_gstreamer_photography:warning("*** NO GSTREAMER PHOTO")
> !config_gstreamer_encodingprofiles:warning("*** NO GSTREAMER ENCODING")
> !config_gstreamer_gstreamer_appsrc:warning("*** NO GSTREAMER APP")
> !config_linux_v4l:warning("*** NO V4L")
> {code}
>
> And after running this script I got following:
>
> {quote}
> builder@tegra-build-server:~/Projects/tests/build-qtmultimedia$
> ../qmake-script
> Info: creating cache file
> /home/builder/Projects/tests/build-qtmultimedia/.qmake.cache
> Checking for openal... no
> Checking for alsa... yes
> Project WARNING: *** GST_VERSION are set to 1.0
> Checking for gstreamer... no
> Checking for gstreamer_photography... no
> Checking for gstreamer_encodingprofiles... no
> Checking for gstreamer_appsrc... no
> Checking for linux_v4l... yes
> Checking for resourcepolicy... no
> Checking for gpu_vivante... no
> Project WARNING: *** NO PULSE
> Project WARNING: *** NO GSTREAMER
> Project WARNING: *** NO GSTREAMER PHOTO
> Project WARNING: *** NO GSTREAMER ENCODING
> Project WARNING: *** NO GSTREAMER APP
> builder@tegra-build-server:~/Projects/tests/build-qtmultimedia$
> {quote}
>
> Howewer, my rootfs all GStreamer's parts are present:
>
> {code}
> builder@tegra-build-server:~/Projects/tests/build-qtmultimedia$ sudo find
> /home/builder/Projects/tegra/rootfs/ -name '*.pc' | grep gstreamer
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-app-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-good-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-base-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-net-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtp-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-video-1.0.pc
>
> /hom

Re: [Interest] QtMultimedia how to crosscompile with GStreamer

2015-11-03 Thread Denis Shienkov

Hi Thiago,

A problem was on my side:

> I'm sorry, the problem was on my side.. need to fix some of symlinks, 
like:


> $ sudo ln -sf 
/home/builder/Projects/tegra/rootfs/lib/arm-linux-gnueabihf/libglib-2.0.so.0 
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/libglib-2.0.so 
<http://libglib-2.0.so>


now it is solved. Thanks for your answer.

BR,
Denis

03.11.2015 17:32, Thiago Macieira пишет:

On Tuesday 03 November 2015 09:27:44 Thiago Macieira wrote:

On Tuesday 03 November 2015 13:54:12 Denis Shienkov wrote:

Hi all,

I have Ubuntu 14.04 i386 as host OS and I want to cross-compile Qt 5.5.1
for embedded ARM target.
I already have a cross-compiled Qt 5.5.1, but with incomplete QtMultimedia
module (without GStreamer 1.0).

The problem is that pkg-config utility does not resolved the installed
GStreamer parts.

Hi Denis

Make sure that PKG_CONFIG_LIBDIR and PKG_CONFIG_SYSROOT_DIR are both
properly set and pointing to your sysroot before you run qtbase's
configure, as well as when you run qmake in qtmultimedia's top dir.

Oops, I realised just after hitting Send that your script does that.

Can you attach the config.log that qmake produced when run in qtmultimedia?

It should have logged the command-line it used to compile the gstreamer test
and will tell us why it failed.



___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Odd error using QSerialPort with hardware flow control

2015-10-24 Thread Denis Shienkov
Hi,

I have not this issue.

* QtSerialPort from the 5.6 branch
* Windows 10
* On-board serial port (where the pins 2-3, 7-8 are connected)
* The Terminal example

Please provide a minimal example which reproduces this issue (also give 
more info about your serial port type).

BR,
Denis

23.10.2015 22:28, Michael R Nelson пишет:
> Hi,
>
> When using offline install of Qt 5.5.1 QSerialPort in Windows7/64bit, if I 
> set the hardware flow control flag, errors are signaled on most port 
> operations (e.g., open, read, and write). The error type is 
> QSerialPort::UnsupportedOperationError, and the error string is "The 
> parameter is incorrect." This only occurs if the hardware flow control flag 
> is set, i.e., m_serialPort->setFlowControl(QSerialPort::HardwareControl).
>
> Have others run into this? Have any work-arounds been identified?
>
> Thanks,
> Mike
>
>
> Please be advised that this email may contain confidential information. If 
> you are not the intended recipient, please notify us by email by replying to 
> the sender and delete this message. The sender disclaims that the content of 
> this email constitutes an offer to enter into, or the acceptance of, any 
> agreement; provided that the foregoing does not invalidate the binding effect 
> of any digital or other electronic reproduction of a manual signature that is 
> included in any attachment.
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Cannot source debug Android on Qt 5.5.1 RC snapshot?

2015-09-24 Thread Denis Shienkov
You can look on https://bugreports.qt.io/browse/QTCREATORBUG-15032

BR,
Denis

2015-09-23 23:28 GMT+03:00 Edward Sutton :

> What are things to check when Android source code debugging stops working?
>
> I press debug run button then select my USB connected Android 5.1.1 device.
>
>
> It deploys to my tablet without problem.  I can run it too.
>
> When Launching Debugger progress bar completes, nothing happens.
>
> Application Output reports debugging has started and finished.
>
> *Debugging starts*
> *Debugging has finished*
>
>
> Compile Output:
>
> Copying 308 dependencies from Qt into package.
> 3988 KB/s (17992039 bytes in 4.405s)
> Installing Android package to device.
> Running command "/Users/edward3/android/sdk/platform-tools/adb -s 08f513c6
> install -r
> /Users/edward3/Documents/projects/build-tsr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_0-Debug/android-build//bin/QtApp-debug.apk"
> pkg: /data/local/tmp/QtApp-debug.apk
> Success
> Android package built successfully in 8.656 ms.
> -- It can now be run from the selected device/emulator.
> -- File:
> /Users/edward3/Documents/projects/build-tsr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_0-Debug/android-build//bin/QtApp-debug.apk
> 15:18:38: The process
> "/Users/edward3/Qt5.5.1/5.5/android_armv7/bin/androiddeployqt" exited
> normally.
> 15:18:38: Pulling files necessary for debugging.
> 15:18:38: Package deploy: Running command
> "/Users/edward3/android/sdk/platform-tools/adb -s 08f513c6 pull
> /system/bin/app_process32
> /Users/edward3/Documents/projects/build-tsr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_0-Debug/app_process".
> 15:18:38: Package deploy: Running command
> "/Users/edward3/android/sdk/platform-tools/adb -s 08f513c6 pull
> /system/lib/libc.so
> /Users/edward3/Documents/projects/build-tsr-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_0-Debug/libc.so".
> 15:18:38: Elapsed time: 00:51.
>
> Thanks,
>
> -Ed
>
> This email and any files transmitted with it from The Charles Machine
> Works, Inc. are confidential and intended solely for the use of the
> individual or entity to which they are addressed. If you have received this
> email in error please notify the sender. Our company accepts no liability
> for the contents of this email, or for the consequences of any actions
> taken on the basis of the information provided, unless that information is
> subsequently confirmed in writing. Please note that any views or opinions
> presented in this email are solely those of the author and do not
> necessarily represent those of the company. Finally, the recipient should
> check this email and any attachments for the presence of viruses. The
> company accepts no liability for any damage caused by any virus transmitted
> by this email.
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QCanBusDevice inheritance

2015-09-09 Thread Denis Shienkov
Benjamin,

I forwarded your message to the mailing list back (you likely forgot to do
it?). Now it could available to comments and for other developers (if you
don't object).

BR,
Denis

2015-09-09 15:46 GMT+03:00 Denis Shienkov <denis.shien...@gmail.com>:

> Benjamin,
>
> I forwarded your message to the mailing list back (you likely forgot to do
> it?). Now it could available to comments and for other developers (if you
> don't object).
>
> 2015-09-09 11:10 GMT+03:00 Benjamin TERRIER <b.terr...@gmail.com>:
>
>> 2015-09-08 19:37 GMT+02:00 Denis Shienkov <denis.shien...@gmail.com>:
>> > Hi.
>> >
>> > Because QIODevice is inconsistent with the CAN frames. The CAN uses a
>> > minimal entity - frame, which can not be divided to bytes. Besides,
>> > QIODevice's read/write/bytesAvailable methods has not sense, you can not
>> > read/write a half of frame and so on. You can not know a size of frame
>> > to serialize it, because its size is various. And others, others, others
>> > CAN specific reasons. Please, read comments in codereview commits on
>> > gerrit for acquaintance.
>> >
>> > BR,
>> > Denis
>> >
>> > 08.09.2015 18:50, Benjamin TERRIER пишет:
>> >> Hi,
>> >>
>> >> Following the announce of Qt 5.6 Alpha, I checked the brand new
>> >> QCanBusDevice and I've been wondering why the developers did not want
>> >> to use QIODevice (the git logs show that all dependencies have been
>> >> purposely removed).
>> >>
>> >> Cheers,
>> >>
>> >> Benjamin
>> >> ___
>> >> Interest mailing list
>> >> Interest@qt-project.org
>> >> http://lists.qt-project.org/mailman/listinfo/interest
>> >
>> > ___
>> > Interest mailing list
>> > Interest@qt-project.org
>> > http://lists.qt-project.org/mailman/listinfo/interest
>>
>> Hi,
>>
>> Thanks for your response but I still don't get why QIODevice has been
>> discarded for CAN while it is used for QUdpSocket.
>>
>> First, frames can always be divided into bytes, there length is an
>> integer multiple of byte. If you are talking about the fact that
>> fields within a frame are not 8 bits longs (identifier can be 11),
>> this should be handled by the underlying CAN library.
>>
>> I also don't get why not knowing the size of a frame can be a problem,
>> UDP datagrams size can vary yet QUdpSocket inherits QIODevice.
>>
>> Finally, QIODevice read/write/bytesAvailable can be given a sense, for
>> instance bytesAvailable could return the sum of the size of all
>> received CAN frames (I do agree it has a limited use but it does not
>> mean it doesn't make sense).
>>
>> My point is a QCanBusDevice is an I/O device and therefore should be a
>> QIODevice as, I quote, "The QIODevice class is the base interface
>> class of all I/O devices in Qt". And the fact that some QIODevice
>> functions are not a perfect fit for CAN should not be a reason not to
>> use it as such cases seems to have been taken into account in the
>> design of the QIODevice class (look at QIODevice::pos(), it is
>> explicitly stated that this function might not make sense).
>>
>> BR,
>>
>> Benjamin
>>
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QCanBusDevice inheritance

2015-09-08 Thread Denis Shienkov
Hi.

Because QIODevice is inconsistent with the CAN frames. The CAN uses a 
minimal entity - frame, which can not be divided to bytes. Besides, 
QIODevice's read/write/bytesAvailable methods has not sense, you can not 
read/write a half of frame and so on. You can not know a size of frame 
to serialize it, because its size is various. And others, others, others 
CAN specific reasons. Please, read comments in codereview commits on 
gerrit for acquaintance.

BR,
Denis

08.09.2015 18:50, Benjamin TERRIER пишет:
> Hi,
>
> Following the announce of Qt 5.6 Alpha, I checked the brand new
> QCanBusDevice and I've been wondering why the developers did not want
> to use QIODevice (the git logs show that all dependencies have been
> purposely removed).
>
> Cheers,
>
> Benjamin
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] New qt.io account some questions

2015-03-09 Thread Denis Shienkov
Hi all.

I have some questions:

1. It is possible to drag my account (nick-name) from the old 
http://qt-project.org/ forum?
Because when I tried to use an old nick, then it says that a nick 
already is in use.

2. It is possible to drag the my points? Because now I neew to starts 
all fron the beginning?
Because I'm unable to edit own posts..

BR, Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Fwd: Is there any trick to smooth the animation of PathView index changing ?

2015-02-20 Thread Denis Shienkov
 Use the docs, Luke!

Really? And I didn't know about animations (sarcasm).

Do you have concrete proposals/ideas ? Otherwise your post has no value.

BR,
Denis

2015-02-20 10:39 GMT+03:00 Till Oliver Knoll till.oliver.kn...@gmail.com:


  Am 18.02.2015 um 17:46 schrieb Denis Shienkov denis.shien...@gmail.com
 :
 
  ...
 
  Is anybody know how to do it in QML?

 Use the docs, Luke!

 http://doc.qt.io/qt-5/animation-overview.html

 Cheers,
   Oliver
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Fwd: Is there any trick to smooth the animation of PathView index changing ?

2015-02-20 Thread Denis Shienkov
UPD: I found out a similar issue in here:
http://comments.gmane.org/gmane.comp.lib.qt.user/11987

I will try to consider it.

BR,
Denis

2015-02-20 11:21 GMT+03:00 Denis Shienkov denis.shien...@gmail.com:

  Use the docs, Luke!

 Really? And I didn't know about animations (sarcasm).

 Do you have concrete proposals/ideas ? Otherwise your post has no value.

 BR,
 Denis

 2015-02-20 10:39 GMT+03:00 Till Oliver Knoll till.oliver.kn...@gmail.com
 :


  Am 18.02.2015 um 17:46 schrieb Denis Shienkov denis.shien...@gmail.com
 :
 
  ...
 
  Is anybody know how to do it in QML?

 Use the docs, Luke!

 http://doc.qt.io/qt-5/animation-overview.html

 Cheers,
   Oliver
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest



___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Fwd: Is there any trick to smooth the animation of PathView index changing ?

2015-02-18 Thread Denis Shienkov
Hi all.

I want to make an animation when changing of currentIndex (by
increment/decrement functions) causes the smooth PathView item changing.
Besides, when animation starts, the items should be quickly animated, but
during a some time, they should be more slowly and more slowly until the
stopping.

I tried to use the Timer (with an interval which gradually increases during
some time), which calls the increment/decrement index of PathView. But in
this case the animation of items happens with jerks, but not smooth. Also,
the PathView.highlightMoveDuration property does not helps.

Is anybody know how to do it in QML? :)

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Bluetooth Low Energy on Windows: Options and feasabilty of implementing own backend

2015-01-13 Thread Denis Shienkov
 I can choose to „Add Bluetooth devices“ in the menu of that icon but the
scan does neither show my peripheral nor my TVBluetooth

This means that your demo FW has errors in its implementation. Windows
support BLE stack according to specification, so, maybe your FW uses wrong
states or handshake sequence and so on.

BR,
Denis

2015-01-13 1:28 GMT+03:00 Axel Jäger axeljae...@googlemail.com:

 Hello Denis, Hello Alex,

 thank you for your help, here is a description of my setup:



 Bluetooth peripheral:

 I use a BLE112-Bluetooth-Module from bluegiga. It is programmed with a
 demo firmware that implements a Heart Rate service. I added one line to the
 initalisation of the firmware:  sm_set_bondable_mode which enables
 bonding.



 Windows Phone

 I use a Nokia Lumia 930. After a software update yesterday evening, I can
 see and pair to my bluegiga heart rate demo now. Also, I see a second
 device called TVBluetooth. I cannot pair to that device.



 Windows 8.1 Desktop

 I use a desktop PC with a bluetooth 4.0 dongle that looks like this one:


 http://i01.i.aliimg.com/wsphoto/v0/1680100575_1/Mini-font-b-Bluetooth-b-font-V4-0-USB-font-b-Bluetooth-b-font-font-b.jpg

 Windows is successfully installing a driver and shows the bluetooth icon
 in the system tray.

 I can choose to „Add Bluetooth devices“ in the menu of that icon but the
 scan does neither show my peripheral nor my TVBluetooth

 I also tried an example project from Microsoft that also cannot find any
 peripheral. This is no surprise because the application tells me to first
 pair my device.



 For me it looks like my Windows/Desktop does not care for bluetooth LE at
 all.



 Best regards,



 Axel



 *Von:* Denis Shienkov [mailto:denis.shien...@gmail.com]
 *Gesendet:* Montag, 12. Januar 2015 10:14
 *An:* Blasche Alexander
 *Cc:* Axel Jäger; interest@qt-project.org

 *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hi all,

  So far, I was not able to communicate with a custom BLE peripheral using
 either Windows Phone 8.1 or Windows 8.1 on a desktop.

 Hmm, it is strange. Can you please describe your steps and your env? Maybe
 your custom BLE peripheral chip has wrong firmware.
 I'm too faced earlier with a similar situation when a BLE peripheral works
 on Max/Linux, but does not works on Windows 8.1 Desktop (the reason was in
 a wrong FW).

 BR,
 Denis



 2015-01-12 12:01 GMT+03:00 Blasche Alexander 
 alexander.blas...@theqtcompany.com:

 How do you define a custom BLE peripheral (aka what BLE devices work and
 which don't) on Win 8.1? Is it one that is not defined by some well known
 service or characteristic UUID?



 --

 Alex
 --

 *From:* Axel Jäger axeljae...@googlemail.com
 *Sent:* Sunday, January 11, 2015 22:35
 *To:* Blasche Alexander; interest@qt-project.org
 *Subject:* AW: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hello Alex,

 thank you for your answer. So if there is someone working on a port of
 windows, time might be my friend and I might start on my mac using 5.5.
 However, in the meantime I found out that the implementation of Bluetooth
 LE on Windows behaves differently regarding the need to bond and pair
 devices.



 So far, I was not able to communicate with a custom BLE peripheral using
 either Windows Phone 8.1 or Windows 8.1 on a desktop.



 I guess an implementation of the Qt Bluetooth LE API will inherit this
 behaviour. If this is case and currently I guess it is the case, I better
 go with the bluegiga SDK directly.



 Best regards,



 Axel



 *Von:* interest-bounces+axeljaeger=googlemail@qt-project.org [mailto:
 interest-bounces+axeljaeger=googlemail@qt-project.org] *Im Auftrag
 von *Blasche Alexander
 *Gesendet:* Mittwoch, 7. Januar 2015 09:28
 *An:* interest@qt-project.org
 *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hi Axel,



 Your assumption about 5.5 is correct. Android gets LE support and ios/OSX
 get classic and LE support.



 Windows is currently work in progress. There is a wip/win branch on
 codereview. The windows port is mostly community driven at this stage which
 makes prediction somewhat hard. Ccurrently, you can find devices and I
 believe the initial connect to a BTLE device is somewhat done. This is done
 for classic desktop windows (which would cover win 8.1). There is no WinRT
 code at this stage.



 to your questions:



 1.) I am confident Windows should have no unfixable problems. In many
 cases it is better than ios/OSX/Android when it comes to LE. I cannot say
 much about WinRT.



 2.) I am not the WinRT expert but I was told in some cases it works in
 other's it doesn't. QtPositioning apparantly couldn't use RT on desktop. Qt
 doesn't mix desktop and RT and I got the feeling that the responsiple devs
 would like to keep it that way.



 3

Re: [Interest] Bluetooth Low Energy on Windows: Options and feasabilty of implementing own backend

2015-01-13 Thread Denis Shienkov
 Windows is successfully installing a driver and shows the bluetooth icon
in the system tray.
 For me it looks like my Windows/Desktop does not care for bluetooth LE at
all.

Make sure that your DeviceManager has Bluetooth *LE* enumerator device.

2015-01-13 14:25 GMT+03:00 Denis Shienkov denis.shien...@gmail.com:

  I can choose to „Add Bluetooth devices“ in the menu of that icon but the
 scan does neither show my peripheral nor my TVBluetooth

 This means that your demo FW has errors in its implementation. Windows
 support BLE stack according to specification, so, maybe your FW uses wrong
 states or handshake sequence and so on.

 BR,
 Denis

 2015-01-13 1:28 GMT+03:00 Axel Jäger axeljae...@googlemail.com:

 Hello Denis, Hello Alex,

 thank you for your help, here is a description of my setup:



 Bluetooth peripheral:

 I use a BLE112-Bluetooth-Module from bluegiga. It is programmed with a
 demo firmware that implements a Heart Rate service. I added one line to the
 initalisation of the firmware:  sm_set_bondable_mode which enables
 bonding.



 Windows Phone

 I use a Nokia Lumia 930. After a software update yesterday evening, I can
 see and pair to my bluegiga heart rate demo now. Also, I see a second
 device called TVBluetooth. I cannot pair to that device.



 Windows 8.1 Desktop

 I use a desktop PC with a bluetooth 4.0 dongle that looks like this one:


 http://i01.i.aliimg.com/wsphoto/v0/1680100575_1/Mini-font-b-Bluetooth-b-font-V4-0-USB-font-b-Bluetooth-b-font-font-b.jpg

 Windows is successfully installing a driver and shows the bluetooth icon
 in the system tray.

 I can choose to „Add Bluetooth devices“ in the menu of that icon but the
 scan does neither show my peripheral nor my TVBluetooth

 I also tried an example project from Microsoft that also cannot find any
 peripheral. This is no surprise because the application tells me to first
 pair my device.



 For me it looks like my Windows/Desktop does not care for bluetooth LE at
 all.



 Best regards,



 Axel



 *Von:* Denis Shienkov [mailto:denis.shien...@gmail.com]
 *Gesendet:* Montag, 12. Januar 2015 10:14
 *An:* Blasche Alexander
 *Cc:* Axel Jäger; interest@qt-project.org

 *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hi all,

  So far, I was not able to communicate with a custom BLE peripheral
 using either Windows Phone 8.1 or Windows 8.1 on a desktop.

 Hmm, it is strange. Can you please describe your steps and your env?
 Maybe your custom BLE peripheral chip has wrong firmware.
 I'm too faced earlier with a similar situation when a BLE peripheral
 works on Max/Linux, but does not works on Windows 8.1 Desktop (the reason
 was in a wrong FW).

 BR,
 Denis



 2015-01-12 12:01 GMT+03:00 Blasche Alexander 
 alexander.blas...@theqtcompany.com:

 How do you define a custom BLE peripheral (aka what BLE devices work and
 which don't) on Win 8.1? Is it one that is not defined by some well known
 service or characteristic UUID?



 --

 Alex
 --

 *From:* Axel Jäger axeljae...@googlemail.com
 *Sent:* Sunday, January 11, 2015 22:35
 *To:* Blasche Alexander; interest@qt-project.org
 *Subject:* AW: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hello Alex,

 thank you for your answer. So if there is someone working on a port of
 windows, time might be my friend and I might start on my mac using 5.5.
 However, in the meantime I found out that the implementation of Bluetooth
 LE on Windows behaves differently regarding the need to bond and pair
 devices.



 So far, I was not able to communicate with a custom BLE peripheral using
 either Windows Phone 8.1 or Windows 8.1 on a desktop.



 I guess an implementation of the Qt Bluetooth LE API will inherit this
 behaviour. If this is case and currently I guess it is the case, I better
 go with the bluegiga SDK directly.



 Best regards,



 Axel



 *Von:* interest-bounces+axeljaeger=googlemail@qt-project.org [mailto:
 interest-bounces+axeljaeger=googlemail@qt-project.org] *Im Auftrag
 von *Blasche Alexander
 *Gesendet:* Mittwoch, 7. Januar 2015 09:28
 *An:* interest@qt-project.org
 *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hi Axel,



 Your assumption about 5.5 is correct. Android gets LE support and ios/OSX
 get classic and LE support.



 Windows is currently work in progress. There is a wip/win branch on
 codereview. The windows port is mostly community driven at this stage which
 makes prediction somewhat hard. Ccurrently, you can find devices and I
 believe the initial connect to a BTLE device is somewhat done. This is done
 for classic desktop windows (which would cover win 8.1). There is no WinRT
 code at this stage.



 to your questions:



 1.) I am confident Windows should have no unfixable problems. In many
 cases it is better than ios/OSX/Android when

Re: [Interest] Bluetooth Low Energy on Windows: Options and feasabilty of implementing own backend

2015-01-12 Thread Denis Shienkov
Hi all,

 So far, I was not able to communicate with a custom BLE peripheral using
either Windows Phone 8.1 or Windows 8.1 on a desktop.

Hmm, it is strange. Can you please describe your steps and your env? Maybe
your custom BLE peripheral chip has wrong firmware.
I'm too faced earlier with a similar situation when a BLE peripheral works
on Max/Linux, but does not works on Windows 8.1 Desktop (the reason was in
a wrong FW).

BR,
Denis

2015-01-12 12:01 GMT+03:00 Blasche Alexander 
alexander.blas...@theqtcompany.com:

  How do you define a custom BLE peripheral (aka what BLE devices work and
 which don't) on Win 8.1? Is it one that is not defined by some well known
 service or characteristic UUID?


   --

 Alex
   --
 *From:* Axel Jäger axeljae...@googlemail.com
 *Sent:* Sunday, January 11, 2015 22:35
 *To:* Blasche Alexander; interest@qt-project.org
 *Subject:* AW: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend


 Hello Alex,

 thank you for your answer. So if there is someone working on a port of
 windows, time might be my friend and I might start on my mac using 5.5.
 However, in the meantime I found out that the implementation of Bluetooth
 LE on Windows behaves differently regarding the need to bond and pair
 devices.



 So far, I was not able to communicate with a custom BLE peripheral using
 either Windows Phone 8.1 or Windows 8.1 on a desktop.



 I guess an implementation of the Qt Bluetooth LE API will inherit this
 behaviour. If this is case and currently I guess it is the case, I better
 go with the bluegiga SDK directly.



 Best regards,



 Axel



 *Von:* interest-bounces+axeljaeger=googlemail@qt-project.org [mailto:
 interest-bounces+axeljaeger=googlemail@qt-project.org] *Im Auftrag
 von *Blasche Alexander
 *Gesendet:* Mittwoch, 7. Januar 2015 09:28
 *An:* interest@qt-project.org
 *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hi Axel,



 Your assumption about 5.5 is correct. Android gets LE support and ios/OSX
 get classic and LE support.



 Windows is currently work in progress. There is a wip/win branch on
 codereview. The windows port is mostly community driven at this stage which
 makes prediction somewhat hard. Ccurrently, you can find devices and I
 believe the initial connect to a BTLE device is somewhat done. This is done
 for classic desktop windows (which would cover win 8.1). There is no WinRT
 code at this stage.



 to your questions:



 1.) I am confident Windows should have no unfixable problems. In many
 cases it is better than ios/OSX/Android when it comes to LE. I cannot say
 much about WinRT.



 2.) I am not the WinRT expert but I was told in some cases it works in
 other's it doesn't. QtPositioning apparantly couldn't use RT on desktop. Qt
 doesn't mix desktop and RT and I got the feeling that the responsiple devs
 would like to keep it that way.



 3.) The QtBluetooth library doesn't use a backend plugin. It is hardcoded
 into the library.



 --

 Alex
--

 *From:* interest-bounces+alexander.blasche=theqtcompany@qt-project.org
 interest-bounces+alexander.blasche=theqtcompany@qt-project.org on
 behalf of Axel Jäger axeljae...@googlemail.com
 *Sent:* Tuesday, January 6, 2015 23:51
 *To:* interest@qt-project.org
 *Subject:* [Interest] Bluetooth Low Energy on Windows: Options and
 feasabilty of implementing own backend



 Hello,

 I have created a Bluetooth Low Energy Peripheral and need to develop a
 companion application on a windows desktop for it. I see that windows is
 currently not in the list of supported plattforms of Qt’s Low Energy Module
 and it looks like it will not be in Qt 5.5 according to this commit:


 https://qt.gitorious.org/qt/qtconnectivity/commit/ffbb91da8e8f14d7d5ffa8bbeace3e6c42eb525b



 I am using bluetooth modules from bluegiga and they also offer a bluetooth
 stick with an own C API.



 I see three options getting my task done and I am asking you which one you
 think is most sensible one:

 1) Implement my application using bluegiga’s API

 2) Implement a backend for Qt to use bluegiga’s hardware

 3) Implement a backend for Qt to use the Windows Bluetooth API from
 WinRT/Windows 8.1



 The options are ordered by estimated amount of work from least to most.
 Surprisingly I get the same order when sorting by sustainability.



 This means that actually option 3) is to be prefered. This brings me to a
 couple of questions:

 1)  Has anyone already looked into the Windows API and wants to make
 a statement whether mapping Qt’s API to the Windows API is feasable?

 2)  Is it actually possible to use WinRT on the Desktop as backend
 for Qt?

 3)  Is there an API or a plugin interface for Bluetooth LE backends
 in Qt?



 Can you comment on any of my points?



 Best regards,



 Axel

___

Re: [Interest] Who and why changed WIKI Gerrit-Introduction

2014-11-16 Thread Denis Shienkov
Yes, I saw it.

I just suggest to add and other way with inserting port and user 
name for each time, since not for all can be acceptable adding to ssh 
config.

But, ok, for me it is irrelevant (not a problem), keep all as is.

15.11.2014 21:19, Marian Beermann пишет:
 Did you see the last paragraph in the Creating a new contribution section?

 See the step-by-step introductions below on how to complete a commit
 upload. Note that Gerrit SSH service is running in port 29418. There
 is no need to write this port number every time, just add the
 following lines to ~/.ssh/config file:

  Host codereview.qt-project.org
User username
Port 29418
 On 11/15/2014 05:39 PM, Denis Shienkov wrote:
 Hi all.

 Please revert back changes from
 http://qt-project.org/wiki/Gerrit-Introduction  page. This changes
 made from 11:43, 5 Nov 2014 by  alkino.  Earlier I used this page
 for direct copying of Git links examples for a contribution to the project.

 But now mention of port 29418 and others things are deleted there. Thus
 now WIKI contains invalid examples and new users will be confused. I do
 not understand, why this deletion was made.

 BR,
 Denis
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Who and why changed WIKI Gerrit-Introduction

2014-11-15 Thread Denis Shienkov
Hi all.

Please revert back changes from 
http://qt-project.org/wiki/Gerrit-Introduction  page. This changes 
made from 11:43, 5 Nov 2014 by  alkino.  Earlier I used this page 
for direct copying of Git links examples for a contribution to the project.

But now mention of port 29418 and others things are deleted there. Thus 
now WIKI contains invalid examples and new users will be confused. I do 
not understand, why this deletion was made.

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Use Qt ActiveX framework to create a Credential Provider server

2014-07-26 Thread Denis Shienkov
Hi all.

I found out in Qt documentation an opportunity to use the ActiveX feature:

http://qt-project.org/doc/qt-5/activeqt-index.html

Having read documentation and having looked at examples I have some more 
questions:


1) Whether it is possible to implement the MS Credential Provider 
feature (a set of custom interfaces),
using the set of base Qt ActiveX classes?

I'm talk about this interfaces:

http://msdn.microsoft.com/ru-ru/library/windows/desktop/bb776029%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb776042%28v=vs.85%29.aspx

I need to implement the CredentialProvider server in the form of *.dll.

Currently I already implemented logic of Credential Provider, but used 
for this purpose the
native WinAPI.  Now I want to port it on Qt ActiveX (because other 
components of my project are
implemented on Qt).


2) Everywhere in documentation on QT ActiveX I see mention about a 
controls (i.e. widgets are used).
But the CredentialProvider interface doesn't export any widgets.

Thus, the question arises: whether Qt-event loop will work if I have no 
widgets? Because, as I can see the
Qt ActiveX sources that for this purpose use some hooks to the WinAPI 
system calls (related to window events)
to emulate of the Qt-loop.

BR,
Denis
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Bluetooth Qt Connectivity module(5.1 Qt SDK)

2013-10-24 Thread Denis Shienkov
Hi  Ramakanth, To use the Bluetooth SPP protocol you can use the QtSerialPort module. Because in this case the /dev/rfcommX device it is what do you need (in case the talk about Linux). But this will be work after the pair connection establishment between two devices (then the rfcommX device will be created by udev and available). Best regards,Denis   24.10.2013, 12:40, "Ramakanthreddy Kesireddy" ramakanthreddy.kesire...@techmahindra.com:Hi Alex, Yes I have custom btchat app on android. Does custom btchat app on Android which talks the same protocol mean it should use Bluez 4.x and SPP protocol? Best Regards,Ramakanth   From: interest-bounces+ramakanthreddy.kesireddy=techmahindra@qt-project.org [mailto:interest-bounces+ramakanthreddy.kesireddy=techmahindra@qt-project.org] On Behalf Of Blasche Alexander Sent: 24 October 2013 13:41 To: interest@qt-project.org Subject: Re: [Interest] Bluetooth Qt Connectivity module(5.1 Qt SDK) Hi,  The chat example uses its very own service UUID. Unless your Android device knows about the service UUID and can use it. it will always respond with the mentioned error. The example is meant to be used on two machines. It acts as server and client at the same time.   Since we don't have an Android port for QtBluetooth yet (on my todo) you'd have to have your custom btchat app on Android which talks the same protocol. Do you have such an app on your Android?  In general there should not be a problem talking between Android and QtBluetooth on e.g. Linux but you'd have to synchronize both side with custom apps or you use the provided Object Push for now. --AlexFrom: Ramakanthreddy Kesireddy [ramakanthreddy.kesire...@techmahindra.com] Sent: Thursday, October 24, 2013 08:26 To: Blasche Alexander; interest@qt-project.org Subject: RE: Bluetooth Qt Connectivity module(5.1 Qt SDK)Hi Alex, Thanks for your pointers. I could successfully run the BT Transfer example using Qt5.2 aplha.It had been problem with USB BT dongle that we were using earlier. Are there any prerequisites to run BT chat example as it says chat service not available?Iam interested to send text from PC to android phone using BT chat example. Does this suffice for this requirementUsing Bluetooth API?  Please let me know in this regard. Thanks and Regards,RamakanthFrom: Blasche Alexander [mailto:alexander.blas...@digia.com]  Sent: 30 August 2013 14:15 To: Ramakanthreddy Kesireddy; interest@qt-project.org Subject: RE: Bluetooth Qt Connectivity module(5.1 Qt SDK) Hi,  Couple of questions:  1.) What branch of qtconnectivity are you using? Maybe add the SHA?  2.) What does gdb tell you when you interrupt the hanging process? Where is it stuck (aka what does the bt look like). --AlexFrom:  interest-bounces+alexander.blasche=digia@qt-project.org [interest-bounces+alexander.blasche=digia@qt-project.org] on behalf of Ramakanthreddy Kesireddy [ramakanthreddy.kesire...@techmahindra.com] Sent: Thursday, August 29, 2013 18:10 To: interest@qt-project.org Subject: Re: [Interest] Bluetooth Qt Connectivity module(5.1 Qt SDK)Hi,  I tried to unset compiz and then run BTtransfer example application. However, once the device is found(after pairing is completed) and shown in dialog, the application freezes though there is no Compiz error.  Please let me know if there are any clues in this regard.  Thanks and Regards, RamakanthFrom: Ramakanthreddy Kesireddy Sent: Monday, August 19, 2013 11:50 AM To: interest@qt-project.org Subject: Bluetooth Qt Connectivity module(5.1 Qt SDK)Hi, Am using Qt 5.1 Offline installer for Linux Ubuntu 12.04 X86 32 bit sdk.I installed libblueooth3. I built Qt connectivity module from qt repository and tried to execute the btfiletransfer/btchat examples so as to verifyBt communication using OBEX/SPP profiles. However, these examples are not working fine and crashes while the transfer is initiated with compiz terminated unexpectedly.The system needs reboot after this. Please let me know if am missing anything in this regard. Thanks and Regards,Ramakanth    DISCLAIMER: This email (including any attachments) is intended for the sole use of the intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying or distribution or forwarding of any or all of the contents in this message is STRICTLY PROHIBITED. If you are not the intended recipient, please contact the sender by email and delete all copies; your cooperation in this regard is appreciated.  DISCLAIMER: This email (including any attachments) is intended for the sole use of the intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying or distribution or forwarding of any or all of the contents in this message is STRICTLY PROHIBITED. If you are not the intended recipient, please contact the sender by email and delete all copies; your cooperation in this regard is appreciated. 

Re: [Interest] Serial Port custom baud rate problem

2013-10-18 Thread Denis Shienkov

Hi Stefano,

 This could be a serial port library bug or a driver issue???

It is unknown, maybe yes or maybe no. :)

You should do some debugging of the library and view the content for the 
currentSerialInfo struct.


For us it is interest the value of currentSerialInfo.baud_base field, 
see file qserialport_unix.cpp, method QSerialPortPrivate::setBaudRate().


You should help to us for quickly resolve of this issue. Also you can do 
posting this issue to bug-report (it is preffered way, IMHO).


Best regards,
Denis

18.10.2013 19:15, Stefano Cordibella ?:

Thank you Frédéric for your suggestion!
I am looking into the datasheet in order to discover these values.

BTW the QtSerialPort library doesn't report anything and from its side 
everithing is working properly...

This could be a serial port library bug or a driver issue???
I think that there is no clear border, but the low level library 
implementation (I mean the unix system call invoked from library) may 
be better managed in order to check that the port is properly set to 
the requested frequency...


Stefano.

On 10/18/2013 01:02 PM, Frédéric Marchal wrote:

Hi list,
  I am trying to communicate via serial port with a device that use
125000 bps.
When I set the custom baud rate the setBaudRate return true without
error (I also check with debugger and the QSerialPortPrivateData
inputBaudRate and outputBaudRate are properly set to 125000).
But when I check with an oscilloscope the frequency of bits that came
out from serial port the result is that the port is set to 115200...
After sending data through serial port I print the port baudRate() and
the value is even set to 125000.

I am using Qt 4.8.4 (for project reason) under linux.

Any ideas about this problem?

Is your serial port capable of emitting at a baud rate of 125kbaud?

UARTs often produce the requested baud rate by dividing an internal oscillator
by an integer number. As such, they can only attain a fixed set of baud rates.

For instance, an internal oscillator at 460KHz can be divided by 4 to emit at
115kbaud but it cannot generate a clock at 125kbaud.

I have seen drivers that reports an error if the requested baud rate is
unavailable while other silently selects the closest attainable baud rate.

Frederic




--
*Stefano Cordibella*
EDALab s.r.l. - Networked Embedded Systems

Strada Le Grazie, 15 - 37134 Verona - Italy
email : stefano.cordibe...@edalab.it
skype : stefano.cordibella
tel. : +39 045 802 70 85
web : www.edalab.it


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QSerialPort read issue

2013-10-16 Thread Denis Shienkov
Hi. It is normal. Because in case use the blocking approach the Qt-event loop is not used. Thus, any calls bytesAvailable() or read() or write() methods won't have effect. You should call waitForReadyRead() before read() and bytesAvailable(), and waitForBytesWritten() after write(). e.g. // writer example Mythread::run(){    ...    ... while (1) {    port.write(data);    port.waitForBytesWritten(); //  this is mandatory (invoking all desired I/O operations for transfer bytes and so on, instead of Qt-event loop)    } ...    ...} // reader example Mythread::run(){    ...    ... while (1) {    port.waitForReadyRead(); //  this is mandatory (invoking all desired I/O operations for receiving bytes and so on, instead of Qt-event loop)    port.bytesAvailable(); //     port.read(data);    } ...    ...} See examples of BlockingMaster and BlockingSlave. Also, the methods like waitForXXX() should be used only from the different thread, because they caused the GUI freeze and so on.So, using this methods from the main GUI thread is WRONG! Best regards,Denis   16.10.2013, 04:55, "nus1998" nus1...@yeah.net:HI Denis,Thanks for the reply. Even if I don't use "waitForReadyRead" but polling "bytesAvailable" instead,  the later always returns 0 although there is data received and I can use other terminal software to display it too. Best regards,Je  At 2013-10-16 01:15:36,"Denis Shienkov" scap...@yandex.ru wrote:Hi.   Seems it is a bug, see: https://bugreports.qt-project.org/browse/QTBUG-33987  You can test this patch.  Besd regards, Denis   15.10.2013 18:37, nus1998 пишет: I found a strange issue, when I read from serial, first I will call "waitForReadyRead", it returns with true in specified time, however, when I call "read" function thereafter, I can't read even a byte. the hardware works fine since I checked it by logic analyzer. env: win7 64, qt 5.1 mingw version  thanksJefrom iPad ___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
 ___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QSerialPort read issue

2013-10-16 Thread Denis Shienkov
Hi. You wrong do it, because it isn't recommended to use the waitForXXX() methods from an main GUI thread. You should use the non-blocking approach because it is preferred way, e.g. see the Terminal example or Master and Slave Examples from the QtSerialPort sources. Best regards,Denis  16.10.2013, 07:51, "nus1998" nus1...@yeah.net:I write a workaround function as below which now works although the actual timeout doesn't match with "TIMEOUT" since sometimes "waitForReadyRead" will return immediately without data available. I have patched "https://codereview.qt-project.org/#patch,sidebyside,67962,2,src/serialport/qserialport_win.cpp" yet.bool Widget::waitBytes(qint64 n) { for(int i = 0; i  TIMEOUT; i++) { if(m_serial-bytesAvailable() = n) return true;   m_serial-waitForReadyRead(1); }   return false; }  At 2013-10-16 11:41:18,"Mandeep Sandhu" mandeepsandhu@gmail.com wrote:
You can also try doing a raw read (non Qt way) on the device using
open/read system calls and check if data is actually available.
That'll make sure that the OS is indeed receiving data and the problem
can then be isolated to QSerialPort.

HTH,
-mandeep

On Wed, Oct 16, 2013 at 6:25 AM, nus1998 nus1...@yeah.net wrote:
 HI Denis,

 Thanks for the reply.

 Even if I don't use "waitForReadyRead" but polling "bytesAvailable" instead,
 the later always returns 0 although there is data received and I can use
 other terminal software to display it too.

 Best regards,
 Je





 At 2013-10-16 01:15:36,"Denis Shienkov" scap...@yandex.ru wrote:

 Hi.

 Seems it is a bug, see: https://bugreports.qt-project.org/browse/QTBUG-33987

 You can test this patch.

 Besd regards,
 Denis


 15.10.2013 18:37, nus1998 пишет:


 I found a strange issue, when I read from serial, first I will call
 "waitForReadyRead", it returns with true in specified time, however, when I
 call "read" function thereafter, I can't read even a byte. the hardware
 works fine since I checked it by logic analyzer.

 env: win7 64, qt 5.1 mingw version

 thanks
 Je
 
 from iPad




 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest





 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

 ___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QSerialPort read issue

2013-10-16 Thread Denis Shienkov
 Hi.  I just test it, so I think blocking method is not the issue.  and even when I use "connect(m_serial, SIGNAL(readyRead()), this, SLOT(serialRead())); "mostly the serialRead slot can read nothing too.. Seems, you do something wrong.  Can't read data:waitForReadyRead(1000);read(data, 1);  Same... Please provide the simple test application (sources) to reproduce the problem. Best regards,Denis  16.10.2013, 12:03, "nus1998" nus1...@yeah.net:Hi,I just test it, so I think blocking method is not the issue.  and even when I use "connect(m_serial, SIGNAL(readyRead()), this, SLOT(serialRead())); "mostly the serialRead slot can read nothing too..I tested the following two sample on a loopthrough uart, which make me confused since there is no timeout error for both test.Can't read data:waitForReadyRead(1000);read(data, 1);Can read data:waitForReadyRead(100);waitForReadyRead(100);waitForReadyRead(100);waitForReadyRead(100);read(data, 1);.Best regards,Je  At 2013-10-16 15:50:57,"Denis Shienkov" scap...@yandex.ru wrote:Hi. You wrong do it, because it isn't recommended to use the waitForXXX() methods from an main GUI thread. You should use the non-blocking approach because it is preferred way, e.g. see the Terminal example or Master and Slave Examples from the QtSerialPort sources. Best regards,Denis  16.10.2013, 07:51, "nus1998" nus1...@yeah.net:I write a workaround function as below which now works although the actual timeout doesn't match with "TIMEOUT" since sometimes "waitForReadyRead" will return immediately without data available. I have patched "https://codereview.qt-project.org/#patch,sidebyside,67962,2,src/serialport/qserialport_win.cpp" yet.bool Widget::waitBytes(qint64 n) { for(int i = 0; i  TIMEOUT; i++) { if(m_serial-bytesAvailable() = n) return true;   m_serial-waitForReadyRead(1); }   return false; }  At 2013-10-16 11:41:18,"Mandeep Sandhu" mandeepsandhu@gmail.com wrote:
You can also try doing a raw read (non Qt way) on the device using
open/read system calls and check if data is actually available.
That'll make sure that the OS is indeed receiving data and the problem
can then be isolated to QSerialPort.

HTH,
-mandeep

On Wed, Oct 16, 2013 at 6:25 AM, nus1998 nus1...@yeah.net wrote:
 HI Denis,

 Thanks for the reply.

 Even if I don't use "waitForReadyRead" but polling "bytesAvailable" instead,
 the later always returns 0 although there is data received and I can use
 other terminal software to display it too.

 Best regards,
 Je





 At 2013-10-16 01:15:36,"Denis Shienkov" scap...@yandex.ru wrote:

 Hi.

 Seems it is a bug, see: https://bugreports.qt-project.org/browse/QTBUG-33987

 You can test this patch.

 Besd regards,
 Denis


 15.10.2013 18:37, nus1998 пишет:


 I found a strange issue, when I read from serial, first I will call
 "waitForReadyRead", it returns with true in specified time, however, when I
 call "read" function thereafter, I can't read even a byte. the hardware
 works fine since I checked it by logic analyzer.

 env: win7 64, qt 5.1 mingw version

 thanks
 Je
 
 from iPad




 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest





 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

  ___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QSerialPort read issue

2013-10-16 Thread Denis Shienkov
Hi. 1. Do not use the blocking approach for the GUI app.2. After write() you should do waitForBytesWritten() or flush() in case of blocking approach. Summary: Use the non-blocking approach with the readyRead signal and do not use the waitForXXX() methods! Best regards,Denis   16.10.2013, 12:24, "nus1998" nus1...@yeah.net:Hi, the simple code is followed, I use wizard to generate qt gui application in widget methodfor "#if 1", the message is "port open, A, A, done", for "#if 0", the message is "port open, A, B, done"#include QDebug#include QtSerialPort/QtSerialPort Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui-setupUi(this); QSerialPort *port = new QSerialPort(this);char c1, c2; port-setPortName("COM4");if(port-open(QIODevice::ReadWrite)){port-setBaudRate(QSerialPort::Baud9600);port-setDataBits(QSerialPort::Data8);port-setStopBits(QSerialPort::OneStop);port-setParity(QSerialPort::NoParity);port-setFlowControl(QSerialPort::NoFlowControl);qDebug()  "port open";}elseqDebug()  "port open error"; port-clear();c1 = 'A';port-write(c1, 1);port-waitForReadyRead(3000);  port-read(c2, 1);qDebug()  c2; c1 = 'B';port-write(c1, 1);#if 1port-waitForReadyRead(3000);  #elseport-waitForReadyRead(100);port-waitForReadyRead(100);#endifport-read(c2, 1);qDebug()  c2;qDebug()  "done";}  At 2013-10-16 16:08:04,"Denis Shienkov" scap...@yandex.ru wrote: Hi.  I just test it, so I think blocking method is not the issue.  and even when I use "connect(m_serial, SIGNAL(readyRead()), this, SLOT(serialRead())); "mostly the serialRead slot can read nothing too.. Seems, you do something wrong.  Can't read data:waitForReadyRead(1000);read(data, 1);  Same... Please provide the simple test application (sources) to reproduce the problem. Best regards,Denis  16.10.2013, 12:03, "nus1998" nus1...@yeah.net:Hi,I just test it, so I think blocking method is not the issue.  and even when I use "connect(m_serial, SIGNAL(readyRead()), this, SLOT(serialRead())); "mostly the serialRead slot can read nothing too..I tested the following two sample on a loopthrough uart, which make me confused since there is no timeout error for both test.Can't read data:waitForReadyRead(1000);read(data, 1);Can read data:waitForReadyRead(100);waitForReadyRead(100);waitForReadyRead(100);waitForReadyRead(100);read(data, 1);.Best regards,Je  At 2013-10-16 15:50:57,"Denis Shienkov" scap...@yandex.ru wrote:Hi. You wrong do it, because it isn't recommended to use the waitForXXX() methods from an main GUI thread. You should use the non-blocking approach because it is preferred way, e.g. see the Terminal example or Master and Slave Examples from the QtSerialPort sources. Best regards,Denis  16.10.2013, 07:51, "nus1998" nus1...@yeah.net:I write a workaround function as below which now works although the actual timeout doesn't match with "TIMEOUT" since sometimes "waitForReadyRead" will return immediately without data available. I have patched "https://codereview.qt-project.org/#patch,sidebyside,67962,2,src/serialport/qserialport_win.cpp" yet.bool Widget::waitBytes(qint64 n) { for(int i = 0; i  TIMEOUT; i++) { if(m_serial-bytesAvailable() = n) return true;   m_serial-waitForReadyRead(1); }   return false; }  At 2013-10-16 11:41:18,"Mandeep Sandhu" mandeepsandhu@gmail.com wrote:
You can also try doing a raw read (non Qt way) on the device using
open/read system calls and check if data is actually available.
That'll make sure that the OS is indeed receiving data and the problem
can then be isolated to QSerialPort.

HTH,
-mandeep

On Wed, Oct 16, 2013 at 6:25 AM, nus1998 nus1...@yeah.net wrote:
 HI Denis,

 Thanks for the reply.

 Even if I don't use "waitForReadyRead" but polling "bytesAvailable" instead,
 the later always returns 0 although there is data received and I can use
 other terminal software to display it too.

 Best regards,
 Je





 At 2013-10-16 01:15:36,"Denis Shienkov" scap...@yandex.ru wrote:

 Hi.

 Seems it is a bug, see: https://bugreports.qt-project.org/browse/QTBUG-33987

 You can test this patch.

 Besd regards,
 Denis


 15.10.2013 18:37, nus1998 пишет:


 I found a strange issue, when I read from serial, first I will call
 "waitForReadyRead", it returns with true in specified time, however, when I
 call "read" function thereafter, I can't read even a byte. the hardware
 works fine since I checked it by logic analyzer.

 env: win7 64, qt 5.1 mingw version

 thanks
 Je
 
 from iPad




 ___
 Interest mailing l

Re: [Interest] QSerialPort read issue

2013-10-16 Thread Denis Shienkov
Hi,  No offence but I don't think it's the matter of blocking or non-blocking.  Also I don't think waitForBytesWritten is a "MUST" as long as I wait enough time before next transmission.  The QtSerialPort is event-based entity. So, the write() method returns immediately. Because he writes data to the internal buffer of a class and it is all.Further, the real data transfer is carried out asynchronously by tracking the descriptors of overlapped events. To watch for this events is used the Qt-event loop.  But in your case the Qt-event loop is stopped while you do not exit from the your constructor of Widget. So, are two ways to run tracking: 1. It is use the waitForXXX() methods. But it can be a problem because these methods can contain errors. Therefore I don't recommend to use the waitForXXX() methods. 2. Or call the processEvents() method to force run the Qt-event loop.   If QSerialPort  is correct, I can only say that these APIs are out of my common sense.  Sorry, but it is your problem..  BTW: You should also provide the your debug outputs. Best regards,Denis  16.10.2013, 16:08, "nus1998" nus1...@yeah.net:Hi,No offence but I don't think it's the matter of blocking or non-blocking.  Also I don't think waitForBytesWritten is a "MUST" as long as I wait enough time before next transmission. If QSerialPort  is correct, I can only say that these APIs are out of my common sense.  Best regards,Je  At 2013-10-16 19:39:49,"Denis Shienkov" scap...@yandex.ru wrote:Hi. 1. Do not use the blocking approach for the GUI app.2. After write() you should do waitForBytesWritten() or flush() in case of blocking approach. Summary: Use the non-blocking approach with the readyRead signal and do not use the waitForXXX() methods! Best regards,Denis   16.10.2013, 12:24, "nus1998" nus1...@yeah.net:Hi, the simple code is followed, I use wizard to generate qt gui application in widget methodfor "#if 1", the message is "port open, A, A, done", for "#if 0", the message is "port open, A, B, done"#include QDebug#include QtSerialPort/QtSerialPort Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui-setupUi(this); QSerialPort *port = new QSerialPort(this);char c1, c2; port-setPortName("COM4");if(port-open(QIODevice::ReadWrite)){port-setBaudRate(QSerialPort::Baud9600);port-setDataBits(QSerialPort::Data8);port-setStopBits(QSerialPort::OneStop);port-setParity(QSerialPort::NoParity);port-setFlowControl(QSerialPort::NoFlowControl);qDebug()  "port open";}elseqDebug()  "port open error"; port-clear();c1 = 'A';port-write(c1, 1);port-waitForReadyRead(3000);  port-read(c2, 1);qDebug()  c2; c1 = 'B';port-write(c1, 1);#if 1port-waitForReadyRead(3000);  #elseport-waitForReadyRead(100);    port-waitForReadyRead(100);#endifport-read(c2, 1);qDebug()  c2;qDebug()  "done";}  At 2013-10-16 16:08:04,"Denis Shienkov" scap...@yandex.ru wrote: Hi.  I just test it, so I think blocking method is not the issue.  and even when I use "connect(m_serial, SIGNAL(readyRead()), this, SLOT(serialRead())); "mostly the serialRead slot can read nothing too.. Seems, you do something wrong.  Can't read data:waitForReadyRead(1000);read(data, 1);  Same... Please provide the simple test application (sources) to reproduce the problem. Best regards,Denis  16.10.2013, 12:03, "nus1998" nus1...@yeah.net:Hi,I just test it, so I think blocking method is not the issue.  and even when I use "connect(m_serial, SIGNAL(readyRead()), this, SLOT(serialRead())); "mostly the serialRead slot can read nothing too..I tested the following two sample on a loopthrough uart, which make me confused since there is no timeout error for both test.Can't read data:waitForReadyRead(1000);read(data, 1);Can read data:waitForReadyRead(100);waitForReadyRead(100);waitForReadyRead(100);waitForReadyRead(100);read(data, 1);.Best regards,Je  At 2013-10-16 15:50:57,"Denis Shienkov" scap...@yandex.ru wrote:Hi. You wrong do it, because it isn't recommended to use the waitForXXX() methods from an main GUI thread. You should use the non-blocking approach because it is preferred way, e.g. see the Terminal example or Master and Slave Examples from the QtSerialPort sources. Best regards,Denis  16.10.2013, 07:51, "nus1998" nus1...@yeah.net:I write a workaround function as below which now works although the actual timeout doesn't match with "TIMEOUT" since sometimes "waitForReadyRead" will return immediately without data available. I have patched "https://codereview.qt-project.org/#patch,sidebyside,67962,2,src/serialport/qserialport_win.cpp" yet.bool Widget::waitBytes(qint64 n) { for(int i = 0; i  TIMEOUT; i++) { if(m_serial-bytesAvai

Re: [Interest] QSerialPort read issue

2013-10-15 Thread Denis Shienkov

Hi.

Seems it is a bug, see: https://bugreports.qt-project.org/browse/QTBUG-33987

You can test this patch.

Besd regards,
Denis


15.10.2013 18:37, nus1998 ?:


I found a strange issue, when I read from serial, first I will call 
waitForReadyRead, it returns with true in specified time, however, 
when I call read function thereafter, I can't read even a byte. the 
hardware works fine since I checked it by logic analyzer.


env: win7 64, qt 5.1 mingw version

thanks
Je

from iPad




___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] [Qt Tests Framework] Custom command line arguments

2013-09-12 Thread Denis Shienkov
Many thanks.  12.09.2013, 08:49, "Mandeep Sandhu" mandeepsandhu@gmail.com:On Wed, Sep 11, 2013 at 5:55 PM, Denis Shienkov scap...@yandex.ru wrote:Hi all,  Tell please, is there a way to transfer the user arguments to testlib application via an command line? Yes. Have a look at this:http://qt-project.org/doc/qt-4.8/qtestlib-manual.html#qtestlib-command-line-arguments HTH,-mandeep  For example, I want to create the test which would open some devices for I/O and I used them, like:  mytest.exe -dev1 path/to/device1 -dev2 path/to/device2  ?  Best regards, Denis  ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest