Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"accepted connection" but no lights #14

Open
dallen98 opened this issue Dec 5, 2018 · 17 comments
Open

"accepted connection" but no lights #14

dallen98 opened this issue Dec 5, 2018 · 17 comments

Comments

@dallen98
Copy link

dallen98 commented Dec 5, 2018

First thing to say is great project, I am using raspberry pi 3 with ws2812b leds connected via SN74HCT125N logic buffer. The strandtest.py and singlestrandtest.py both work using... root@raspberrypi:/home/pi/rio/rio-server# python ./firmware/rpi/singlestrandtest.py
Press Ctrl-C to quit.
and...
root@raspberrypi:/home/pi/rio/rio-server# python ./firmware/rpi/strandtest.py
Press Ctrl-C to quit

after reboot I then run this first... root@raspberrypi:/home/pi/rio/rio-server# python ./firmware/rpi/server.py
and get...
Opening socket...
Listening...

In another terminal i then run... root@raspberrypi:/home/pi/rio# npm run server
and get the following output and then the rio gif playing in the terminal window only

[email protected] server /home/pi/rio
cd ./rio-server && npm start

[email protected] start /home/pi/rio/rio-server
node index.js

warn: SlackDataStore is deprecated and will be removed in the next major version. See project documentation for a migration guide.
error: Response not OK: not_authed
error: Disconnecting because not_authed is not recoverable
error: message=not_authed, stack=Error: not_authed
at handleHttpResponse (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/call-transport.js:103:17)
at handleTransportResponse (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/call-transport.js:153:19)
at apply (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:478:17)
at wrapper (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:5323:16)
at Request.handleRequestTranportRes (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/request.js:21:5)
at apply (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:478:17)
at Request.wrapper [as _callback] (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:5323:16)
at Request.self.callback (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:186:22)
at Request.emit (events.js:180:13)
at Request. (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:1060:10)
at Request.emit (events.js:180:13)
at IncomingMessage. (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:980:12)
at Object.onceWrapper (events.js:272:13)
at IncomingMessage.emit (events.js:185:15)
at endReadableNT (_stream_readable.js:1106:12)
at process._tickCallback (internal/process/next_tick.js:178:19)

...the rio gif now appears

I can see over in the other terminal that "accepted connection" now appears after the word "Listening"

In a third terminal window I enter this and get app.main...

pi@raspberrypi:~ $ ls /tmp
app.main
dhcpcd-pi
ssh-7ZeY9epPkKdF
ssh-dja66qrhWrUg
systemd-private-81a092c6c05543848163712ddf01092f-systemd-timesyncd.service-OKVx6R

But still no lit leds, perhaps you could steer me in the right direction thanks Dave

@freumichCH
Copy link

Could this be a duplicate of my current issue?
https://github.com/SolidStateGroup/rio/issues/13

@dallen98
Copy link
Author

dallen98 commented Dec 5, 2018

Could this be a duplicate of my current issue?
https://github.com/SolidStateGroup/rio/issues/13

I have read through all the comments and cant really say if its the same because I,m a complete newbie at this

@dallen98
Copy link
Author

dallen98 commented Dec 5, 2018

would commenting out the slacktoken and twitter stuff below in config/index.js get me anywhere ?

@lukefanning
Copy link
Contributor

Hi @dallen98 commenting out those fields won't help but it will lead to a cleaner console output. We need to turn those off by default really.

It sounds like you're definitely really close to getting your LED's working with rio! First things first, you don't need to manually run any python script to communicate with the wall. The python script is actually run from within the node process so all you need is npm start from within rio-server. Take a look at rio-server/outputs/pi-output.js.

It is therefore possible you configured the wrong python script? The one you need to configure to suit your own LED wall is rio-server/firmware/rpi/lowlevel-server.py. Let me know how you get on

@lukefanning
Copy link
Contributor

Feel free to also link me/attach your python script and your rio-server/config/index.js

@dallen98
Copy link
Author

dallen98 commented Dec 6, 2018

Hi and yes I can confirm the "npm start" works for me,

I can see in server/outputs/pi-output.js mention of lowlevel-server.py

In my rio-server/firmware/rpi/lowlevel-server.py I guesssed at the number of pixels and wrote 50 on pin 18 and 50 on pin 19 because ive got them still in there original reels across my desk.
Question is it critical to have the LED_COUNT exactly right before I can see anything ? same question with the matrix
Thanks

@lukefanning
Copy link
Contributor

No I do not believe its critical to get the LED count right for them to light up. Just to be sure have you definitely enabled sendToPi in rio-server/config/index.js? I have pushed a change to master that outputs stdout (i.e. the print statements) from the python script. Can you confirm that you see these 4 lines after running npm start:

Python output: Opening socket...
Python output: Listening...
Python output: accepted connection
Sending a9437df0-fa15-11e8-b9c1-f93bdbdd54e0

The GUID on the last line will of course be different.

@dallen98
Copy link
Author

Hello I did a fresh install on my pi3 with raspbian full version, I have npm and node now installed being...
pi@raspberrypi:~ $ node -v
v11.4.0
pi@raspberrypi:~ $ npm -v
6.4.1
having cloned your newly revised rio yesterday and successfully run the strand tests I start it with...
root@raspberrypi:/home/pi/rio/rio-server/firmware/rpi# python lowlevel-server.py
Opening socket...
Listening...

In another terminal root@raspberrypi:/home/pi/rio/rio-server# npm start
and get the following output..

[email protected] start /home/pi/rio/rio-server
node index.js

warn: SlackDataStore is deprecated and will be removed in the next major version. See project documentation for a migration guide.
Python output: Opening socket...
Python output: Listening...
error: Response not OK: not_authed
error: Disconnecting because not_authed is not recoverable
error: message=not_authed, stack=Error: not_authed
at handleHttpResponse (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/call-transport.js:103:17)
at handleTransportResponse (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/call-transport.js:153:19)
at apply (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:478:17)
at wrapper (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:5323:16)
at Request.handleRequestTranportRes (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/request.js:21:5)
at apply (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:478:17)
at Request.wrapper [as _callback] (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:5323:16)
at Request.self.callback (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:186:22)
at Request.emit (events.js:189:13)
at Request. (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:1060:10)
at Request.emit (events.js:189:13)
at IncomingMessage. (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:980:12)
at Object.onceWrapper (events.js:277:13)
at IncomingMessage.emit (events.js:194:15)
at endReadableNT (_stream_readable.js:1107:12)
at process.internalTickCallback (internal/process/next_tick.js:72:19)
Python output: accepted connection

then the gif plays, what i,m not seeing is lights or your fourth line that begins with Sending XXXX....

I then reboot and retry with just the...
root@raspberrypi:/home/pi/rio/rio-server# npm start
and get the same output result and no lights, could it be that the "Sending... is not seen because the terminal window blinks very/to quickly from "accepted Connection" to gif in which case a 10 second delay between inserted between "accepted connection" and "Sending might resolve this ???

I then try ls /tmp and can see app.main
I have sendToPi as true

@dallen98
Copy link
Author

what follows below is the log of the rio installation...

d rio && npm run install-server
gives this output....

../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::SetFontFace(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:1915:41: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Local obj = info[0]->ToObject();
^
In file included from ../src/Canvas.h:11:0,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:10254:15: note: declared here
Local Value::ToObject() const {
^~~~~
../src/CanvasRenderingContext2d.cc:1921:38: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double size = info[1]->NumberValue();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::SetFont(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:1950:35: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value weight(info[0]);
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:1951:34: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value style(info[1]);
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:1952:38: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double size = info[2]->NumberValue();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:1953:33: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value unit(info[3]);
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:1954:35: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value family(info[4]);
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::MeasureText(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2058:43: warning: ‘v8::Localv8::String v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
String::Utf8Value str(info[0]->ToString());
^
In file included from ../src/Canvas.h:11:0,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:10248:15: note: declared here
Local Value::ToString() const {
^~~~~
../src/CanvasRenderingContext2d.cc:2058:44: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value str(info[0]->ToString());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::SetTextBaseline(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2185:54: warning: ‘int32_t v8::Value::Int32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
context->state->textBaseline = info[0]->Int32Value();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2572:46: note: declared here
V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::SetTextAlignment(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2195:55: warning: ‘int32_t v8::Value::Int32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
context->state->textAlignment = info[0]->Int32Value();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2572:46: note: declared here
V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::SetLineDash(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2211:27: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
a[i] = d->NumberValue();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Context2d::SetLineDashOffset(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2245:38: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double offset = value->NumberValue();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::FillRect(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:48:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double x = info[0]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2275:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:49:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double y = info[1]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2275:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:50:39: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double width = info[2]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2275:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:51:40: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double height = info[3]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2275:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::StrokeRect(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:48:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double x = info[0]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2290:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:49:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double y = info[1]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2290:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:50:39: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double width = info[2]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2290:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:51:40: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double height = info[3]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2290:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::ClearRect(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:48:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double x = info[0]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2305:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:49:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double y = info[1]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2305:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:50:39: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double width = info[2]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2305:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:51:40: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double height = info[3]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2305:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::Rect(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:48:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double x = info[0]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2323:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:49:35: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double y = info[1]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2323:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:50:39: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double width = info[2]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2323:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:51:40: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
double height = info[3]->NumberValue();
^
../src/CanvasRenderingContext2d.cc:2323:3: note: in expansion of macro ‘RECT_ARGS’
RECT_ARGS;
^~~~~~~~~
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::Arc(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2348:46: warning: ‘bool v8::Value::BooleanValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
bool anticlockwise = info[5]->BooleanValue();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2568:43: note: declared here
V8_DEPRECATED("Use maybe version", bool BooleanValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2353:57: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
if (anticlockwise && M_PI * 2 != info[4]->NumberValue()) {
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2355:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[0]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2356:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[1]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2357:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[2]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2358:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[3]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2359:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[4]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2362:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[0]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2363:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[1]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2364:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[2]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2365:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[3]->NumberValue()
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2366:30: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
, info[4]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Context2d::ArcTo(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/CanvasRenderingContext2d.cc:2392:40: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Point p1(info[0]->NumberValue(), info[1]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2392:64: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Point p1(info[0]->NumberValue(), info[1]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2395:40: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Point p2(info[2]->NumberValue(), info[3]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2395:64: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Point p2(info[2]->NumberValue(), info[3]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/CanvasRenderingContext2d.cc:2397:39: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
float radius = info[4]->NumberValue();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/CanvasRenderingContext2d.cc:14:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
CXX(target) Release/obj.target/canvas/src/color.o
CXX(target) Release/obj.target/canvas/src/Image.o
In file included from ../src/Canvas.h:22:0,
from ../src/Image.cc:7:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../../nan/nan.h:1064:78: warning: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString(v8::Isolate::GetCurrent());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Image.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2538:31: note: declared here
Local ToString(Isolate* isolate) const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Image.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Image::SetDataMode(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Image.cc:104:35: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
int mode = value->Uint32Value();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Image.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2571:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Image.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Image::SetSource(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Image.cc:172:32: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value src(value);
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Image.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Image.cc:178:61: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
uint8_t buf = (uint8_t ) Buffer::Data(value->ToObject());
^
In file included from ../src/Canvas.h:11:0,
from ../src/Image.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:10254:15: note: declared here
Local Value::ToObject() const {
^~~~~
../src/Image.cc:179:51: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
unsigned len = Buffer::Length(value->ToObject());
^
In file included from ../src/Canvas.h:11:0,
from ../src/Image.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:10254:15: note: declared here
Local Value::ToObject() const {
^~~~~
../src/Image.cc: In member function ‘void Image::loaded()’:
../src/Image.cc:372:25: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
onload->Call(0, NULL);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Image.cc:7:
../../nan/nan.h:1655:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
../src/Image.cc: In member function ‘void Image::error(v8::Localv8::Value)’:
../src/Image.cc:385:26: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
onerror->Call(1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Image.cc:7:
../../nan/nan.h:1655:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
../src/Image.cc: At global scope:
../src/Image.cc:664:13: warning: ‘void jpeg_mem_src(j_decompress_ptr, void*, long int)’ defined but not used [-Wunused-function]
static void jpeg_mem_src (j_decompress_ptr cinfo, void* buffer, long nbytes) {
^~~~~~~~~~~~
CXX(target) Release/obj.target/canvas/src/ImageData.o
In file included from ../src/Canvas.h:22:0,
from ../src/ImageData.h:11,
from ../src/ImageData.cc:8:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../../nan/nan.h:1064:78: warning: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString(v8::Isolate::GetCurrent());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/ImageData.h:11,
from ../src/ImageData.cc:8:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2538:31: note: declared here
Local ToString(Isolate* isolate) const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/ImageData.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ImageData::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ImageData.cc:54:34: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
width = info[0]->Uint32Value();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/ImageData.h:11,
from ../src/ImageData.cc:8:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2571:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/ImageData.cc:59:35: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
height = info[1]->Uint32Value();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/ImageData.h:11,
from ../src/ImageData.cc:8:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2571:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/ImageData.cc:91:34: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
width = info[1]->Uint32Value();
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/ImageData.h:11,
from ../src/ImageData.cc:8:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2571:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/ImageData.cc:102:53: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
if (info[2]->IsUint32() && info[2]->Uint32Value() != height) {
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/ImageData.h:11,
from ../src/ImageData.cc:8:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2571:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
CXX(target) Release/obj.target/canvas/src/init.o
In file included from ../src/Canvas.h:22:0,
from ../src/init.cc:9:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../../nan/nan.h:1064:78: warning: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString(v8::Isolate::GetCurrent());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/init.cc:9:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2538:31: note: declared here
Local ToString(Isolate* isolate) const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
CXX(target) Release/obj.target/canvas/src/FontFace.o
In file included from ../src/Canvas.h:22:0,
from ../src/FontFace.h:10,
from ../src/FontFace.cc:7:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../../nan/nan.h:1064:78: warning: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString(v8::Isolate::GetCurrent());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/FontFace.h:10,
from ../src/FontFace.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2538:31: note: declared here
Local ToString(Isolate* isolate) const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/FontFace.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE FontFace::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/FontFace.cc:65:37: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value filePath(info[0]);
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/FontFace.h:10,
from ../src/FontFace.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2992:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/FontFace.cc:66:42: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
int faceIdx = int(info[1]->NumberValue());
^
In file included from /home/pi/.node-gyp/11.4.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/FontFace.h:10,
from ../src/FontFace.cc:7:
/home/pi/.node-gyp/11.4.0/include/node/v8.h:2569:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/pi/.node-gyp/11.4.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
SOLINK_MODULE(target) Release/obj.target/canvas.node
COPY Release/canvas.node
make: Leaving directory '/home/pi/rio/rio-server/node_modules/canvas/build'

[email protected] postinstall /home/pi/rio/rio-server/node_modules/youtube-dl
node ./scripts/download.js

Downloaded youtube-dl 2018.12.09
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.

added 183 packages from 134 contributors and audited 486 packages in 112.104s
found 6 vulnerabilities (5 moderate, 1 high)
run npm audit fix to fix them, or npm audit for details
pi@raspberrypi:~/rio $

@lukefanning
Copy link
Contributor

Ah you have sendToConsole enabled, please disable that when outputting to LEDs so you can continue to see console messages Your install log looks normal. It is possible that outputting to console might have been having an effect on outputting to the pi. Try with sendToConsole disabled and let me know if it makes any difference.

Also please paste your lowlevel-server.py

@dallen98
Copy link
Author

Blimey activity on my lights at last, I dont have the led,s formed into a matrix yet so cant tell if the output is gibberish but hey looking good thanks

here is my current ammended index.js with "SendToConsole false...

/**

  • Created by kylejohnson on 02/10/2016.
    /
    module.exports = {
    matrix: {
    width: 15,
    height: 4
    },
    use8bitColors: true,
    sendToConsole: false,
    sendToWebsockets: true,
    sendToPi: true,
    slackToken: '',
    twitter: {
    consumer_key: '',
    consumer_secret: '',
    access_token: '',
    access_token_secret: '',
    timeout_ms: 60
    1000, // optional HTTP request timeout to app$
    },
    queueing: true,
    imageInputDisplayTime: 5000, // Only relevant when queueing is enabled,
    watson: true
    };

here is my current lowlevel-server.py...

-- coding: utf-8 --

import socket
import os
import _rpi_ws281x as ws
import sys

LED strip configuration:

LED_COUNT = 20 # Number of LED pixels.
LED_PIN = 18 # GPIO pin connected to the pixels (must support PWM!).
LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz)
LED_DMA = 5 # DMA channel to use for generating signal (try 5)
LED_BRIGHTNESS = 32 # Set to 0 for darkest and 255 for brightest
LED_INVERT = False # True to invert the signal (when using NPN transistor level shift)
LED_CHANNEL = 0

LED_2_COUNT = 20 # Number of LED pixels.
LED_2_PIN = 19 # GPIO pin connected to the pixels (must support PWM!).
LED_2_BRIGHTNESS = 32 # Set to 0 for darkest and 255 for brightest
LED_2_INVERT = False # True to invert the signal (when using NPN transistor level shift)
LED_2_CHANNEL = 1

if name == 'main':
leds = ws.new_ws2811_t()

# Initialize all channels to off
for channum in range(2):
    channel = ws.ws2811_channel_get(leds, channum)
    ws.ws2811_channel_t_count_set(channel, 0)
    ws.ws2811_channel_t_gpionum_set(channel, 0)
    ws.ws2811_channel_t_invert_set(channel, 0)
    ws.ws2811_channel_t_brightness_set(channel, 0)

channel = ws.ws2811_channel_get(leds, LED_CHANNEL)
channel2 = ws.ws2811_channel_get(leds, LED_2_CHANNEL)

ws.ws2811_channel_t_count_set(channel, LED_COUNT)
ws.ws2811_channel_t_gpionum_set(channel, LED_PIN)
ws.ws2811_channel_t_invert_set(channel, LED_INVERT)
ws.ws2811_channel_t_brightness_set(channel, LED_BRIGHTNESS)

ws.ws2811_channel_t_count_set(channel2, LED_2_COUNT)
ws.ws2811_channel_t_gpionum_set(channel2, LED_2_PIN)
ws.ws2811_channel_t_invert_set(channel2, LED_2_INVERT)
ws.ws2811_channel_t_brightness_set(channel2, LED_2_BRIGHTNESS)

ws.ws2811_t_freq_set(leds, LED_FREQ_HZ)
ws.ws2811_t_dmanum_set(leds, LED_DMA)

# Initialize library with LED configuration.
resp = ws.ws2811_init(leds)
if resp != ws.WS2811_SUCCESS:
    message = ws.ws2811_get_return_t_str(resp)
    raise RuntimeError('ws2811_init failed with code {0} ({1})'.format(resp, message))

if os.path.exists("/tmp/app.main"):
    os.remove("/tmp/app.main")

print("Opening socket...")
sys.stdout.flush()
server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
server.bind("/tmp/app.main")
server.listen(5)

try:
    print("Listening...")
    sys.stdout.flush()
    index = 0
    no_data = 0
    while True:
        conn, addr = server.accept()

        print("accepted connection")
        sys.stdout.flush()

        while True:

            data = conn.recv(6120) # 6120 is number of bytes for an entire frame of the LED wall.
            if not data:
                break
            else:
                for i in range(0, len(data), 3):
                    # Write to appropriate strip
                    if index < LED_COUNT:
                        ws.ws2811_led_set(channel, index, (ord(data[i + 1]) << 16) | (ord(data[i]) << 8) | ord(data[i + 2]))
                    else:
                        ws.ws2811_led_set(channel2, index - LED_COUNT, (ord(data[i + 1]) << 16) | (ord(data[i]) << 8) | ord(data[i + 2]))

                    # Increment the pixel index
                    index += 1

                    # Check whether end of frame has been reached and if so reset pixel index and show pixels
                    if index == LED_COUNT + LED_2_COUNT:
                        index = 0
                        # Send the LED color data to the hardware.
                        resp = ws.ws2811_render(leds)
                        if resp != ws.WS2811_SUCCESS:
                            message = ws.ws2811_get_return_t_str(resp)
                            raise RuntimeError('ws2811_render failed with code {0} ({1})'.format(resp, message))
                        # TODO - sleep here 0.25?
                        r = 'Done'
                        conn.send(r.encode())
            if data == "DONE":
                break
    print("-" * 20)
    print("Shutting down...")
    sys.stdout.flush()
    server.close()
    os.remove("/tmp/app.main")
    print("Done")
    sys.stdout.flush()
finally:
    # Ensure ws2811_fini is called before the program quits.
    ws.ws2811_fini(leds)
    # Example of calling delete function to clean up structure memory.  Isn't
    # strictly necessary at the end of the program execution here, but is good practice.
    ws.delete_ws2811_t(leds)

@lukefanning
Copy link
Contributor

lukefanning commented Dec 12, 2018

Awesome yes i took at the code and we were prioritising sending to console instead of sending to LEDs. I have now changed that in master.

By the way if your matrix is 15x4 then your LED counts in lowlevel-server.py file are wrong.

@dallen98
Copy link
Author

About the matrix, I plan on a 16:9 aspect ratio screen so I calculate for example 48 pixels wide by 27 pixel rows high (48x27=1296 pixels total) (1296 divided by two = 648 LED_COUNT on pin 18 and ditto 648 LED_COUNT on pin 19
matrix: {
width: 48,
height: 27
I believe it is the case that the max numer of pixels is 2040 eg 1020 on pin 18 and 1020 on pin 19
and so concievably a 16:9 screen could be up to 60 pixels wide by 34 pixels high but no bigger which is what I see in your config/index.js
Let me know if all the above sounds right thanks

@lukefanning
Copy link
Contributor

Yep that all sounds right. In fact the wall we built for use with rio was 60x34 and 2m wide! I cannot recall what the maximum number of pixels you can drive through each GPIO pin is, I believe its just the more you have the more your update rate suffers. Assuming you are powering the strips with an external 5v power supply 1296 pixels will be a breeze.

@dallen98
Copy link
Author

I see the simpsons video gif on your rio intro page there seems to be some dropout of pixels towards the bottom of the image, did you have any problems playing full motion video across the 60x34 pixels ? is there anywhere in the code to alter the framerate up or down ?

@lukefanning
Copy link
Contributor

Nope that would just be our primitive electrical skills! We found that the wall had to be evenly powered across all the strips and I think towards the bottom had less power running through it. I think the entire bottom strip might not have worked due to some issues during soldering :D.

With regards to framerate, in the case of GIFs the delay between frames is pulled from the GIF itself. In order to effect it you'd have to manipulate the delay returned from inputs/gif-worker.js. As for video input, the framerate is currently hardcoded to 12fps. You can change this in inputs/video-worker.js on line 32 making sure to also update line 45 to provide the appropriate delay to the frame sending pipeline.

@dallen98
Copy link
Author

Is the frame rate restricted by the distance the signal has to travel (in my case 2 meters x 1.1 meters using the 30 pixels per mt ws2812b) or is the raspberry pi cpu/gpu the bottleneck, I have on order the newest rspb 3+, will be giving it a try.
Also is there a way to get the server to look in a file on the raspberry pi for a stored video ? instead of the youtube/giff downloads.
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants