fxbox / openzwave-rust Goto Github PK
View Code? Open in Web Editor NEWRust wrapper for the open-zwave library
Rust wrapper for the open-zwave library
Discussed offline. If we used pkg-config, we would have the correct environment information to link to libopenzwave.
From @dhylands, we could override CC and CXX by passing CC=
and CXX=
as parameter to the make command.
The manager::CommandClass
mega-enum lists a number of possible service kinds. Once we have figured out what they are for, they should be reflected in taxonomy::devices::ServiceKind
.
Cc @julienw
The project does not compile on windows
Maybe this already work, but I doubt it :)
If I fire up openzwave-rust-example, btthen very shortly after receiving the AllNodesQueried notification then I get a segfault (I built the openzwave library with BUILD=DEBUG to get detailed info):
AllNodesQueried: Static Controller: HomeId: db421a3b Node: 1 Path: /dev/ttyACM0
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5bff700 (LWP 32740)]
__memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:140
140 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file or directory.
(gdb) bt
#0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:140
#1 0x0000555555675580 in OpenZWave::ValueRaw::OnValueRefreshed (this=0x7ffff4e14200, _value=0x0, _length=1 '\001')
at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/value_classes/ValueRaw.cpp:280
#2 0x000055555566b3d5 in OpenZWave::UserCode::HandleMsg (this=0x7ffff4e7a000, _data=0x7ffff5bfe858 "\003\003", _length=4, _instance=1)
at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/command_classes/UserCode.cpp:267
#3 0x0000555555612834 in OpenZWave::Node::ApplicationCommandHandler (this=0x7ffff4e3f300, _data=0x7ffff5bfe852 "", encrypted=true)
at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/Node.cpp:1858
#4 0x00005555556876ca in OpenZWave::Driver::HandleApplicationCommandHandlerRequest (this=0x7ffff5c5b000, _data=0x7ffff5bfe852 "", encrypted=true)
at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/Driver.cpp:3536
#5 0x0000555555683583 in OpenZWave::Driver::ProcessMsg (this=0x7ffff5c5b000, _data=0x7ffff5bfe852 "") at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/Driver.cpp:2138
#6 0x0000555555682195 in OpenZWave::Driver::ReadMsg (this=0x7ffff5c5b000) at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/Driver.cpp:1719
#7 0x000055555567e1dd in OpenZWave::Driver::DriverThreadProc (this=0x7ffff5c5b000, _exitEvent=0x7ffff5c1d340) at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/Driver.cpp:480
#8 0x000055555567de1e in OpenZWave::Driver::DriverThreadEntryPoint (_exitEvent=0x7ffff5c1d340, _context=0x7ffff5c5b000)
at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/Driver.cpp:383
#9 0x00005555556b051e in OpenZWave::ThreadImpl::Run (this=0x7ffff5c279c0) at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/platform/unix/ThreadImpl.cpp:176
#10 0x00005555556b04e2 in OpenZWave::ThreadImpl::ThreadProc (_pArg=0x7ffff5c279c0) at /home/work/fxbox/openzwave-rust/openzwave-sys/open-zwave/cpp/src/platform/unix/ThreadImpl.cpp:161
#11 0x00007ffff74ab182 in start_thread (arg=0x7ffff5bff700) at pthread_create.c:312
#12 0x00007ffff6fc247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.