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 <j...@craftyjon.com> 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_b...@3dconnexion.com> > 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_b...@3dconnexion.com <%7BE-mail%7D> >> 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 >> priv...@3dconnexion.com. >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > -- Mark
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp