Closed rtjaden closed 5 years ago
@rtjaden sorry about that. This is a bug and I already fixed.
Is this fix present in v.1.2.4?
pi@retropie:~/um34c $ npm install node-bluetooth --save
> node-bluetooth@1.2.4 install /home/pi/um34c/node_modules/node-bluetooth
> node-gyp configure build
make: Entering directory '/home/pi/um34c/node_modules/node-bluetooth/build'
CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/BluetoothSerialPort.o
CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/DeviceINQ.o
../src/linux/DeviceINQ.cc: In static member function ‘static void DeviceINQ::EIO_AfterSdpSearch(uv_work_t*)’:
../src/linux/DeviceINQ.cc:139:28: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->cb->Call(1, argv);
^
In file included from ../src/linux/DeviceINQ.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/DeviceINQ.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE DeviceINQ::InquireSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/linux/DeviceINQ.cc:251:26: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
found->Call(2, argv);
^
In file included from ../src/linux/DeviceINQ.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/DeviceINQ.cc:255:27: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
callback->Call(0, argv);
^
In file included from ../src/linux/DeviceINQ.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/DeviceINQ.cc: In member function ‘virtual void InquireWorker::HandleOKCallback()’:
../src/linux/DeviceINQ.cc:284:26: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
found->Call(2, argv);
^
In file included from ../src/linux/DeviceINQ.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/DeviceINQ.cc:288:27: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
callback->Call(0, argv);
^
In file included from ../src/linux/DeviceINQ.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/DeviceINQ.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE DeviceINQ::SdpSearch(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/linux/DeviceINQ.cc:317:38: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value address(info[0]);
^
In file included from /home/pi/.node-gyp/11.6.0/include/node/v8.h:26:0,
from ../src/linux/DeviceINQ.cc:12:
/home/pi/.node-gyp/11.6.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Local<v8::Value> obj));
^
/home/pi/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/BTSerialPortBinding.o
../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_AfterConnect(uv_work_t*)’:
../src/linux/BTSerialPortBinding.cc:83:32: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->cb->Call(0, NULL);
^
In file included from ../src/linux/BTSerialPortBinding.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBinding.cc:89:33: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->ecb->Call(1, argv);
^
In file included from ../src/linux/BTSerialPortBinding.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_Write(uv_work_t*)’:
../src/linux/BTSerialPortBinding.cc:115:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (data->result != data->bufferLength) {
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_AfterWrite(uv_work_t*)’:
../src/linux/BTSerialPortBinding.cc:135:33: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
data->callback->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBinding.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_AfterRead(uv_work_t*)’:
../src/linux/BTSerialPortBinding.cc:207:28: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->cb->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBinding.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBinding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBinding::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/linux/BTSerialPortBinding.cc:253:38: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value address(info[0]);
^
In file included from /home/pi/.node-gyp/11.6.0/include/node/v8.h:26:0,
from ../src/linux/BTSerialPortBinding.cc:12:
/home/pi/.node-gyp/11.6.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Local<v8::Value> obj));
^
/home/pi/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/linux/BTSerialPortBinding.cc:255:41: warning: ‘int32_t v8::Value::Int32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
int channelID = info[1]->Int32Value();
^
In file included from /home/pi/.node-gyp/11.6.0/include/node/v8.h:26:0,
from ../src/linux/BTSerialPortBinding.cc:12:
/home/pi/.node-gyp/11.6.0/include/node/v8.h:2572:46: note: declared here
V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
^
/home/pi/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/linux/BTSerialPortBinding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBinding::Read(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/linux/BTSerialPortBinding.cc:383:25: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
nc->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBinding.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
SOLINK_MODULE(target) Release/obj.target/BluetoothSerialPort.node
COPY Release/BluetoothSerialPort.node
CXX(target) Release/obj.target/BluetoothSerialPortServer/src/linux/BluetoothSerialPortServer.o
CXX(target) Release/obj.target/BluetoothSerialPortServer/src/linux/BTSerialPortBindingServer.o
../src/linux/BTSerialPortBindingServer.cc: In static member function ‘static void BTSerialPortBindingServer::EIO_AfterListen(uv_work_t*)’:
../src/linux/BTSerialPortBindingServer.cc:176:33: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->ecb->Call(1, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBindingServer.cc: In static member function ‘static void BTSerialPortBindingServer::TryListenAgain()’:
../src/linux/BTSerialPortBindingServer.cc:199:31: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->ecb->Call(1, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBindingServer.cc: In static member function ‘static void BTSerialPortBindingServer::EIO_AfterWrite(uv_work_t*)’:
../src/linux/BTSerialPortBindingServer.cc:239:33: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
data->callback->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBindingServer.cc: In static member function ‘static void BTSerialPortBindingServer::EIO_AfterRead(uv_work_t*)’:
../src/linux/BTSerialPortBindingServer.cc:311:36: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->cb->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBindingServer.cc:326:28: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
baton->cb->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBindingServer.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBindingServer::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/linux/BTSerialPortBindingServer.cc:408:70: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
string propertyName = std::string(*String::Utf8Value(property));
^
In file included from /home/pi/.node-gyp/11.6.0/include/node/v8.h:26:0,
from ../src/linux/BTSerialPortBindingServer.cc:12:
/home/pi/.node-gyp/11.6.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Local<v8::Value> obj));
^
/home/pi/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/linux/BTSerialPortBindingServer.cc:410:75: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
options[propertyName] = std::string(*String::Utf8Value(optionValue));
^
In file included from /home/pi/.node-gyp/11.6.0/include/node/v8.h:26:0,
from ../src/linux/BTSerialPortBindingServer.cc:12:
/home/pi/.node-gyp/11.6.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Local<v8::Value> obj));
^
/home/pi/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/linux/BTSerialPortBindingServer.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBindingServer::Read(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/linux/BTSerialPortBindingServer.cc:618:25: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
nc->Call(2, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
../src/linux/BTSerialPortBindingServer.cc: In member function ‘virtual void BTSerialPortBindingServer::ClientWorker::HandleOKCallback()’:
../src/linux/BTSerialPortBindingServer.cc:672:27: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
callback->Call(1, argv);
^
In file included from ../src/linux/BTSerialPortBindingServer.cc:14:0:
../../nan/nan.h:1674:3: note: declared here
Call(int argc, v8::Local<v8::Value> argv[]) const {
^~~~
SOLINK_MODULE(target) Release/obj.target/BluetoothSerialPortServer.node
COPY Release/BluetoothSerialPortServer.node
make: Leaving directory '/home/pi/um34c/node_modules/node-bluetooth/build'
npm WARN um34c@1.0.0 No repository field.
+ node-bluetooth@1.2.4
updated 1 package and audited 208 packages in 33.649s
found 0 vulnerabilities
pi@retropie:~/um34c $ sudo ./app.js -a AB:92:78:56:3C:31
Found RFCOMM channel for serial port on : 1
/home/pi/um34c/node_modules/node-bluetooth/lib/connection.js:13
this.isOpen() && this.port.read((err, chunk) => {
^
TypeError: Cannot read property 'isOpen' of undefined
at read (/home/pi/um34c/node_modules/node-bluetooth/lib/connection.js:13:12)
at new Connection (/home/pi/um34c/node_modules/node-bluetooth/lib/connection.js:18:7)
at /home/pi/um34c/node_modules/node-bluetooth/index.js:19:33
Trying this on raspbian. Node v11.2. Using the standard example.
`Found: 30:AE:A4:24:C1:EE with name ESP32test finished Found RFCOMM channel for serial port on ESP32test: 1 /home/pi/node_modules/node-bluetooth/lib/connection.js:13 this.isOpen() && this.port.read((err, chunk) => { ^
TypeError: Cannot read property 'isOpen' of undefined at read (/home/pi/node_modules/node-bluetooth/lib/connection.js:13:12) at new Connection (/home/pi/node_modules/node-bluetooth/lib/connection.js:18:7) at /home/pi/node_modules/node-bluetooth/index.js:19:33 `