forked from Moki38/vedirect
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
97 lines (85 loc) · 2.64 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
var term = require( 'terminal-kit' ).terminal;
var vedirect = require( './index.js' );
//
// BMV
//
var bmvdata = {};
vedirect.open('/dev/ttyBMV0');
//vedirect.open('/dev/ttyUSB0');
//vedirect.open('/dev/ttyUSB2');
function terminate()
{
term.grabInput( false ) ;
setTimeout( function() { process.exit() } , 100 ) ;
}
term.clear();
function vedirect_display() {
term.moveTo( 24 , 2 , " ") ;
term.moveTo( 24 , 2 , "BMV type: ") ;
term.blue( bmvdata.LONG ) ;
if (bmvdata.AR === 0) {
term.moveTo( 24 , 6 , " ") ;
} else {
term.moveTo( 24 , 6 , "Accu Alarm: %f") ;
term.brightRed( bmvdata.AR ) ;
//Low Voltage 1 High Voltage 2 Low SOC 4 Low Starter Voltage 8 High Starter Voltage 16 Low Temperature 32 High Temperature 64 Mid Voltage 128 E
}
term.white.moveTo( 24 , 7 , " ") ;
term.moveTo( 24 , 7 , "House Accu: ") ;
if (bmvdata.I == 0) {
term.blue( bmvdata.V ) ;
}
if (bmvdata.I < 0) {
term.yellow( bmvdata.V ) ;
}
if (bmvdata.I > 0) {
term.green( bmvdata.V ) ;
}
term.moveTo( 45 , 7 , "SOC: %f " , bmvdata.SOC ) ;
term.moveTo( 24 , 8 , "Start Accu: %f " , bmvdata.VS ) ;
term.moveTo( 24 , 9 , " ") ;
term.moveTo( 24 , 9 , "BowTr Accu: ") ;
if (bmvdata.I2 == 0) {
term.blue( bmvdata.V2 ) ;
}
if (bmvdata.I2 < 0) {
term.yellow( bmvdata.V2 ) ;
}
if (bmvdata.I2 > 0) {
term.green( bmvdata.V2 ) ;
}
term.moveTo( 45 , 9 , "SOC: %f " , bmvdata.SOC2 ) ;
term.moveTo( 24 ,11 , "Panel Volt: %f " , bmvdata.VPV ) ;
term.moveTo( 24 ,12 , "Panel Watt: %f " , bmvdata.PPV ) ;
term.moveTo( 24 ,13 , "Panel CS : ") ;
switch(bmvdata.CS) {
case '0':
term.blue( "OFF " ) ;
break;
case '2':
term.red( "Fault" ) ;
break;
case '3':
term.green( "Bulk " ) ;
break;
case '4':
term.green( "Absob" ) ;
break;
case '5':
term.green( "Float" ) ;
break;
}
term.moveTo( 24 ,14 , "Yield Tday: %f " , bmvdata.YT ) ;
term.moveTo( 24 ,15 , "Yield Yday: %f " , bmvdata.YY ) ;
term.moveTo( 0 , 0 , "") ;
}
var displayinterval = setInterval(function () {
bmvdata = vedirect.update();
vedirect_display();
}, 500);
term.on( 'key' , function( name , matches , data ) {
if ( matches.indexOf( 'CTRL_C' ) >= 0 ) {
term.green( 'CTRL-C received...\n' ) ;
terminate() ;
}
} ) ;