UNPKG

@robotical/sensors-dashboard

Version:

A dashboard tool for depicting Marty data by Robotical

136 lines (131 loc) 5.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getAllAddonsList; require("core-js/modules/web.dom-collections.iterator.js"); require("core-js/modules/es.array.includes.js"); require("core-js/modules/es.string.includes.js"); var _Addon = _interopRequireDefault(require("../models/addons/Addon")); var _AddonSub = _interopRequireDefault(require("../models/addons/AddonSub")); var _addonNames = require("./types/addon-names"); var _excludedAddons = _interopRequireDefault(require("./constants/excluded-addons")); var _servoNames = _interopRequireDefault(require("./constants/servo-names")); var _renameValueLabel = _interopRequireDefault(require("./rename-value-label")); var _whoAmINames = _interopRequireDefault(require("./constants/whoAmI-names")); var _raft = require("@robotical/webapp-types/dist-types/src/types/raft"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /* Marty */ function getAddonsListMarty(addons) { const addonsNormalised = []; for (const addon of addons) { const whoAmI = (0, _whoAmINames.default)(addon.whoAmI); if (_excludedAddons.default.includes(whoAmI)) continue; const subAddons = []; for (const valKey in addon.vals) { // @ts-ignore const value = addon.vals[valKey]; // if (typeof value === "number") { const addonInputName = (0, _renameValueLabel.default)(valKey, addon.name); subAddons.push(new _AddonSub.default(addonInputName, value)); // } } addonsNormalised.push(new _Addon.default(whoAmI, subAddons)); } return addonsNormalised; } function getServosListMarty(servos) { const smartServos = servos.smartServos; const posAddonSub = []; const currAddonSub = []; const addonsNormalised = []; for (const servo of smartServos) { posAddonSub.push(new _AddonSub.default(_servoNames.default[servo.id], servo.pos)); currAddonSub.push(new _AddonSub.default(_servoNames.default[servo.id], servo.current)); } addonsNormalised.push(new _Addon.default(_addonNames.MOTOR_POSITION_NAME, posAddonSub)); addonsNormalised.push(new _Addon.default(_addonNames.MOTOR_CURRENT_NAME, currAddonSub)); return addonsNormalised; } function getAccelListMarty(accel) { const addonSubs = [new _AddonSub.default(_addonNames.ACCELEROMETER_NAME_X, accel.x), new _AddonSub.default(_addonNames.ACCELEROMETER_NAME_Y, accel.y), new _AddonSub.default(_addonNames.ACCELEROMETER_NAME_Z, accel.z)]; return [new _Addon.default(_addonNames.ACCELEROMETER_NAME, addonSubs)]; } function getAllAddonsListMarty(marty) { const stateInfo = marty.raftStateInfo; const addons = stateInfo.addOnInfo.addons; const servos = stateInfo.smartServos; const accel = stateInfo.imuData.accel; let addons_ = []; let servos_ = []; let accel_ = []; // let magneto_: Addon[] = []; try { addons_ = getAddonsListMarty(addons); } catch (e) { console.log(e); } try { servos_ = getServosListMarty(servos); } catch (e) { console.log(e); } try { accel_ = getAccelListMarty(accel); } catch (e) { console.log(e); } // try { // magneto_ = getMagnetoList(magneto); // } catch (e) { // console.log(e); // } return addons_.concat(servos_).concat(accel_); } /* Cog */ function getAllAddonsListCog(cog) { if (!cog.raftStateInfo) { return []; } const light = cog.raftStateInfo.light; const accel = cog.raftStateInfo.accelerometer; let light_ = []; let accel_ = []; try { light_ = getLightListCog(light); } catch (e) { console.log(e); } try { accel_ = getAccelListCog(accel); } catch (e) { console.log(e); } try { const cogState = cog.publishedDataAnalyser.cogState; const cogStateList = getCogStateList(cogState); return light_.concat(accel_).concat(cogStateList); } catch (e) { console.log(e); } return light_.concat(accel_); } function getCogStateList(cogState) { const addonSubs = [new _AddonSub.default(_addonNames.COG_TILT_NAME, cogState.tilt), new _AddonSub.default(_addonNames.COG_MOVEMENT_TYPE_NAME, cogState.movementType), new _AddonSub.default(_addonNames.COG_BUTTON_CLICK_NAME, cogState.buttonClick), new _AddonSub.default(_addonNames.COG_OBJECT_SENSE_NAME, cogState.objectSense), new _AddonSub.default(_addonNames.COG_LIGHT_SENSE_NAME, cogState.lightSense)]; return [new _Addon.default(_addonNames.COG_STATE_NAME, addonSubs)]; } function getAccelListCog(accel) { const addonSubs = [new _AddonSub.default(_addonNames.ACCELEROMETER_NAME_X, accel.ax), new _AddonSub.default(_addonNames.ACCELEROMETER_NAME_Y, accel.ay), new _AddonSub.default(_addonNames.ACCELEROMETER_NAME_Z, accel.az)]; return [new _Addon.default(_addonNames.ACCELEROMETER_NAME, addonSubs)]; } function getLightListCog(light) { const addonSubs = [new _AddonSub.default(_addonNames.COG_LIGHT_AMB, light.amb0), new _AddonSub.default(_addonNames.COG_IR_LEFT, light.ir0), new _AddonSub.default(_addonNames.COG_IR_RIGHT, light.ir1), new _AddonSub.default(_addonNames.COG_IR_BUTTON, light.ir2)]; return [new _Addon.default(_addonNames.COG_LIGHT_NAME, addonSubs)]; } function getAllAddonsList(raft) { if (raft.type === _raft.RaftTypeE.COG) { return getAllAddonsListCog(raft); } else { return getAllAddonsListMarty(raft); } }