@@ -40,9 +40,15 @@ const knownSensors = [
40
40
id : 0x68 ,
41
41
name : 'MPU6050' ,
42
42
} ,
43
+ {
44
+ id : 0x29 ,
45
+ name : 'VL53LXX' , // TODO: implement in Python lib
46
+ description : 'Time-of-flight' ,
47
+ } ,
43
48
{
44
49
id : 0x40 ,
45
50
name : 'SHT21' ,
51
+ description : 'Temperature and humidity' ,
46
52
} ,
47
53
{
48
54
id : 0x49 ,
@@ -61,7 +67,9 @@ const SensorList = ({ sensors = [], onReadSensor = () => {} }) => (
61
67
{ sensors . map ( ( item , index ) => {
62
68
return (
63
69
< SensorTab key = { index } onClick = { ( ) => onReadSensor ( item ) } >
64
- < SensorTitle > { item . name } </ SensorTitle >
70
+ < SensorTitle >
71
+ { item . name } { item . description }
72
+ </ SensorTitle >
65
73
</ SensorTab >
66
74
) ;
67
75
} ) }
@@ -77,6 +85,7 @@ class Sensors extends Component {
77
85
isScanned : false ,
78
86
sensorList : [ ] ,
79
87
data : null ,
88
+ sensorData : null ,
80
89
} ;
81
90
}
82
91
@@ -96,11 +105,18 @@ class Sensors extends Component {
96
105
sensorList : filterKnownSensors ( args . data ) ,
97
106
} ) ;
98
107
} ) ;
108
+ ipcRenderer . on ( 'SENSORS_READ' , ( event , args ) => {
109
+ this . setState ( {
110
+ isScanned : true ,
111
+ sensorData : args . data ,
112
+ } ) ;
113
+ } ) ;
99
114
// this.getConfigFromDevice();
100
115
}
101
116
102
117
componentWillUnmount ( ) {
103
118
ipcRenderer . removeAllListeners ( 'SENSORS_SCAN' ) ;
119
+ ipcRenderer . removeAllListeners ( 'SENSORS_READ' ) ;
104
120
}
105
121
106
122
getConfigFromDevice = debounce ( ( ) => {
@@ -118,8 +134,20 @@ class Sensors extends Component {
118
134
command : 'SENSORS_SCAN' ,
119
135
} ) ;
120
136
} , 500 ) ;
137
+
138
+ onReadSensor = debounce ( sensor => {
139
+ // TODO: use sensor and implement switch over it
140
+ // TODO: can we find a generic interface?
141
+ console . info ( { sensor } ) ;
142
+ const { isConnected } = this . props ;
143
+ isConnected &&
144
+ loadBalancer . sendData ( ipcRenderer , 'linker' , {
145
+ command : 'SENSORS_READ' ,
146
+ } ) ;
147
+ } , 500 ) ;
148
+
121
149
render ( ) {
122
- const { data, isScanned, sensorList } = this . state ;
150
+ const { data, isScanned, sensorList, sensorData } = this . state ;
123
151
124
152
return (
125
153
< Container >
@@ -140,12 +168,13 @@ class Sensors extends Component {
140
168
< TitleWrapper > Detected sensors</ TitleWrapper >
141
169
< SensorList
142
170
sensors = { sensorList }
143
- onReadSensor = { sensor => console . info ( { sensor } ) }
171
+ onReadSensor = { this . onReadSensor }
144
172
/>
145
173
</ >
146
174
) : (
147
175
< TitleWrapper > No sensors detected</ TitleWrapper >
148
176
) ) }
177
+ Sensor data: < pre > { JSON . stringify ( sensorData ) } </ pre >
149
178
< TitleWrapper > Known sensors</ TitleWrapper >
150
179
< SensorList sensors = { knownSensors } />
151
180
< pre > { JSON . stringify ( data ) } </ pre >
0 commit comments