From 37825292ff94b19a47f92627e5ee9365b8c4b318 Mon Sep 17 00:00:00 2001 From: "Joshua F. Rountree" Date: Wed, 19 Sep 2018 12:16:21 -0400 Subject: [PATCH] Adds Thermal to EON screen. --- app/actions/eon_detail_actions.js | 35 +++-- .../EonDetail/{Styles.css => Styles.scss} | 51 +++++-- app/components/EonDetail/index.js | 124 ++++++++++++++---- .../Layout/{Styles.css => Styles.scss} | 8 +- app/components/Layout/index.js | 10 +- app/components/LoadingIndicator/Circle.js | 8 -- .../LoadingIndicator/IndicatorIcon.js | 14 ++ .../{Styles.css => Styles.scss} | 10 +- .../images/img_spinner_track.png | Bin 41523 -> 0 bytes app/components/LoadingIndicator/index.js | 5 +- app/constants/thermal.json | 110 ++++++++++++++++ app/constants/tmux_regex.js | 5 +- .../vehicle_connection_statuses.json | 9 +- app/containers/EonDetailPage.js | 21 ++- app/images/img_spinner_track.png | Bin 0 -> 52483 bytes app/images/img_spinner_track@0.2x.png | Bin 0 -> 7036 bytes app/images/img_spinner_track@0.5x.png | Bin 0 -> 22143 bytes app/images/img_spinner_track@0.75x.png | Bin 0 -> 42423 bytes app/{components/Layout => }/images/logo.svg | 0 app/main.dev.js | 7 +- app/package.json | 2 +- app/reducers/eon_detail_reducer.js | 42 +++++- package.json | 7 +- test.js | 33 +++++ yarn.lock | 27 ++++ 25 files changed, 452 insertions(+), 76 deletions(-) rename app/components/EonDetail/{Styles.css => Styles.scss} (59%) rename app/components/Layout/{Styles.css => Styles.scss} (90%) delete mode 100644 app/components/LoadingIndicator/Circle.js create mode 100644 app/components/LoadingIndicator/IndicatorIcon.js rename app/components/LoadingIndicator/{Styles.css => Styles.scss} (88%) delete mode 100644 app/components/LoadingIndicator/images/img_spinner_track.png create mode 100644 app/constants/thermal.json create mode 100644 app/images/img_spinner_track.png create mode 100644 app/images/img_spinner_track@0.2x.png create mode 100644 app/images/img_spinner_track@0.5x.png create mode 100644 app/images/img_spinner_track@0.75x.png rename app/{components/Layout => }/images/logo.svg (100%) create mode 100644 test.js diff --git a/app/actions/eon_detail_actions.js b/app/actions/eon_detail_actions.js index 7b22368..fd4d015 100644 --- a/app/actions/eon_detail_actions.js +++ b/app/actions/eon_detail_actions.js @@ -89,14 +89,33 @@ export function RESPONSE_tmuxPipe(lines, state) { regexKeys = Object.keys(regex); regexKeys.forEach((key) => { - // console.log(key); - if ((m = regex[key].exec(lines)) !== null) { - // console.log(m); - if (key === 'PROCESS') { - payload[m[1]] = m[3]; - } else if (key === 'VEHICLE_CONNECTION') { - payload.vehicleConnection = m[0]; - } + switch (key) { + case "THERMAL": + // console.warn("Parsing:",key); + while ((m = regex[key].exec(lines)) !== null) { + if (m.index === regex.lastIndex) { + regex.lastIndex++; + } + // console.warn(m[1],m[2]); + payload[m[1]] = m[2].replace(/\"/g,''); + } + break; + case "PROCESS": + // console.warn("Parsing:",key); + while ((m = regex[key].exec(lines)) !== null) { + if (m.index === regex.lastIndex) { + regex.lastIndex++; + } + // console.warn(m[1],m[3]); + payload[m[1]] = m[3].replace(/\"/g,''); + } + break; + case "VEHICLE_CONNECTION": + // console.warn("Parsing:",key); + if ((m = regex[key].exec(lines)) !== null) { + payload.vehicleConnection = m[0]; + } + break; } }); diff --git a/app/components/EonDetail/Styles.css b/app/components/EonDetail/Styles.scss similarity index 59% rename from app/components/EonDetail/Styles.css rename to app/components/EonDetail/Styles.scss index 7ac617b..19c2b57 100644 --- a/app/components/EonDetail/Styles.css +++ b/app/components/EonDetail/Styles.scss @@ -1,5 +1,7 @@ .eon_bar { position:relative; + margin-top:40px; + margin-bottom:30px; } .loading_overlay { position:absolute; @@ -12,8 +14,8 @@ position:absolute; top:50%; left:50%; - height:75px; - width:75px; + height:85px; + width:85px; transform:translate(-50%,-50%); /* width:100%; @@ -24,32 +26,59 @@ .add_field { border:0; } +.title,.subtext,.subsubtext { + text-align:center; + margin: 0; +} .title { font-weight:400; - text-align:center; } .subtext { font-weight:200; - text-align:center; } .disconnect_button { margin-top:10px; margin-bottom:10px; + position:absolute; + top:0; + left:0; + width:200px; } .subsubtext { font-weight:200; - text-align:center; font-weight:200; color:#555; } +.connection { + background-color:rgba(#FFF,0.2); + padding:10px; + border-radius:100px; + width:50%; + margin:0 auto; + + span { + display:block; + text-align:center; + } + + .connection_message { + font-size:18px; + font-weight:200; + line-height:20px; + } + .connection_label { + font-size:10px; + line-height:15px; + } +} .state_list { display:table; width:100%; } .state_spinner { - height: 20px; - width: 20px; + height: 100%; + width: 100%; } .state_spinner img { width:100%; @@ -58,6 +87,12 @@ .state_item { display:table-row; } +.state_loading_icon_wrap { + width: 16px; + height: 16px; + position: relative; + display: block; +} .state_label,.state_status { display:table-cell; @@ -74,6 +109,6 @@ .state_status { /* color:#28a745; */ } -.state_status.started { +.state_status_started { color:#28a745; } \ No newline at end of file diff --git a/app/components/EonDetail/index.js b/app/components/EonDetail/index.js index b9c17ae..29d0072 100644 --- a/app/components/EonDetail/index.js +++ b/app/components/EonDetail/index.js @@ -2,12 +2,15 @@ import React, { Component } from 'react'; import { Link } from 'react-router-dom'; const app = require('electron').remote.app import routes from '../../constants/routes.json'; -import styles from './Styles.css'; +import styles from './Styles.scss'; import PropTypes from 'prop-types'; import processInfo from '../../constants/processes.json'; +import thermalInfo from '../../constants/thermal.json'; +import vehicleConnectionStatuses from '../../constants/vehicle_connection_statuses.json'; import Layout from '../Layout'; import LoadingIndicator from '../LoadingIndicator'; import ConnectedTime from './ConnectedTime'; +import ReactResizeDetector from 'react-resize-detector'; const propTypes = { install: PropTypes.func, @@ -28,11 +31,35 @@ const propTypes = { logmessaged: PropTypes.string, controlsd: PropTypes.string, gpsd: PropTypes.string, - vehicleConnection: PropTypes.string + vehicleConnection: PropTypes.string, + logMonoTime: PropTypes.string, + thermal: PropTypes.string, + cpu0: PropTypes.string, + cpu1: PropTypes.string, + cpu2: PropTypes.string, + cpu3: PropTypes.string, + mem: PropTypes.string, + gpu: PropTypes.string, + bat: PropTypes.string, + freeSpace: PropTypes.string, + batteryPercent: PropTypes.string, + batteryStatus: PropTypes.string, + fanSpeed: PropTypes.string, + started: PropTypes.string, + usbOnline: PropTypes.string, + startedTs: PropTypes.string, + thermalStatus: PropTypes.string, + batteryCurrent: PropTypes.string, + batteryVoltage: PropTypes.string }; class EonDetail extends Component { - + constructor(props) { + super(props); + this.state = { + processesAndThermalsHeight: 0 + } + } componentDidMount() { if (this.props.eon && this.props.pipeTmux) { this.props.pipeTmux(); @@ -41,7 +68,7 @@ class EonDetail extends Component { this.tmuxTimeout = setTimeout(() => { if (!this.props.tmuxAttached) { console.warn("Could not connect to tmux..."); - this.props.history.push(routes.EON_DETAIL); + this.props.history.push(routes.EON_LIST); } }, 3000); @@ -56,12 +83,45 @@ class EonDetail extends Component { // console.warn(this); this.props.install(); } + onResize = (width,height) => { + console.log("width:",width); + console.log("height:",height); + let newHeight = height-400; + console.log("thermalsHeight:",newHeight); + this.setState({ + processesAndThermalsHeight: newHeight + }); + } render() { - const processKeys = Object.keys(processInfo); + const vehicleConnection = vehicleConnectionStatuses[this.props.vehicleConnection] || { + "label": "Checking vehicle status..." + }; + const processKeys = Object.keys(processInfo).sort(); + const thermalKeys = Object.keys(thermalInfo).sort(); if (!this.props.tmuxAttached) { return ; } + // THERMAL ITEMS + const thermals = thermalKeys.map((key) => { + let thermalDetails = thermalInfo[key]; + let thermalStatus = this.props[key]; + let thermalImg = thermalInfo['iconImg']; + let thermalIcon = thermalInfo['iconClassName']; + return ( +
+ {thermalDetails.label} + + {!thermalStatus && + + + + } + {thermalStatus} + +
+ ) + }); // PROCESS ITEMS const processes = processKeys.map((key) => { let processDetails = processInfo[key]; @@ -75,7 +135,9 @@ class EonDetail extends Component { } {(processStatus !== 'started') && - + + + } @@ -86,32 +148,44 @@ class EonDetail extends Component {
{this.props.eon && -
- -

- Connected to EON -

-
- {this.props.eon.ip} -
-
- {this.props.eon.mac} - +
+
+
+ +

+ Connected to EON +

+
+ {this.props.eon.ip} +
+
+ {this.props.eon.mac} +
+
+ {vehicleConnection.label} +
+ + Disconnect + +
- - Disconnect -
} -
-
- Vehicle Connection - {this.props.vehicleConnection} +
+
+
+ {processes} +
+
+
+
+ {thermals} +
- {processes}
+ ); } diff --git a/app/components/Layout/Styles.css b/app/components/Layout/Styles.scss similarity index 90% rename from app/components/Layout/Styles.css rename to app/components/Layout/Styles.scss index 13d133b..6d95e51 100644 --- a/app/components/Layout/Styles.css +++ b/app/components/Layout/Styles.scss @@ -1,6 +1,7 @@ .container { position: relative; width:100%; + height:100%; /* top: 0; left: 0; height:100%; */ @@ -9,8 +10,8 @@ .app_wrapper { padding-top:0; + } - .header { display:flex; position:relative; @@ -20,12 +21,13 @@ .header .brand { flex: 0 0 50%; - padding: 30px 0 19px 0; + padding: 60px 0 19px 0; margin: 0 auto; + transform:translateX(-6px); text-align: center; } .header .brand svg { - transform: scale(1.2); + transform: scale(1.4); } .header .eon_status { flex: 0 0 50%; diff --git a/app/components/Layout/index.js b/app/components/Layout/index.js index 1f8d628..6b26108 100644 --- a/app/components/Layout/index.js +++ b/app/components/Layout/index.js @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; -import Logo from "./images/logo.svg"; -import styles from './Styles.css'; +import Logo from "../../images/logo.svg"; +import styles from './Styles.scss'; import * as eonListActions from '../../actions/eon_list_actions'; import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; @@ -18,11 +18,13 @@ class Layout extends React.PureComponent { render() { const { backBtn, hideLogo, selectedEon } = this.props; return ( -
+
+ {!hideLogo &&
- {!hideLogo && } +
+ }
{this.props.children} diff --git a/app/components/LoadingIndicator/Circle.js b/app/components/LoadingIndicator/Circle.js deleted file mode 100644 index 6f6a3d4..0000000 --- a/app/components/LoadingIndicator/Circle.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import spinnerImage from './images/img_spinner_track.png'; -import styles from './Styles.css'; -const Circle = () => ( - -); - -export default Circle; diff --git a/app/components/LoadingIndicator/IndicatorIcon.js b/app/components/LoadingIndicator/IndicatorIcon.js new file mode 100644 index 0000000..610796c --- /dev/null +++ b/app/components/LoadingIndicator/IndicatorIcon.js @@ -0,0 +1,14 @@ +import React, { Component } from 'react'; +import spinnerImage from '../../images/img_spinner_track@0.2x.png'; +import styles from './Styles.scss'; +class IndicatorIcon extends Component { + render() { + if (this.props.icon) { + return ; + } else { + return ; + } + } +} + +export default IndicatorIcon; diff --git a/app/components/LoadingIndicator/Styles.css b/app/components/LoadingIndicator/Styles.scss similarity index 88% rename from app/components/LoadingIndicator/Styles.css rename to app/components/LoadingIndicator/Styles.scss index 21abe72..1acd27b 100644 --- a/app/components/LoadingIndicator/Styles.css +++ b/app/components/LoadingIndicator/Styles.scss @@ -18,14 +18,16 @@ /* margin:25px auto; */ } .circle { - width: 75px; - height: 75px; - position: relative; + width: 100%; + height: 100%; + position: absolute; z-index: 10001; + top:0; + left:0; display: block; margin: 0 auto; background-size: 100% 100%; background-position: center center; background-repeat: no-repeat; animation: spinner 0.8s infinite linear; -} \ No newline at end of file +} diff --git a/app/components/LoadingIndicator/images/img_spinner_track.png b/app/components/LoadingIndicator/images/img_spinner_track.png deleted file mode 100644 index 931c17e8367cefbfa3ba34e65fb5ba59a777b61d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41523 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 K|KhNPP8kxNoLo*=lCrFwa3mSzS1(7-C>N}Fz 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

_ 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 - +

) } } diff --git a/app/constants/thermal.json b/app/constants/thermal.json new file mode 100644 index 0000000..678551d --- /dev/null +++ b/app/constants/thermal.json @@ -0,0 +1,110 @@ +{ + "logMonoTime": { + "label": "Log Mono Time", + "description": "Stat for logMonoTime", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "cpu0": { + "label": "CPU #1", + "description": "Stat for cpu1", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "cpu1": { + "label": "CPU #2", + "description": "Stat for cpu2", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "cpu2": { + "label": "CPU #3", + "description": "Stat for cpu3", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "cpu3": { + "label": "CPU #4", + "description": "Stat for cpu4", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "mem": { + "label": "Memory", + "description": "Stat for mem", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "gpu": { + "label": "GPU", + "description": "Stat for gpu", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "bat": { + "label": "Battery", + "description": "Stat for bat", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "freeSpace": { + "label": "Free Space", + "description": "Stat for freeSpace", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "batteryPercent": { + "label": "Battery %", + "description": "Stat for batteryPercent", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "batteryStatus": { + "label": "Battery Status", + "description": "Stat for batteryStatus", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "fanSpeed": { + "label": "Fan Speed", + "description": "Stat for fanSpeed", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "started": { + "label": "Started", + "description": "Stat for started", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "usbOnline": { + "label": "USB Online", + "description": "Stat for usbOnline", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "startedTs": { + "label": "Started TS", + "description": "Stat for startedTs", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "thermalStatus": { + "label": "Thermal Status", + "description": "Stat for thermalStatus", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "batteryCurrent": { + "label": "Battery Current", + "description": "Stat for batteryCurrent", + "iconImg": "", + "iconClassName": "fa fa-info" + }, + "batteryVoltage": { + "label": "Battery Voltage", + "description": "Stat for batteryVoltage", + "iconImg": "", + "iconClassName": "fa fa-info" + } +} \ No newline at end of file diff --git a/app/constants/tmux_regex.js b/app/constants/tmux_regex.js index c9ff901..6e9bca5 100644 --- a/app/constants/tmux_regex.js +++ b/app/constants/tmux_regex.js @@ -1,2 +1,3 @@ -export const PROCESS = /running\ ([A-Za-z]+)\ \/gmi; -export const VEHICLE_CONNECTION = /(waiting for board\.\.\.|waiting for fingerprint\.\.\.)/gmi; \ No newline at end of file +export const PROCESS = /running\ ([A-Za-z]+)\ \/gi; +export const VEHICLE_CONNECTION = /(waiting for board\.\.\.|waiting for fingerprint\.\.\.)/gi; +export const THERMAL = /(logMonoTime|thermal|cpu0|batteryStatus|cpu1|cpu2|cpu3|mem|gpu|bat|freeSpace|batteryPercent|batteryStatus|fanSpeed|started|usbOnline|startedTs|thermalStatus|batteryCurrent|batteryVoltage)\s\=\s([a-z0-9A-Z\"\.]+)/gmi \ No newline at end of file diff --git a/app/constants/vehicle_connection_statuses.json b/app/constants/vehicle_connection_statuses.json index ad15471..767d1f6 100644 --- a/app/constants/vehicle_connection_statuses.json +++ b/app/constants/vehicle_connection_statuses.json @@ -1,3 +1,6 @@ -[ - "waiting for board..." -] \ No newline at end of file +{ + "waiting for board...": { + "label": "Vehicle not connected.", + "description": "Connect to panda for vehicle functions." + } +} \ No newline at end of file diff --git a/app/containers/EonDetailPage.js b/app/containers/EonDetailPage.js index be0762f..da4f638 100644 --- a/app/containers/EonDetailPage.js +++ b/app/containers/EonDetailPage.js @@ -23,7 +23,26 @@ function mapStateToProps(state) { logmessaged: state.eonDetail.logmessaged, controlsd: state.eonDetail.controlsd, gpsd: state.eonDetail.gpsd, - vehicleConnection: state.eonDetail.vehicleConnection + vehicleConnection: state.eonDetail.vehicleConnection, + logMonoTime: state.eonDetail.logMonoTime, + thermal: state.eonDetail.thermal, + cpu0: state.eonDetail.cpu0, + cpu1: state.eonDetail.cpu1, + cpu2: state.eonDetail.cpu2, + cpu3: state.eonDetail.cpu3, + mem: state.eonDetail.mem, + gpu: state.eonDetail.gpu, + bat: state.eonDetail.bat, + freeSpace: state.eonDetail.freeSpace, + batteryPercent: state.eonDetail.batteryPercent, + batteryStatus: state.eonDetail.batteryStatus, + fanSpeed: state.eonDetail.fanSpeed, + started: state.eonDetail.started, + usbOnline: state.eonDetail.usbOnline, + startedTs: state.eonDetail.startedTs, + thermalStatus: state.eonDetail.thermalStatus, + batteryCurrent: state.eonDetail.batteryCurrent, + batteryVoltage: state.eonDetail.batteryVoltage }; } diff --git a/app/images/img_spinner_track.png b/app/images/img_spinner_track.png new file mode 100644 index 0000000000000000000000000000000000000000..84cbbe05afadcc8774fe3a0ae6fc6312d352752c GIT binary patch literal 52483 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�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\AYcSmHeh# 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 literal 0 HcmV?d00001 diff --git a/app/images/img_spinner_track@0.2x.png b/app/images/img_spinner_track@0.2x.png new file mode 100644 index 0000000000000000000000000000000000000000..962652c082171fee36b0097ecba12b04db6868c5 GIT binary patch literal 7036 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 anSTIlT(t=tEs8n-0000{T>`-^ytm)q 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 dY2gvNzTh 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 C`1PLv literal 0 HcmV?d00001 diff --git a/app/images/img_spinner_track@0.75x.png b/app/images/img_spinner_track@0.75x.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa667ebbbe72c21ea018e776767332fb0518e5e GIT binary patch literal 42423 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 literal 0 HcmV?d00001 diff --git a/app/components/Layout/images/logo.svg b/app/images/logo.svg similarity index 100% rename from app/components/Layout/images/logo.svg rename to app/images/logo.svg diff --git a/app/main.dev.js b/app/main.dev.js index a8daf77..daf74c5 100644 --- a/app/main.dev.js +++ b/app/main.dev.js @@ -54,7 +54,7 @@ app.on('window-all-closed', () => { app.on('ready', async () => { if (!settings.get("windowBounds")) { - settings.set("windowBounds", { width: 800, height: 600 }) + settings.set("windowBounds", { width: 800, height: 800 }) } console.log("Settings are stored in:\n" + settings.file()); let { width, height } = settings.get('windowBounds'); @@ -71,8 +71,11 @@ app.on('ready', async () => { mainWindow = new BrowserWindow({ // show: false, titleBarStyle: 'hiddenInset', + backgroundColor: "#000000", width, - height + height, + minHeight: 800, + minWidth: 800 }); mainWindow.loadURL(`file://${__dirname}/app.html`); diff --git a/app/package.json b/app/package.json index abdb0d9..44e6438 100644 --- a/app/package.json +++ b/app/package.json @@ -1,7 +1,7 @@ { "name": "Workbench", "productName": "Workbench", - "version": "0.0.3", + "version": "0.0.4", "description": "The Openpilot Workbench is to help people fix problems with EON, Openpilot, etc.", "main": "./main.prod.js", "author": { diff --git a/app/reducers/eon_detail_reducer.js b/app/reducers/eon_detail_reducer.js index 37a3c57..f2c95fb 100644 --- a/app/reducers/eon_detail_reducer.js +++ b/app/reducers/eon_detail_reducer.js @@ -22,7 +22,26 @@ const initialState = { visiond: null, tmuxStartedAt: null, gpsd: null, - vehicleConnection: null + vehicleConnection: null, + logMonoTime: null, + thermal: null, + cpu0: null, + cpu1: null, + cpu2: null, + cpu3: null, + mem: null, + gpu: null, + bat: null, + freeSpace: null, + batteryPercent: null, + batteryStatus: null, + fanSpeed: null, + started: null, + usbOnline: null, + startedTs: null, + thermalStatus: null, + batteryCurrent: null, + batteryVoltage: null }; export default function eonDetailReducer(state = initialState, action) { @@ -68,7 +87,26 @@ export default function eonDetailReducer(state = initialState, action) { visiond: null, gpsd: null, vehicleConnection: null, - tmuxStartedAt: null + tmuxStartedAt: null, + logMonoTime: null, + thermal: null, + cpu0: null, + cpu1: null, + cpu2: null, + cpu3: null, + mem: null, + gpu: null, + bat: null, + freeSpace: null, + batteryPercent: null, + batteryStatus: null, + fanSpeed: null, + started: null, + usbOnline: null, + startedTs: null, + thermalStatus: null, + batteryCurrent: null, + batteryVoltage: null } case types.FETCH_PID: diff --git a/package.json b/package.json index bae9e4e..5e2d72f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "openpilot-workbench", "productName": "Workbench", - "version": "0.0.3", + "version": "0.0.4", "description": "The Openpilot Workbench is to help people fix problems with EON, Openpilot, etc.", "scripts": { "build": "concurrently \"yarn build-main\" \"yarn build-renderer\"", @@ -28,7 +28,8 @@ "test": "cross-env NODE_ENV=test BABEL_DISABLE_CACHE=1 node --trace-warnings -r babel-register ./internals/scripts/RunTests.js", "test-all": "yarn lint && yarn build && yarn test && yarn test-e2e", "test-e2e": "cross-env NODE_ENV=test BABEL_DISABLE_CACHE=1 node --trace-warnings -r babel-register ./internals/scripts/RunTests.js e2e", - "test-watch": "yarn test --watch" + "test-watch": "yarn test --watch", + "release": "build" }, "browserslist": "electron 1.6", "lint-staged": { @@ -45,6 +46,7 @@ "build": { "productName": "Workbench", "appId": "ai.opc.workbench", + "artifactName": "Workbench-v${version}.${os}.${ext}", "files": [ "dist/", "node_modules/", @@ -217,6 +219,7 @@ "react-hot-loader": "^4.3.4", "react-moment": "^0.7.9", "react-redux": "^5.0.7", + "react-resize-detector": "^3.1.2", "react-router": "^4.3.1", "react-router-dom": "^4.3.1", "react-router-redux": "^5.0.0-alpha.6", diff --git a/test.js b/test.js new file mode 100644 index 0000000..dd25e97 --- /dev/null +++ b/test.js @@ -0,0 +1,33 @@ +const regex = /(logMonoTime|thermal|cpu0|batteryStatus|cpu1|cpu2|cpu3|mem|gpu|bat|freeSpace|batteryPercent|batteryStatus|fanSpeed|started|usbOnline|startedTs|thermalStatus|batteryCurrent|batteryVoltage)\s\=\s([a-z0-9A-Z\"\.]+)/gmi; +const str = `( logMonoTime = 130182741042, + thermal = ( + cpu0 = 301, + cpu1 = 297, + cpu2 = 294, + cpu3 = 301, + mem = 301, + gpu = 301, + bat = 28000, + freeSpace = 0.97125262, + batteryPercent = 87, + batteryStatus = "Discharging", + fanSpeed = 0, + started = false, + usbOnline = false, + startedTs = 0, + thermalStatus = green, + batteryCurrent = 171000, + batteryVoltage = 4180000 ) )`; +let m; + +while ((m = regex.exec(str)) !== null) { + // This is necessary to avoid infinite loops with zero-width matches + if (m.index === regex.lastIndex) { + regex.lastIndex++; + } + + // The result can be accessed through the `m`-variable. + m.forEach((match, groupIndex) => { + console.log(`Found match, group ${groupIndex}: ${match}`); + }); +} diff --git a/yarn.lock b/yarn.lock index 8374171..345c5e8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6162,10 +6162,18 @@ lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" +lodash.isarray@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-4.0.0.tgz#2aca496b28c4ca6d726715313590c02e6ea34403" + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -6186,6 +6194,10 @@ lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -8113,6 +8125,17 @@ react-redux@^5.0.7: loose-envify "^1.1.0" prop-types "^15.6.0" +react-resize-detector@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-3.1.2.tgz#b0b30b45a168d5a81ed24ada3a6d5e8d2e49e306" + dependencies: + lodash.debounce "^4.0.8" + lodash.isarray "^4.0.0" + lodash.isfunction "^3.0.9" + lodash.throttle "^4.1.1" + prop-types "^15.6.1" + resize-observer-polyfill "^1.5.0" + react-router-dom@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" @@ -8522,6 +8545,10 @@ requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" +resize-observer-polyfill@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz#660ff1d9712a2382baa2cad450a4716209f9ca69" + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"