kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #44913
Re: Code execution context
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Thu, 25 Feb 2021 12:06:02 -0500
-
Autocrypt:
addr=stambaughw@xxxxxxxxx; keydata= mQGiBEM0hxQRBAC2fNh3YOVLu1d5GZ0SbrTNldGiGnCJPLqzEnqFX9v6jmf33TMt6EmSLkl6 Wtfkoj0nVwKxcYmJkA8DX0QAokBkwNIzhSsBzQvthBLIk/5LnPVVKrEXOcL4mUyH1doKlkaE slgJozNa6Av+oavcvD02o1zJOloBbaHlNlyRt7fKswCgtIFlVjWggVH/15KfWk+Qo5JVPbME AIUBAQyL2OAx0n60AWec2WHnO9buHuG0ibtICgUMkE+2MRmYyKwYRdyVwGoIUemFuOyHp0AJ InX4T+vy2E7vkwODqjtMLfIoRkokW74Fi4nrvjlhOAw/vdq/twLbAmR9MOfPTpR4y7kQy1O2 /n+RkkRvh26vTzfbQmrH7cBJhk6aA/9Uwvu3E4zNJgHVZeS0HyWtmR1eOPPRbnkPgJTToX5O KMKzTJI/FX6kT7cFoCamitHrW3BJP4Dx+cMMsa47EGxqVTdbVJ4LjogsXTXxb+0Fn1u4zBdx x3Cer6O7+hqWy7zvpzeC6nSREjqDKa5CgHtv/GLm5uFPOmsjAsnHj2tlBrQmV2F5bmUgU3Rh bWJhdWdoIDxzdGFtYmF1Z2h3QGdtYWlsLmNvbT6IeAQTEQIAOBYhBOffs6CbblRzBkv33BtR cWlZ+CReBQJbFBS2AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEBtRcWlZ+CReMI8A nRbrLkzp7+c2f0vX7sfg4ICX8LAKAJ9uClo4uJajmZa5zZrL2nKdZlUwIrkCDQRDNIcxEAgA gCru+3/aOC6RCjpvYC72wY+d5SmHphC6yeiV2/mOumyt5MLo/Ps2GznZr11JspqFk5K/Zpvp MMLqqjDZ39+50a2iKRQFJ6NlK+hJWMmj6eJygQrCwYo3Gjc6CqfrqUv+8VSnf/i5sIZmtOVA 4ZjML18MuBvMSsNdVLFJd5HNnYb1iOECpvqdPVh/21LLCEw7MUUGGnHBhCrmk2aJe5hFmcSN g4ldBcXrgMQBwf7aMVoobXBMFDb/IENByXn0llB7Gr2IFMRmNS9/p8s/II1Yl2bTqyX4FSz8 cfn7C9KEz7faZ7wzAcpwHFC/zs3JoAjJ0IEKdNUpIwAlKMzT3CzctwADBQf/cxpG28MKyrqk nNmq/8LQLy+x6FSYXBLjxQz9BiBNYeesDZQ6J5UbL1mjpJzMa5tLZypPYo4bbGyR22hrbyDF K7m6AcVaMIJKl98g4ukMutFfAJyRDaREH5Zl/X1P4u1Z/yaAIy9mKaNbaK1/5djNJ5wCTFen TUgAp9xdc30kGkFDdLJFp5uxDY4P0vaZiZdjUCvDM3Zjv5IzpNOfxVqTUBQNUP/BnnKhkk0p DTD6s3X8S+D0rOtEBQ8K0cwERI/E8EFa8nj0TNw4e2MYGR8wg+SxqJ7z5f0zPY0bO6G9DDFB wYCqzzPWGqdAh9vA5971TAbPERtdFybhkurozp2SfYhJBBgRAgAJBQJDNIcxAhsMAAoJEBtR cWlZ+CResHUAniULLCWiT26ieRTl7N2vS6vBo/DuAJ4m7Ss/gyiW6ybTn1ctDXAUgm2QVQ==
-
In-reply-to:
<CA+qGbCCCYSGh=BC73Uc+Qmo8zs22ts9CHDLZqj-U44j99dxLjA@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
Any code contributed to KiCad would have to be release under the GPL3+
or compatible license to be accepted. Linking to proprietary drivers is
not an issue since we already link to Windows and MacOS proprietrary
libraries in order to provide KiCad on those platforms. We just cannot
ship those libraries. Given that KiCad supports Linux, Windows, and
macOS, we would prefer to provide a comparable experience on all
supported platforms.
Cheers,
Wayne
On 2/25/21 9:45 AM, Jon Evans wrote:
> As long as the experience is the same on all platforms (Win, Mac, Linux)
> and KiCad does not require any proprietary libraries to compile, I think
> it is up to Wayne whether or not an optional dependency on a proprietary
> library on Windows is acceptable.
>
> But, I would like to hear from Markus on the topic first -- if other
> software is successfully using websockets to provide a good interface to
> 3dconnexion hardware on Windows, maybe it is not as bad as you fear?
>
> -Jon
>
> On Thu, Feb 25, 2021 at 9:38 AM Mark Roszko <mark.roszko@xxxxxxxxx
> <mailto:mark.roszko@xxxxxxxxx>> wrote:
>
> On another note, I personally am not a fan of websockets usage
> locally on Windows. In corporate environments there's going to be
> hell with security software interfering and in general it's fragile.
>
> I personally would rather just link against the 3dconnexion library
> directly. We have the MSVC builds now, we can compile against MSVC
> built libraries no problem. MSYS2 builds would just remain without it.
>
> But just my opinion on this.
>
> On Thu, Feb 25, 2021 at 9:32 AM Jon Evans <jon@xxxxxxxxxxxxx
> <mailto:jon@xxxxxxxxxxxxx>> wrote:
>
> That is a good point Mark, we could either have this behind a
> flag so that it only gets enabled/compiled with new-enough Boost
> versions, or investigate a different websockets library.
>
> I'm not sure the overlap of 3dconnexion users and 18.04 users is
> large enough to rule that approach out, at least if there are no
> other issues with Beast.
>
> -Jon
>
> On Thu, Feb 25, 2021 at 9:23 AM Mark Roszko
> <mark.roszko@xxxxxxxxx <mailto:mark.roszko@xxxxxxxxx>> wrote:
>
> * Boost 1.65 being the version Ubuntu 18.04 LTS currently
> has and are committed to support until EOL.
>
> On Thu, Feb 25, 2021 at 9:19 AM Mark Roszko
> <mark.roszko@xxxxxxxxx <mailto:mark.roszko@xxxxxxxxx>> wrote:
>
> Markus,
>
> We currently require support for a minimum of boost 1.59
> due to Linux distros lagging behind. boost/beast is not
> a viable option as beast did not appear in boost until 1.66.
>
> From some offhand sounding out we may be able to bump
> the minimum to 1.65 but that doesn't help :/
>
>
> Regards,
> Mark
>
> On Thu, Feb 25, 2021 at 9:00 AM Jon Evans
> <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>> wrote:
>
> Hello Markus,
>
> This is exciting news, as some of our users are also
> big fans of 3dconnexion products[1]
>
> Others have looked in to what it would take in the
> past, but there were some questions about the need
> for proprietary drivers on some platforms[2]
>
> It sounds like this websocket interface is a new
> approach that doesn't require any additional
> libraries for KiCad to link against?
> Does the hardware use some other daemon process to
> bridge between the device driver and websockets?
>
> As you may know, KiCad uses wxWidgets as a
> framework, so you probably want to plug in to the wx
> event loop on the main thread.
> There are some guidelines on this in their docs[3].
>
> You probably want to check out
> ./common/view/wx_view_controls.cpp to see how
> existing input events are handled by the 2D canvases.
> I guess your new code would hook in here somewhere,
> and provide additional event handlers to manage the
> data from the 3D device.
> Your communication thread should be able to post
> wxWidgets events to the main thread and then we can
> consume them here.
>
> By the way: although the wx docs use wxThread, I
> think this general concept should work with C++
> standard libraries threads just fine.
> The documentation for wxEvtHandler::QueueEvent may
> also be useful[4]
>
> Hope this helps!
>
> Best,
> Jon
>
> [1] https://gitlab.com/kicad/code/kicad/-/issues/4951
> [2]
> https://lists.launchpad.net/kicad-developers/msg29464.html
> [3]
> https://wiki.wxwidgets.org/Inter-Thread_and_Inter-Process_communication#Sending_events_to_the_main_thread_-_wxWidgets_3_only
> [4]
> https://docs.wxwidgets.org/3.0/classwx_evt_handler.html#acffd03bf407a856166ea71ef0318b59a
>
>
> On Thu, Feb 25, 2021 at 1:47 AM Markus Bonk
> <markus_bonk@xxxxxxxxxxxxxxx
> <mailto:markus_bonk@xxxxxxxxxxxxxxx>> wrote:
>
> Hi,____
>
> __ __
>
> I am currently investigating adding support for
> 3D input devices to pcbnew. The plan is to use a
> websocket interface (boost/beast) to communicate
> with the 3D device. Effectively the
> communication runs on an extra thread. Somewhere
> the event code will need to switch to executing
> on the main thread. ____
>
> __ __
>
> One way of achieving this on say win32 might be
> to add functors to a queue post a message to a
> message window handler in the main thread which
> empties the queue and invokes the functor.____
>
> __ __
>
> Is such a mechanism already in place in KiCAD?
> What is the KiCAD recommended solution to the
> issue?____
>
> __ __
>
> Thanks____
>
> -Markus____
>
> __ __
>
> __ __
>
> ------------------------------------------------------------------------
>
> *Markus Bonk*
> Senior Software Engineer
>
> Clarita-Bernhard-Str. 18
> 81249 München
> Germany
>
>
> markus_bonk@xxxxxxxxxxxxxxx
> <mailto:markus_bonk@xxxxxxxxxxxxxxx><mailto:%7BE-mail%7D>
> www.3dconnexion.com <http://www.3dconnexion.com>
>
> Geschäftsführer: Antonio Pascucci
> Sitz der Gesellschaft: München
> Registergericht: München HRB 99232
>
> This email and any files transmitted with are
> from 3Dconnexion GmbH. The contents of this
> email and any attachments are confidential to
> the intended recipient. They may not be
> disclosed to or used by or copied in any way by
> anyone other than the intended recipient. If
> this email is received in error, please contact
> 3Dconnexion GmbH by calling +49 89 8974542-0 and
> then delete it. Please note that neither
> 3Dconnexion GmbH nor the sender accepts any
> responsibility for viruses and it is your
> responsibility to scan or otherwise check this
> email and any attachments. Any opinion expressed
> in this email are those of the individual and
> not necessarily those of 3Dconnexion GmbH.
> 3Dconnexion GmbH processes and stores for
> commercial purposes your personal data,
> collected upon your consent, in accordance with
> its privacy policy available at
> https://www.3dconnexion.eu/privacy.html, which
> has been drafted in accordance with Regulation
> (EU) no. 679/2016 and all applicable local data
> protection laws and regulations of the countries
> where the company operates. To revoke your
> consent or exercise all your rights with regards
> to personal data, please contact us at
> privacy@xxxxxxxxxxxxxxx
> <mailto:privacy@xxxxxxxxxxxxxxx>.
>
> _______________________________________________
> Mailing list:
> https://launchpad.net/~kicad-developers
> Post to :
> kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe :
> https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
>
>
> --
> Mark
>
>
>
> --
> Mark
>
>
>
> --
> Mark
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References