|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
commit 1b3d14846e245a541bd7132c96dfeb56cc64b1b1
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Author: Tom Hughes <tom@compton.nu>
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Date: Thu Jun 20 14:01:15 2019 +0100
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Update for Node.js 12.x support
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
diff --git a/src/i2c.cc b/src/i2c.cc
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
index c7d4bee..968d5fb 100644
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
--- a/src/i2c.cc
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+++ b/src/i2c.cc
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -35,7 +35,7 @@ void SetAddress(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::ThrowTypeError("addr must be an int");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
return;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- addr = info[0]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ addr = Nan::To<int32_t>(info[0]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
setAddress(addr);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -57,15 +57,16 @@ void Scan(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
if (res >= 0) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
res = i;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- results->Set(i, Nan::New<Integer>(res));
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Set(results, i, Nan::New<Integer>(res));
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
setAddress(addr);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 2;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err, results };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("Scan");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
info.GetReturnValue().Set(results);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -81,7 +82,7 @@ void Close(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
void Open(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::HandleScope scope;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- String::Utf8Value device(info[0]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Utf8String device(info[0]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> err = Nan::New<Value>(Nan::Null());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
fd = open(*device, O_RDWR);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -93,14 +94,16 @@ void Open(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 1;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[1]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("Open");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
void Read(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::HandleScope scope;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int len = info[0]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int len = Nan::To<int32_t>(info[0]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Array> data = Nan::New<Array>();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -111,7 +114,7 @@ void Read(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
err = Nan::Error(Nan::New("Cannot read from device").ToLocalChecked());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
for (int i = 0; i < len; ++i) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- data->Set(i, Nan::New<Integer>(buf[i]));
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Set(data, i, Nan::New<Integer>(buf[i]));
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
delete[] buf;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -120,7 +123,9 @@ void Read(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 2;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[1]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err, data };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("Read");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -142,7 +147,9 @@ void ReadByte(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 2;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[0]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err, data };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("ReadByte");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
info.GetReturnValue().Set(data);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -151,8 +158,8 @@ void ReadByte(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
void ReadBlock(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::HandleScope scope;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int8_t cmd = info[0]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int32_t len = info[1]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int8_t cmd = Nan::To<int32_t>(info[0]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int32_t len = Nan::To<int32_t>(info[1]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
uint8_t data[len];
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> err = Nan::New<Value>(Nan::Null());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
// Local<Object> buffer = node::Buffer::New(len);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -171,11 +178,13 @@ void ReadBlock(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 2;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[3]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err, buffer };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("ReadBlock");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
if (info[2]->IsNumber()) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int32_t delay = info[2]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int32_t delay = Nan::To<int32_t>(info[2]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
usleep(delay * 1000);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
break;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -190,8 +199,8 @@ void Write(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> buffer = info[0];
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int len = node::Buffer::Length(buffer->ToObject());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- char* data = node::Buffer::Data(buffer->ToObject());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int len = node::Buffer::Length(Nan::To<Object>(buffer).ToLocalChecked());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ char* data = node::Buffer::Data(Nan::To<Object>(buffer).ToLocalChecked());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> err = Nan::New<Value>(Nan::Null());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -203,14 +212,16 @@ void Write(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 1;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[1]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("Write");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
void WriteByte(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::HandleScope scope;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int8_t byte = info[0]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int8_t byte = Nan::To<int32_t>(info[0]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> err = Nan::New<Value>(Nan::Null());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
if (i2c_smbus_write_byte(fd, byte) == -1) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -221,7 +232,9 @@ void WriteByte(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 1;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[1]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("WriteByte");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -229,9 +242,9 @@ void WriteBlock(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::HandleScope scope;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> buffer = info[1];
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int8_t cmd = info[0]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int len = node::Buffer::Length(buffer->ToObject());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- char* data = node::Buffer::Data(buffer->ToObject());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int8_t cmd = Nan::To<int32_t>(info[0]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int len = node::Buffer::Length(Nan::To<Object>(buffer).ToLocalChecked());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ char* data = node::Buffer::Data(Nan::To<Object>(buffer).ToLocalChecked());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> err = Nan::New<Value>(Nan::Null());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -243,15 +256,17 @@ void WriteBlock(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 1;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[2]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("WriteBlock");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
void WriteWord(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Nan::HandleScope scope;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int8_t cmd = info[0]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- int16_t word = info[1]->Int32Value();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int8_t cmd = Nan::To<int32_t>(info[0]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ int16_t word = Nan::To<int32_t>(info[1]).ToChecked();
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> err = Nan::New<Value>(Nan::Null());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
@@ -263,33 +278,25 @@ void WriteWord(const Nan::FunctionCallbackInfo<v8::Value>& info) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
const unsigned argc = 1;
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Function> callback = Local<Function>::Cast(info[2]);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
Local<Value> argv[argc] = { err };
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::AsyncResource ar("WriteWord");
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ ar.runInAsyncScope(Nan::GetCurrentContext()->Global(), callback, argc, argv);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
-void Init(Handle<Object> exports) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
-
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("setAddress").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(SetAddress)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("scan").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(Scan)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("open").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(Open)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("close").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(Close)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("write").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(Write)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("writeByte").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(WriteByte)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("writeBlock").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(WriteBlock)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("read").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(Read)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("readByte").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(ReadByte)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- exports->Set(Nan::New("readBlock").ToLocalChecked(),
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
- Nan::New<v8::FunctionTemplate>(ReadBlock)->GetFunction());
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+NAN_MODULE_INIT(Init) {
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "setAddress", SetAddress);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "scan", Scan);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "open", Open);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "close", Close);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "write", Write);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "writeByte", WriteByte);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "writeBlock", WriteBlock);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "read", Read);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "readByte", ReadByte);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+ Nan::Export(target, "readBlock", ReadBlock);
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
}
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
-NODE_MODULE(i2c, Init)
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
\ No newline at end of file
|
|
![](https://seccdn.libravatar.org/avatar/0ab3cd26d1705902fc305f7be2b07b168f90a61a3eb2cd795c463f34138f85c2?s=16&d=retro) |
e46feeb |
+NAN_MODULE_WORKER_ENABLED(i2c, Init)
|