Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
B
Backpack-gui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sarvin Taba
Backpack-gui
Commits
53d758f7
Commit
53d758f7
authored
Nov 19, 2021
by
Sarvin Taba
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
initial status done
parent
b0abf46d
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
101 additions
and
85 deletions
+101
-85
.env
.env
+2
-2
package.json
package.json
+1
-1
App.js
src/App.js
+16
-7
Cameras.js
src/components/Cameras.js
+1
-1
DeviceStart.js
src/components/DeviceStart.js
+3
-3
GeneralStatus.js
src/components/GeneralStatus.js
+71
-71
status-context.js
src/shared/status-context.js
+7
-0
No files found.
.env
View file @
53d758f7
REACT_APP_BACKEND_URL=http://localhost:3000
REACT_APP_SOCKET_URL="http://192.168.0.98:5500"
\ No newline at end of file
REACT_APP_BACKEND_URL=http://localhost:4000/api
REACT_APP_SOCKET_URL=http://localhost:4500
\ No newline at end of file
package.json
View file @
53d758f7
...
...
@@ -58,5 +58,5 @@
"last 1 safari version"
]
},
"proxy"
:
"http://192.168.0.98:5000"
"proxy"
:
"http://192.168.0.98:5000"
}
src/App.js
View file @
53d758f7
import
React
,
{
useState
}
from
"
react
"
;
import
React
,
{
useState
,
useContext
}
from
"
react
"
;
import
"
./App.css
"
;
import
Cameras
from
"
./components/Cameras
"
;
import
ImuGps
from
"
./components/ImuGps
"
;
...
...
@@ -11,24 +11,31 @@ import {AutoSizer} from 'react-virtualized';
import
{
FontAwesomeIcon
}
from
"
@fortawesome/react-fontawesome
"
;
import
{
faPause
,
faPlay
}
from
"
@fortawesome/free-solid-svg-icons
"
;
import
Axios
from
"
axios
"
;
import
{
StatusContext
}
from
'
./shared/status-context
'
;
const
socket
=
socketClient
(
process
.
env
.
REACT_APP_SOCKET_URL
,{
transports
:[
'
websocket
'
]});
// const socket = socketClient(process.env.REACT_APP_SOCKET_URL);
function
App
()
{
const
[
status
,
setStatus
]
=
useState
({
datasetName
:
"
0000-00-00_000000
"
,
captureStatus
:
"
off
"
,
deviceStatus
:
"
off
"
});
const
[
pauseMessages
,
setPauseMessages
]
=
useState
(
false
);
useEffect
(()
=>
{
socket
.
on
(
"
connection_start
"
,
(
res
)
=>
{
console
.
log
(
"
&&&&&&&&&&&&&***********************
"
);
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
url
:
process
.
env
.
REACT_APP_BACKEND_URL
+
"
/Device/status
"
,
}).
then
(
async
(
res
)
=>
{
console
.
log
(
res
);
console
.
log
(
"
&&&&&&&&&&&&&&1
"
);
console
.
log
(
res
.
data
);
setStatus
({
datasetName
:
res
.
data
.
datasetName
,
captureStatus
:
res
.
data
.
captureStatus
,
deviceStatus
:
res
.
data
.
deviceStatus
})
// update dataset name
});
console
.
log
(
res
);
}).
catch
((
er
)
=>
console
.
log
(
er
));
console
.
log
(
"
&&&&&&&&&&&&&&2
"
);
// console.log(res);
})
socket
.
on
(
"
connect_error
"
,
(
err
)
=>
{
...
...
@@ -40,15 +47,16 @@ const onPauseMessages =() =>{
setPauseMessages
(
!
pauseMessages
)
}
return
(
<
div
className
=
"
App pt-3
"
>
<
h4
>
Backpack
GUI
<
/h4
>
<
div
className
=
"
m-2 py-1 border border-dark rounded
"
>
<
Cameras
socket
=
{
socket
}
/
>
<
ImuGps
socket
=
{
socket
}
/
>
<
DeviceStart
/>
<
DeviceStart
status
=
{
status
}
/
>
<
/div
>
<
div
className
=
"
m-2 py-1 border border-dark rounded
"
>
<
GeneralStatus
socket
=
{
socket
}
/
>
<
GeneralStatus
socket
=
{
socket
}
status
=
{
status
}
/
>
<
/div
>
<
div
className
=
"
m-2 px-2 border border-dark rounded fill-height text-left relative
"
>
<
button
className
=
"
btn btn-light btn-sm fixed-tr
"
onClick
=
{
onPauseMessages
}
>
...
...
@@ -61,6 +69,7 @@ const onPauseMessages =() =>{
<
/AutoSizer
>
<
/div
>
<
/div
>
);
}
...
...
src/components/Cameras.js
View file @
53d758f7
...
...
@@ -11,7 +11,7 @@ const Cameras = ({socket}) => {
const
[
newCameraData
,
setNewCameraData
]
=
useState
([]);
socket
.
on
(
"
cameraData
"
,
(
res
)
=>
{
console
.
log
(
res
)
//
console.log(res)
switch
(
res
.
cam_id
)
{
case
0
:
setCameraData0
(
res
);
...
...
src/components/DeviceStart.js
View file @
53d758f7
import
React
,
{
useState
}
from
"
react
"
;
import
Axios
from
"
axios
"
;
const
DevStatus
=
()
=>
{
const
[
startDevBtn
,
setStart
_dev_Bt
]
=
useState
(
tru
e
);
const
DevStatus
=
(
props
)
=>
{
const
[
startDevBtn
,
setStart
DevBt
]
=
useState
(
props
.
status
.
deviceStatus
===
"
off
"
?
true
:
fals
e
);
const
onStartDev
=
()
=>
{
...
...
@@ -16,7 +16,7 @@ const DevStatus = () => {
});
setStart
_dev_
Bt
(
false
);
setStart
Dev
Bt
(
false
);
};
...
...
src/components/GeneralStatus.js
View file @
53d758f7
import
React
,
{
useState
}
from
"
react
"
;
import
React
,
{
use
Effect
,
use
State
}
from
"
react
"
;
import
Axios
from
"
axios
"
;
import
{
StatusContext
}
from
"
../shared/status-context
"
;
const
GeneralStatus
=
()
=>
{
const
GeneralStatus
=
(
props
)
=>
{
const
[
newDatasetBtn
,
setNewDatasetBtn
]
=
useState
(
true
);
const
[
captueBtn
,
setCaptureBtn
]
=
useState
(
"
Start Capture
"
);
const
[
gpsBtn
,
setGpsBtn
]
=
useState
(
"
Start Gps
"
);
const
[
imuBtn
,
setImuBtn
]
=
useState
(
"
Start Imu
"
);
const
[
datasetName
,
setDatasetName
]
=
useState
(
"
dataset 1
"
);
const
[
captueBtn
,
setCaptureBtn
]
=
useState
(
props
.
status
.
captureStatus
);
// const [gpsBtn, setGpsBtn] = useState("Start Gps");
// const [imuBtn, setImuBtn] = useState("Start Imu");
const
[
datasetName
,
setDatasetName
]
=
useState
(
props
.
status
.
datasetName
);
console
.
log
(
"
general status
"
);
console
.
log
(
props
.
status
);
useEffect
(()
=>
{
console
.
log
(
"
CHANGEED
"
);
setDatasetName
(
props
.
status
.
datasetName
);
},
[
props
.
status
]);
const
onNewDataSet
=
()
=>
{
Axios
({
...
...
@@ -16,17 +24,14 @@ const GeneralStatus = () => {
}).
then
(
async
(
res
)
=>
{
console
.
log
(
"
********************
"
);
// update dataset name
setDatasetName
(
res
.
data
.
dataset_name
)
setDatasetName
(
res
.
data
.
dataset_name
);
});
setNewDatasetBtn
(
false
);
};
const
onCaptureBtnClick
=
()
=>
{
if
(
captueBtn
===
"
Start Capture
"
)
{
if
(
captueBtn
===
"
off
"
)
{
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
...
...
@@ -34,9 +39,8 @@ const GeneralStatus = () => {
}).
then
(
async
(
res
)
=>
{
console
.
log
(
"
********************
"
);
});
setCaptureBtn
(
"
End Capture
"
);
}
else
{
setCaptureBtn
(
"
on
"
);
}
else
{
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
...
...
@@ -46,61 +50,57 @@ const GeneralStatus = () => {
});
setNewDatasetBtn
(
true
);
setCaptureBtn
(
"
Start Capture
"
);
}
};
const
onGpsBtnClick
=
()
=>
{
if
(
gpsBtn
===
"
Start Gps
"
){
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
url
:
process
.
env
.
REACT_APP_BACKEND_URL
+
"
/gps/on
"
,
}).
then
(
async
(
res
)
=>
{
console
.
log
(
"
********************
"
);
});
setGpsBtn
(
"
End Gps
"
);
}
else
{
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
url
:
process
.
env
.
REACT_APP_BACKEND_URL
+
"
/gps/off
"
,
}).
then
(
async
(
res
)
=>
{
console
.
log
(
"
********************
"
);
});
setGpsBtn
(
"
Start Gps
"
);
}
};
const
onImuBtnClick
=
()
=>
{
if
(
imuBtn
===
"
Start Imu
"
)
{
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
url
:
process
.
env
.
REACT_APP_BACKEND_URL
+
"
/imu/on
"
,
}).
then
(
async
(
res
)
=>
{
console
.
log
(
"
imu on ********************
"
);
});
setImuBtn
(
"
End Imu
"
);
}
else
{
Axios
({
method
:
"
GET
"
,
withCredentials
:
true
,
url
:
process
.
env
.
REACT_APP_BACKEND_URL
+
"
/imu/off
"
,
}).
then
(
async
(
res
)
=>
{
console
.
log
(
"
imu off ********************
"
);
});
setImuBtn
(
"
Start Imu
"
);
}
};
// const onGpsBtnClick = () => {
// if (gpsBtn === "Start Gps"){
// Axios({
// method: "GET",
// withCredentials: true,
// url: process.env.REACT_APP_BACKEND_URL + "/gps/on",
// }).then(async (res) => {
// console.log("********************");
// });
// setGpsBtn("End Gps");
// }
// else {
// Axios({
// method: "GET",
// withCredentials: true,
// url: process.env.REACT_APP_BACKEND_URL + "/gps/off",
// }).then(async (res) => {
// console.log("********************");
// });
// setGpsBtn("Start Gps");
// }
// };
// const onImuBtnClick = () => {
// if (imuBtn === "Start Imu")
// {
// Axios({
// method: "GET",
// withCredentials: true,
// url: process.env.REACT_APP_BACKEND_URL + "/imu/on",
// }).then(async (res) => {
// console.log("imu on ********************");
// });
// setImuBtn("End Imu");
// }
// else {
// Axios({
// method: "GET",
// withCredentials: true,
// url: process.env.REACT_APP_BACKEND_URL + "/imu/off",
// }).then(async (res) => {
// console.log(" imu off ********************");
// });
// setImuBtn("Start Imu");
// }
// };
return
(
<
React
.
Fragment
>
...
...
@@ -111,11 +111,11 @@ const GeneralStatus = () => {
className
=
"
btn btn-primary btn-block
"
onClick
=
{
onNewDataSet
}
>
New
Dataset
New
Dataset
<
/button
>
<
/div
>
<
div
className
=
"
col-6 px-1 my-1
"
>
{
datasetName
}
<
/div
>
<
div
className
=
"
col-6 px-1 my-1
"
>
{
/*
<div className="col-6 px-1 my-1">
<button
className="btn btn-primary btn-block"
disabled={newDatasetBtn}
...
...
@@ -132,15 +132,15 @@ const GeneralStatus = () => {
>
{imuBtn}
</button>
<
/div
>
</div>
*/
}
<
div
className
=
"
col-12 px-1 my-1
"
>
<
button
className
=
"
btn btn-primary btn-block
"
disabled
=
{
newDatasetBtn
}
disabled
=
{
parseInt
(
datasetName
.
replace
(
/
[
-_
]
/g
,
""
))
===
0
?
true
:
false
}
onClick
=
{
onCaptureBtnClick
}
>
{
captueBtn
}
{
captueBtn
===
"
off
"
?
"
Start Capture
"
:
"
End Capture
"
}
<
/button
>
<
/div
>
<
/div
>
...
...
src/shared/status-context.js
0 → 100644
View file @
53d758f7
import
{
createContext
}
from
'
react
'
;
export
const
StatusContext
=
createContext
({
status
:
"
0000-00-00_000000
"
,
updateStatus
:
()
=>
{}
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment