Compare commits

...

9 Commits

Author SHA1 Message Date
d39f8e758b get static folder from frank-dev 2020-12-08 13:28:09 +01:00
487dabbbf6 adds updateMap function to map.js 2020-12-08 12:39:59 +01:00
15fa35f0fa add .gitignore 2020-11-28 12:21:38 +01:00
3c1800d9a5 add gitignore 2020-11-28 12:20:00 +01:00
2e65f3d38b merge develop 2020-11-26 11:10:26 +01:00
60d0076d98 workspace.xml 2020-11-26 10:51:31 +01:00
7f7af3ebac try stuff with map 2020-11-26 10:46:00 +01:00
fc1998976f fix page not loading map and chart 2020-11-25 14:41:46 +01:00
f485846d75 add map to index.html 2020-11-25 12:19:14 +01:00
19 changed files with 2575 additions and 509 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.idea/

8
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/../../../../../../:\Users\Frank\Desktop\gyrogpsc\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

6
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

2
.idea/vcs.xml generated
View File

@ -2,6 +2,6 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library" vcs="Git" />
<mapping directory="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library" vcs="" />
</component>
</project>

364
.idea/workspace.xml generated
View File

@ -1,378 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BranchesTreeState">
<expand>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:sensor" type="e8cecc67:BranchNodeDescriptor" />
</path>
</expand>
<select>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:sensor" type="e8cecc67:BranchNodeDescriptor" />
<item name="BRANCH:sensor/relative" type="e8cecc67:BranchNodeDescriptor" />
</path>
</select>
</component>
<component name="ChangeListManager">
<list default="true" id="99c957e4-aa42-481d-843d-3fbc901e0f79" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/cmd/serial_only/serial_only.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/serial_ubx/serial.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ublox/decode.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ublox/messages.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ublox/strings_navpvt.go" afterDir="false" />
<list default="true" id="70ae6a46-b58b-4192-b69d-37293bd6e2cf" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/go.mod" beforeDir="false" afterPath="$PROJECT_DIR$/go.mod" afterDir="false" />
<change beforePath="$PROJECT_DIR$/go.sum" beforeDir="false" afterPath="$PROJECT_DIR$/go.sum" afterDir="false" />
<change beforePath="$PROJECT_DIR$/hyperimu.json" beforeDir="false" afterPath="$PROJECT_DIR$/hyperimu.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/.gitattributes" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/CONTRIBUTING.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/ISSUE_TEMPLATE.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/LICENSE.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/README.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/Theory.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example1_calibrateSensor/Example1_calibrateSensor.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example2_getIMUData/Example2_getIMUData.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example3_getSensorStatus/Example3_getSensorStatus.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example4_vehicleDynamics/Example4_vehicleDynamics.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example10_AltitudeMSL/Example10_AltitudeMSL.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example11_ResetModule/Example1_FactoryDefaultviaI2C/Example1_FactoryDefaultviaI2C.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example11_ResetModule/Example2_FactoryDefaultsviaSerial/Example2_FactoryDefaultsviaSerial.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example12_UseUart/Example12_UseUart.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example13_PVT/Example1_AutoPVT/Example1_AutoPVT.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example13_PVT/Example2_AutoPVT_ExplicitUpdate/Example2_AutoPVT_ExplicitUpdate.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example13_PVT/Example3_AssumeAutoPVTviaUart/Example3_AssumeAutoPVTviaUart.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example14_DebugOutput/Example14_DebugOutput.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example15_GetDateTime/Example15_GetDateTime.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example16_Nanosecond_MaxOutput/Example16_Nanosecond_MaxOutput.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example16_PartialSecond_MaxOutput/Example16_PartialSecond_MaxOutput.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example17_Geofence/Example17_Geofence.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example18_PowerSaveMode/Example18_PowerSaveMode.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example19_DynamicModel/Example19_DynamicModel.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example1_BasicNMEARead/Example1_BasicNMEARead.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example20_SendCustomCommand/Example20_SendCustomCommand.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example21_ModuleInfo/Example21_ModuleInfo.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example22_PowerOff/Example22_PowerOff.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example2_NMEAParsing/Example2_NMEAParsing.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example3_GetPosition/Example3_GetPosition.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example4_FixType/Example4_FixType.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example5_SpeedHeadingPrecision/Example5_SpeedHeadingPrecision.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example6_EnableNMEASentences/Example6_EnableNMEASentences.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example7_OutputRate/Example7_OutputRate.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example8_GetProtocolVersion/Example8_GetProtocolVersion.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example9_ChangeI2CAddress/Example9_ChangeI2CAddress.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/NEO-M8P-2/Example1_EnableRTCM/Example1_EnableRTCM.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/NEO-M8P-2/Example2_StartRTCMBase/Example2_StartRTCMBase.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/NEO-M8P-2/Example3_BaseWithLCD/Example3_BaseWithLCD.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Series_6_7/Example1_GetPositionAndTime_Series_6_7/Example1_GetPositionAndTime_Series_6_7.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Series_6_7/Example1_GetPositionAndTime_Series_6_7/SparkFun_Ublox_Arduino_Library_Series_6_7.cpp" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Series_6_7/Example1_GetPositionAndTime_Series_6_7/SparkFun_Ublox_Arduino_Library_Series_6_7.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example10_GetHighPrecisionPositionAndAccuracy/Example10_GetHighPrecisionPositionAndAccuracy.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example11_GetHighPrecisionPositionUsingDouble/Example11_GetHighPrecisionPositionUsingDouble.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example11_autoHPPOSLLH/Example11_autoHPPOSLLH.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example11_setStaticPosition/Example11_setStaticPosition.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example1_GetPositionAccuracy/Example1_GetPositionAccuracy.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example2_ValConfigurationMethod/Example2_ValConfigurationMethod.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example3_StartRTCMBase/Example3_StartRTCMBase.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example4_BaseWithLCD/Example4_BaseWithLCD.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example5_RelativePositioningInformation/Example5_RelativePositioningInformation.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example6_GetVal/Example6_GetVal.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example7_SetVal/Example7_SetVal.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example8_GetSetPortSettings/Example8_GetSetPortSettings.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example9_multiSetVal/Example9_multiSetVal.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/keywords.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/library.properties" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/src/SparkFun_Ublox_Arduino_Library.cpp" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/src/SparkFun_Ublox_Arduino_Library.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/src/u-blox_config_keys.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/serial.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/server.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/server/server.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmd/server/server.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/server/server.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmd/server_only/server_only.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/server_only/server_only.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/net/net.go" beforeDir="false" afterPath="$PROJECT_DIR$/net/net.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/static/scripts/map.js" beforeDir="false" afterPath="$PROJECT_DIR$/static/scripts/map.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/static/scripts/websocket.js" beforeDir="false" afterPath="$PROJECT_DIR$/static/scripts/websocket.js" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Go Application" />
<option value="Go File" />
</list>
</option>
</component>
<component name="GOROOT" path="/usr/local/Cellar/go/1.15.2/libexec" />
<component name="GOROOT" path="C:\Go" />
<component name="Git.Settings">
<option name="RECENT_BRANCH_BY_REPOSITORY">
<map>
<entry key="$PROJECT_DIR$" value="master" />
</map>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="1jq0r5aMzeueG8kqyThltUQyqCa" />
<component name="GoLibraries">
<option name="indexEntireGoPath" value="false" />
</component>
<component name="ProjectId" id="1l4NBsO3Y7UF6i7T6TL4EsARWQm" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="DefaultGoTemplateProperty" value="Go File" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="configurable.Global.GOPATH.is.expanded" value="true" />
<property name="configurable.Module.GOPATH.is.expanded" value="true" />
<property name="configurable.Project.GOPATH.is.expanded" value="true" />
<property name="aspect.path.notification.shown" value="true" />
<property name="go.import.settings.migrated" value="true" />
<property name="go.sdk.automatically.set" value="true" />
<property name="go.tried.to.enable.integration.vgo.integrator" value="true" />
<property name="last_opened_file_path" value="$USER_HOME$" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/cmd/server" />
<recent name="$PROJECT_DIR$/serial_ubx" />
<recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/ublox" />
<recent name="$PROJECT_DIR$/serial" />
</key>
</component>
<component name="RunManager" selected="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/serial_only">
<configuration name="go build git.timovolkmann.de/gyrogpsc/cmd/serial_only" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<component name="RunManager" selected="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/server">
<configuration name="go build git.timovolkmann.de/gyrogpsc/cmd/server" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
<filePath value="$PROJECT_DIR$/cmd/serial_only/serial_only.go" />
<package value="git.timovolkmann.de/gyrogpsc/cmd/serial_only" />
<filePath value="$PROJECT_DIR$/cmd/server/server.go" />
<package value="git.timovolkmann.de/gyrogpsc/cmd/server" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build git.timovolkmann.de/gyrogpsc/serial" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
<filePath value="$PROJECT_DIR$/serial/serial.go" />
<package value="git.timovolkmann.de/gyrogpsc/serial" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build server.go" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="FILE" />
<filePath value="$PROJECT_DIR$/server.go" />
<directory value="$PROJECT_DIR$" />
<configuration name="index.html" type="JavascriptDebugType" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/gyrogpsc/index.html" useBuiltInWebServerPort="true">
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/serial_only" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/serial" />
<item itemvalue="Go Build.go build server.go" />
<item itemvalue="Go Build.go build server.go" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/serial" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/server" />
<item itemvalue="JavaScript Debug.index.html" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="99c957e4-aa42-481d-843d-3fbc901e0f79" name="Default Changelist" comment="" />
<created>1604516509922</created>
<changelist id="70ae6a46-b58b-4192-b69d-37293bd6e2cf" name="Default Changelist" comment="" />
<created>1606852272847</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1604516509922</updated>
<updated>1606852272847</updated>
<workItem from="1606852274006" duration="9755000" />
<workItem from="1606894728295" duration="599000" />
<workItem from="1607244448990" duration="217000" />
<workItem from="1607244781024" duration="2248000" />
<workItem from="1607419204431" duration="595000" />
</task>
<task id="LOCAL-00001" summary="initial working version">
<created>1604747925521</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1604747925521</updated>
</task>
<task id="LOCAL-00002" summary="added dispatcher.go">
<created>1604747940729</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1604747940729</updated>
</task>
<task id="LOCAL-00003" summary="3d orientation visualization html/css">
<created>1604768327573</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1604768327573</updated>
</task>
<task id="LOCAL-00004" summary="switched to relative sensor data (gyroscope)">
<created>1604777752387</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1604777752387</updated>
</task>
<task id="LOCAL-00005" summary="changed orientation">
<created>1605444355479</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1605444355479</updated>
</task>
<option name="localTasksCounter" value="6" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="sensor/relative" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="initial working version" />
<MESSAGE value="added dispatcher.go" />
<MESSAGE value="3d orientation visualization html/css" />
<MESSAGE value="switched to relative sensor data (gyroscope)" />
<MESSAGE value="changed orientation" />
<option name="LAST_COMMIT_MESSAGE" value="changed orientation" />
</component>
<component name="VgoProject">
<integration-enabled>true</integration-enabled>
</component>
<component name="WindowStateProjectService">
<state x="640" y="377" key="#Go_Modules" timestamp="1604584628285">
<screen x="0" y="23" width="1680" height="1027" />
<state x="752" y="451" key="#GOROOT" timestamp="1606385156675">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="640" y="377" key="#Go_Modules/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604584628285" />
<state x="603" y="247" key="#xdebugger.evaluate" timestamp="1604750409547">
<screen x="0" y="23" width="1680" height="1027" />
<state x="752" y="451" key="#GOROOT/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606385156675" />
<state x="640" y="256" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog" timestamp="1607244535893">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="603" y="247" key="#xdebugger.evaluate/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750409547" />
<state x="100" y="123" width="1480" height="827" key="DiffContextDialog" timestamp="1604517986662">
<screen x="0" y="23" width="1680" height="1027" />
<state x="640" y="256" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1607244535893" />
<state width="1877" height="282" key="GridCell.Tab.0.bottom" timestamp="1606865976622">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="100" y="123" width="1480" height="827" key="DiffContextDialog/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604517986662" />
<state x="739" y="405" key="EnvironmentVariablesDialog" timestamp="1604585759907">
<screen x="0" y="23" width="1680" height="1027" />
<state width="1877" height="282" key="GridCell.Tab.0.bottom/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606865976622" />
<state width="1877" height="282" key="GridCell.Tab.0.center" timestamp="1606865976622">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="739" y="405" key="EnvironmentVariablesDialog/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604585759907" />
<state width="1638" height="346" key="GridCell.Tab.-1.bottom" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
<state width="1877" height="282" key="GridCell.Tab.0.center/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606865976622" />
<state width="1877" height="282" key="GridCell.Tab.0.left" timestamp="1606865976622">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.bottom/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1638" height="346" key="GridCell.Tab.-1.center" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
<state width="1877" height="282" key="GridCell.Tab.0.left/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606865976622" />
<state width="1877" height="282" key="GridCell.Tab.0.right" timestamp="1606865976622">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.center/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1638" height="346" key="GridCell.Tab.-1.left" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
<state width="1877" height="282" key="GridCell.Tab.0.right/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606865976622" />
<state x="540" y="263" key="IDE.errors.dialog" timestamp="1606385007112">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.left/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1638" height="346" key="GridCell.Tab.-1.right" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
<state x="540" y="263" key="IDE.errors.dialog/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606385007112" />
<state x="461" y="165" key="SettingsEditor" timestamp="1606563366122">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.right/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1878" height="249" key="GridCell.Tab.0.bottom" timestamp="1606326600270">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042531" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985770" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252890" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018474" />
<state width="1878" height="249" key="GridCell.Tab.0.bottom/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600270" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225921" />
<state width="1878" height="249" key="GridCell.Tab.0.center" timestamp="1606326600270">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.center/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042530" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985769" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252890" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018473" />
<state width="1878" height="249" key="GridCell.Tab.0.center/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600270" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225920" />
<state width="1878" height="249" key="GridCell.Tab.0.left" timestamp="1606326600269">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.left/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042530" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985768" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252889" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018472" />
<state width="1878" height="249" key="GridCell.Tab.0.left/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600269" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225919" />
<state width="1878" height="249" key="GridCell.Tab.0.right" timestamp="1606326600270">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.right/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042531" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985770" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252890" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018473" />
<state width="1878" height="249" key="GridCell.Tab.0.right/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600270" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225920" />
<state width="1638" height="346" key="GridCell.Tab.1.bottom" timestamp="1604750442086">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.bottom/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442086" />
<state width="1638" height="346" key="GridCell.Tab.1.center" timestamp="1604750442085">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.center/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442085" />
<state width="1638" height="346" key="GridCell.Tab.1.left" timestamp="1604750442085">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.left/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442085" />
<state width="1638" height="346" key="GridCell.Tab.1.right" timestamp="1604750442085">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.right/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442085" />
<state x="204" y="155" width="1501" height="766" key="SettingsEditor" timestamp="1605609479939">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state x="179" y="138" width="1501" height="766" key="SettingsEditor/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604757277174" />
<state x="204" y="155" key="SettingsEditor/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1605609479939" />
<state width="840" height="513" key="XDebugger.FullValuePopup" timestamp="1604750505120">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="840" height="513" key="XDebugger.FullValuePopup/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750505120" />
<state x="505" y="250" width="670" height="676" key="search.everywhere.popup" timestamp="1604757918385">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state x="505" y="250" width="670" height="676" key="search.everywhere.popup/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604757918385" />
<state x="596" y="393" key="vcs.readOnlyHandler.ReadOnlyStatusDialog" timestamp="1605566567276">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state x="596" y="393" key="vcs.readOnlyHandler.ReadOnlyStatusDialog/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1605566567276" />
<state x="461" y="165" key="SettingsEditor/0.0.1920.1040/-1440.113.1440.860@0.0.1920.1040" timestamp="1606563366122" />
</component>
</project>

378
.idea/workspace.xml~develop generated Normal file
View File

@ -0,0 +1,378 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BranchesTreeState">
<expand>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:sensor" type="e8cecc67:BranchNodeDescriptor" />
</path>
</expand>
<select>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:sensor" type="e8cecc67:BranchNodeDescriptor" />
<item name="BRANCH:sensor/relative" type="e8cecc67:BranchNodeDescriptor" />
</path>
</select>
</component>
<component name="ChangeListManager">
<list default="true" id="99c957e4-aa42-481d-843d-3fbc901e0f79" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/cmd/serial_only/serial_only.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/serial_ubx/serial.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ublox/decode.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ublox/messages.go" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ublox/strings_navpvt.go" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/go.mod" beforeDir="false" afterPath="$PROJECT_DIR$/go.mod" afterDir="false" />
<change beforePath="$PROJECT_DIR$/go.sum" beforeDir="false" afterPath="$PROJECT_DIR$/go.sum" afterDir="false" />
<change beforePath="$PROJECT_DIR$/hyperimu.json" beforeDir="false" afterPath="$PROJECT_DIR$/hyperimu.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/.gitattributes" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/CONTRIBUTING.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/ISSUE_TEMPLATE.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/LICENSE.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/README.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/Theory.md" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example1_calibrateSensor/Example1_calibrateSensor.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example2_getIMUData/Example2_getIMUData.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example3_getSensorStatus/Example3_getSensorStatus.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Dead Reckoning/Example4_vehicleDynamics/Example4_vehicleDynamics.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example10_AltitudeMSL/Example10_AltitudeMSL.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example11_ResetModule/Example1_FactoryDefaultviaI2C/Example1_FactoryDefaultviaI2C.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example11_ResetModule/Example2_FactoryDefaultsviaSerial/Example2_FactoryDefaultsviaSerial.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example12_UseUart/Example12_UseUart.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example13_PVT/Example1_AutoPVT/Example1_AutoPVT.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example13_PVT/Example2_AutoPVT_ExplicitUpdate/Example2_AutoPVT_ExplicitUpdate.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example13_PVT/Example3_AssumeAutoPVTviaUart/Example3_AssumeAutoPVTviaUart.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example14_DebugOutput/Example14_DebugOutput.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example15_GetDateTime/Example15_GetDateTime.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example16_Nanosecond_MaxOutput/Example16_Nanosecond_MaxOutput.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example16_PartialSecond_MaxOutput/Example16_PartialSecond_MaxOutput.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example17_Geofence/Example17_Geofence.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example18_PowerSaveMode/Example18_PowerSaveMode.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example19_DynamicModel/Example19_DynamicModel.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example1_BasicNMEARead/Example1_BasicNMEARead.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example20_SendCustomCommand/Example20_SendCustomCommand.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example21_ModuleInfo/Example21_ModuleInfo.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example22_PowerOff/Example22_PowerOff.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example2_NMEAParsing/Example2_NMEAParsing.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example3_GetPosition/Example3_GetPosition.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example4_FixType/Example4_FixType.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example5_SpeedHeadingPrecision/Example5_SpeedHeadingPrecision.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example6_EnableNMEASentences/Example6_EnableNMEASentences.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example7_OutputRate/Example7_OutputRate.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example8_GetProtocolVersion/Example8_GetProtocolVersion.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Example9_ChangeI2CAddress/Example9_ChangeI2CAddress.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/NEO-M8P-2/Example1_EnableRTCM/Example1_EnableRTCM.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/NEO-M8P-2/Example2_StartRTCMBase/Example2_StartRTCMBase.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/NEO-M8P-2/Example3_BaseWithLCD/Example3_BaseWithLCD.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Series_6_7/Example1_GetPositionAndTime_Series_6_7/Example1_GetPositionAndTime_Series_6_7.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Series_6_7/Example1_GetPositionAndTime_Series_6_7/SparkFun_Ublox_Arduino_Library_Series_6_7.cpp" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/Series_6_7/Example1_GetPositionAndTime_Series_6_7/SparkFun_Ublox_Arduino_Library_Series_6_7.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example10_GetHighPrecisionPositionAndAccuracy/Example10_GetHighPrecisionPositionAndAccuracy.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example11_GetHighPrecisionPositionUsingDouble/Example11_GetHighPrecisionPositionUsingDouble.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example11_autoHPPOSLLH/Example11_autoHPPOSLLH.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example11_setStaticPosition/Example11_setStaticPosition.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example1_GetPositionAccuracy/Example1_GetPositionAccuracy.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example2_ValConfigurationMethod/Example2_ValConfigurationMethod.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example3_StartRTCMBase/Example3_StartRTCMBase.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example4_BaseWithLCD/Example4_BaseWithLCD.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example5_RelativePositioningInformation/Example5_RelativePositioningInformation.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example6_GetVal/Example6_GetVal.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example7_SetVal/Example7_SetVal.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example8_GetSetPortSettings/Example8_GetSetPortSettings.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/examples/ZED-F9P/Example9_multiSetVal/Example9_multiSetVal.ino" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/keywords.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/library.properties" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/src/SparkFun_Ublox_Arduino_Library.cpp" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/src/SparkFun_Ublox_Arduino_Library.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/SparkFun_Ublox_Arduino_Library/src/u-blox_config_keys.h" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/serial/serial.go" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/server.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/server/server.go" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Go Application" />
<option value="Go File" />
</list>
</option>
</component>
<component name="GOROOT" path="/usr/local/Cellar/go/1.15.2/libexec" />
<component name="Git.Settings">
<option name="RECENT_BRANCH_BY_REPOSITORY">
<map>
<entry key="$PROJECT_DIR$" value="master" />
</map>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="1jq0r5aMzeueG8kqyThltUQyqCa" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="DefaultGoTemplateProperty" value="Go File" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="configurable.Global.GOPATH.is.expanded" value="true" />
<property name="configurable.Module.GOPATH.is.expanded" value="true" />
<property name="configurable.Project.GOPATH.is.expanded" value="true" />
<property name="go.import.settings.migrated" value="true" />
<property name="go.sdk.automatically.set" value="true" />
<property name="go.tried.to.enable.integration.vgo.integrator" value="true" />
<property name="last_opened_file_path" value="$USER_HOME$" />
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/cmd/server" />
<recent name="$PROJECT_DIR$/serial_ubx" />
<recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/ublox" />
<recent name="$PROJECT_DIR$/serial" />
</key>
</component>
<component name="RunManager" selected="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/serial_only">
<configuration name="go build git.timovolkmann.de/gyrogpsc/cmd/serial_only" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
<filePath value="$PROJECT_DIR$/cmd/serial_only/serial_only.go" />
<package value="git.timovolkmann.de/gyrogpsc/cmd/serial_only" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build git.timovolkmann.de/gyrogpsc/serial" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
<filePath value="$PROJECT_DIR$/serial/serial.go" />
<package value="git.timovolkmann.de/gyrogpsc/serial" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<configuration name="go build server.go" type="GoApplicationRunConfiguration" factoryName="Go Application" temporary="true" nameIsGenerated="true">
<module name="gyrogpsc" />
<working_directory value="$PROJECT_DIR$" />
<kind value="FILE" />
<filePath value="$PROJECT_DIR$/server.go" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/cmd/serial_only" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/serial" />
<item itemvalue="Go Build.go build server.go" />
<item itemvalue="Go Build.go build server.go" />
<item itemvalue="Go Build.go build git.timovolkmann.de/gyrogpsc/serial" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="99c957e4-aa42-481d-843d-3fbc901e0f79" name="Default Changelist" comment="" />
<created>1604516509922</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1604516509922</updated>
</task>
<task id="LOCAL-00001" summary="initial working version">
<created>1604747925521</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1604747925521</updated>
</task>
<task id="LOCAL-00002" summary="added dispatcher.go">
<created>1604747940729</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1604747940729</updated>
</task>
<task id="LOCAL-00003" summary="3d orientation visualization html/css">
<created>1604768327573</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1604768327573</updated>
</task>
<task id="LOCAL-00004" summary="switched to relative sensor data (gyroscope)">
<created>1604777752387</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1604777752387</updated>
</task>
<task id="LOCAL-00005" summary="changed orientation">
<created>1605444355479</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1605444355479</updated>
</task>
<option name="localTasksCounter" value="6" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="sensor/relative" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="initial working version" />
<MESSAGE value="added dispatcher.go" />
<MESSAGE value="3d orientation visualization html/css" />
<MESSAGE value="switched to relative sensor data (gyroscope)" />
<MESSAGE value="changed orientation" />
<option name="LAST_COMMIT_MESSAGE" value="changed orientation" />
</component>
<component name="VgoProject">
<integration-enabled>true</integration-enabled>
</component>
<component name="WindowStateProjectService">
<state x="640" y="377" key="#Go_Modules" timestamp="1604584628285">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state x="640" y="377" key="#Go_Modules/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604584628285" />
<state x="603" y="247" key="#xdebugger.evaluate" timestamp="1604750409547">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state x="603" y="247" key="#xdebugger.evaluate/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750409547" />
<state x="100" y="123" width="1480" height="827" key="DiffContextDialog" timestamp="1604517986662">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state x="100" y="123" width="1480" height="827" key="DiffContextDialog/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604517986662" />
<state x="739" y="405" key="EnvironmentVariablesDialog" timestamp="1604585759907">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state x="739" y="405" key="EnvironmentVariablesDialog/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604585759907" />
<state width="1638" height="346" key="GridCell.Tab.-1.bottom" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.bottom/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1638" height="346" key="GridCell.Tab.-1.center" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.center/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1638" height="346" key="GridCell.Tab.-1.left" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.left/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1638" height="346" key="GridCell.Tab.-1.right" timestamp="1604750445987">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.-1.right/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750445987" />
<state width="1878" height="249" key="GridCell.Tab.0.bottom" timestamp="1606326600270">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042531" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985770" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252890" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018474" />
<state width="1878" height="249" key="GridCell.Tab.0.bottom/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600270" />
<state width="1638" height="273" key="GridCell.Tab.0.bottom/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225921" />
<state width="1878" height="249" key="GridCell.Tab.0.center" timestamp="1606326600270">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.center/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042530" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985769" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252890" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018473" />
<state width="1878" height="249" key="GridCell.Tab.0.center/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600270" />
<state width="1638" height="273" key="GridCell.Tab.0.center/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225920" />
<state width="1878" height="249" key="GridCell.Tab.0.left" timestamp="1606326600269">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.left/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042530" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985768" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252889" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018472" />
<state width="1878" height="249" key="GridCell.Tab.0.left/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600269" />
<state width="1638" height="273" key="GridCell.Tab.0.left/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225919" />
<state width="1878" height="249" key="GridCell.Tab.0.right" timestamp="1606326600270">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state width="1638" height="273" key="GridCell.Tab.0.right/0.-1417.2560.1417/0.23.1680.1027@0.-1417.2560.1417" timestamp="1604948042531" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1680.1027/0.-1417.2560.1417@0.-1417.2560.1417" timestamp="1604913985770" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604760252890" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1680.1027@0.23.1680.1027" timestamp="1604933111805" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1920.1116@0.23.1920.1116" timestamp="1605380018473" />
<state width="1878" height="249" key="GridCell.Tab.0.right/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1606326600270" />
<state width="1638" height="273" key="GridCell.Tab.0.right/0.23.1920.1177@0.23.1920.1177" timestamp="1605533225920" />
<state width="1638" height="346" key="GridCell.Tab.1.bottom" timestamp="1604750442086">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.bottom/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442086" />
<state width="1638" height="346" key="GridCell.Tab.1.center" timestamp="1604750442085">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.center/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442085" />
<state width="1638" height="346" key="GridCell.Tab.1.left" timestamp="1604750442085">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.left/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442085" />
<state width="1638" height="346" key="GridCell.Tab.1.right" timestamp="1604750442085">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="1638" height="346" key="GridCell.Tab.1.right/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750442085" />
<state x="204" y="155" width="1501" height="766" key="SettingsEditor" timestamp="1605609479939">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state x="179" y="138" width="1501" height="766" key="SettingsEditor/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604757277174" />
<state x="204" y="155" key="SettingsEditor/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1605609479939" />
<state width="840" height="513" key="XDebugger.FullValuePopup" timestamp="1604750505120">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state width="840" height="513" key="XDebugger.FullValuePopup/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604750505120" />
<state x="505" y="250" width="670" height="676" key="search.everywhere.popup" timestamp="1604757918385">
<screen x="0" y="23" width="1680" height="1027" />
</state>
<state x="505" y="250" width="670" height="676" key="search.everywhere.popup/0.23.1680.1027/0.-1417.2560.1417@0.23.1680.1027" timestamp="1604757918385" />
<state x="596" y="393" key="vcs.readOnlyHandler.ReadOnlyStatusDialog" timestamp="1605566567276">
<screen x="0" y="23" width="1920" height="1177" />
</state>
<state x="596" y="393" key="vcs.readOnlyHandler.ReadOnlyStatusDialog/0.23.1920.1177/0.-1417.2560.1417@0.23.1920.1177" timestamp="1605566567276" />
</component>
</project>

View File

@ -8,7 +8,7 @@ import (
const (
TCP_PORT = ":3010"
HTTP_PORT = ":3011"
SERIAL_PORT = "/dev/tty.usbmodem14201"
//SERIAL_PORT = "/dev/tty.usbmodem14201"
)
func main() {
@ -19,7 +19,7 @@ func main() {
func collectRoutines(d *dispatcher.Dispatcher) {
// collectRoutines Serial UBX Sensor Data
go gnet.SerialUbxCollector(d, SERIAL_PORT)
//go gnet.SerialUbxCollector(d, SERIAL_PORT)
// collectRoutines TCP JSON Sensor Data
go gnet.TcpJsonCollector(d, TCP_PORT)
}

View File

@ -1,6 +1,6 @@
package main
import (
import (
"git.timovolkmann.de/gyrogpsc/dispatcher"
gnet "git.timovolkmann.de/gyrogpsc/net"
)

View File

@ -1,66 +1,15 @@
{
"os": "hyperimu",
"Timestamp": 1605706643754,
"pocket": [0, 0, 0],
"tmd3702_rgb rgb sensor": [3564, 181, 92],
"sns_tilt": [0, 0, 0],
"pickup": [0, 0, 0],
"game rotation vector": [
0.015592863783240318,
0.008798418566584587,
0.7070407867431641
],
"lsm6ds3c accelerometer-uncalibrated": [
0.20117594301700592,
0.30654019117355347,
9.395065307617188
],
"lsm6ds3c accelerometer": [
0.20117594301700592,
0.30654019117355347,
9.395065307617188
],
"sns_smd": [0, 0, 0],
"motion_detect_": [0, 0, 0],
"pedometer": [0, 0, 0],
"sns_geomag_rv": [
0.013454875908792019,
-0.01167623233050108,
-0.43255871534347534
],
"stationary_detect_": [0, 0, 0],
"op_motion_detect": [0, 0, 0],
"orientation": [52.48748779296875, -1.9758102893829346, 0.5612195134162903],
"dpc": [0, 0, 0],
"ak0991x magnetometer-uncalibrated": [
46.989715576171875,
-44.32888412475586,
-210.6717071533203
],
"ak0991x magnetometer": [
-21.25121307373047,
15.841415405273438,
-23.476364135742188
],
"gravity": [0.09423767775297165, 0.3382147550582886, 9.800362586975098],
"rotation vector": [
0.013298608362674713,
-0.012015928514301777,
-0.44204404950141907
],
"sx9324_sar": [1, 9631, 5076],
"linear_acceleration_": [0, 0, 0],
"tmd3702_light ambient light sensor": [11, 0, 0],
"lsm6ds3c gyroscope": [
-0.016604160889983177,
-8.175899274647236E-4,
-0.0012356978841125965
],
"device_orient": [0, 0, 0],
"lsm6ds3c gyroscope-uncalibrated": [
-0.018249155953526497,
2.2923573851585388E-4,
-0.006618400104343891
],
"tmd3702_proximity proximity sensor": [5, 0, 0]
"smartphone": {
"os": "hyperimu",
"Timestamp": 1606308915986,
"orientation": [99.6939697265625, -36.261940002441406, 4.91012716293335],
"lsm6ds3c gyroscope": [0.5955139398574829, -0.031028389930725098, 1.511426329612732],
"GPS": [49.12283027, 9.19640999, 212.3125],
"NMEA": [" ", " ", " "]
},
"serial": {
"timestamp": 37539672354,
"position": [0, 0, 0],
"orientation": [0, 0, 0]
}
}

View File

@ -3,89 +3,14 @@
<head>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.bundle.js"></script>
<script>
const GRAPH_RES = 100;
var dataSmartphone = [];
window.addEventListener("load", function(evt) {
var orientation = [0,0,0];
var multiplier = 180/Math.PI/15
var output = document.getElementById("output");
var input = document.getElementById("input");
var ws;
var print = function(message) {
var d = document.createElement("div");
d.textContent = message;
output.appendChild(d);
};
var print2 = function(message) {
var d = document.createElement("p");
d.innerText = message;
oldNode = output.firstChild
output.replaceChild(d, oldNode)
};
document.getElementById("open").onclick = function(evt) {
if (ws && ws.OPEN) {
print("Websocket already open")
return false;
}
ws = new WebSocket("{{.}}");
ws.onopen = function(evt) {
print("OPEN");
}
ws.onclose = function(evt) {
ws = null;
print2("CLOSE");
}
ws.onmessage = function(evt) {
//print2("RESPONSE: " + evt.data);
dataSmartphone.push(evt.data)
// let dat = JSON.parse(evt.data)["bmi26x gyroscope"]
// let dat = JSON.parse(evt.data)["lsm6dsm gyroscope"]
//let dat = JSON.parse(evt.data)["lsm6ds3c gyroscope"]
let dat = JSON.parse(evt.data)
//console.log(dat)
//console.log(dat.orientation)
document.getElementById("gyroscope").style.transform = `rotateX(${-((dat.orientation[1]+90)%360)}deg) rotateY(${dat.orientation[0]}deg) rotateZ(${-dat.orientation[2]}deg)`
/*
console.log(dat)
orientation[0] += dat[0] * multiplier
orientation[1] += dat[1] * multiplier
orientation[2] += dat[2] * multiplier
// dataset.push(orientation[0])
// while (dataset.length >= 50) {
// dataset.shift();
// }
// addData(orientation[0] / multiplier)
*/
addData(dat.orientation[0])
// addData(dat[0])
//document.getElementById("gyroscope").style.transform = `rotateX(${-orientation[0]}deg) rotateY(${orientation[1]}deg) rotateZ(${-orientation[2]}deg) translateZ(50px)`
}
ws.onerror = function(evt) {
print("ERROR: " + evt.data);
}
return false;
};
document.getElementById("send").onclick = function(evt) {
if (!ws) {
return false;
}
print("SEND: " + input.value);
ws.send(input.value);
return false;
};
document.getElementById("close").onclick = function(evt) {
if (!ws) {
return false;
}
ws.close();
return false;
};
});
</script>
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<script src="https://api.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.js"></script>
<link href="https://api.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.css" rel="stylesheet" />
<style>
body { margin: 0; padding: 0; }
#map { position: absolute; top: 0; bottom: 0; width: 100%; }
</style>
<script src="static/scripts/websocket.js"></script>
<style>
* { box-sizing: border-box; }
@ -162,6 +87,12 @@
<button id="send">Send</button>
</p>
</form>
<div class="scene" style='width: 600px; height: 400px;'>
<div id="map" style='width: 600px; height: 400px;'></div>
</div>
<script src="https://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="static/scripts/map.js"></script>
<div class="scene">
<div id="gyroscope" class="cube">
<div class="cube__face cube__face--front">front</div>
@ -175,51 +106,8 @@
<div style="width: 600px; height: 400px;">
<canvas id="myChart" width="400" height="200"></canvas>
</div>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: new Array(GRAPH_RES),
datasets: [{
label: 'Z',
backgroundColor: 'rgba(255, 99, 132, 0.2)',
borderColor: 'rgba(255, 99, 132, 1)',
borderWidth: 1,
pointRadius: 0,
lineTension: 0.5,
data: new Array(GRAPH_RES)
}]
},
options: {
scales: {
yAxes: [{
ticks: {
// beginAtZero: true
min: -100,
max: 100
}
}]
},
animation: {
duration: 0
}
}
});
myChart.data.labels.fill("", 0, GRAPH_RES);
myChart.data.datasets.forEach((dataset) => dataset.data.fill(0, 0, GRAPH_RES))
function addData(data) {
myChart.data.labels.push("");
myChart.data.datasets.forEach((dataset) => {
dataset.data.push(data);
});
while (myChart.data.labels.length >= GRAPH_RES) {
myChart.data.labels.shift();
myChart.data.datasets.forEach((dataset) => dataset.data.shift())
}
myChart.update();
};
</script>
<script src="static/scripts/chart.js"></script>
</td>
<td valign="top" width="50%">
<div id="output"></div>

View File

@ -67,7 +67,10 @@ func home(w http.ResponseWriter, r *http.Request) {
func NewHttpServer(d *dispatcher.Dispatcher, httpPort string) {
http.HandleFunc("/echo", echo(d))
http.HandleFunc("/", home)
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("."))))
//<<<<<<< HEAD:server.go
// http.Handle("/static/", http.FileServer(http.Dir(".")))
// log.Fatal(http.ListenAndServe(":3011", nil))
http.Handle("/static/", http.FileServer(http.Dir(".")))
log.Fatal(http.ListenAndServe(httpPort, nil))
}

View File

@ -0,0 +1,9 @@
{
"timestamp": 2938502375,
"position": [490663054, 91358016],
"altitude": 221,
"altitude_msl": 221,
"accuracy": [16.2, 20.3],
"speed": [13, 9]
}

66
static/hyperimu.json Normal file
View File

@ -0,0 +1,66 @@
{
"os": "hyperimu",
"Timestamp": 1605706643754,
"pocket": [0, 0, 0],
"tmd3702_rgb rgb sensor": [3564, 181, 92],
"sns_tilt": [0, 0, 0],
"pickup": [0, 0, 0],
"game rotation vector": [
0.015592863783240318,
0.008798418566584587,
0.7070407867431641
],
"lsm6ds3c accelerometer-uncalibrated": [
0.20117594301700592,
0.30654019117355347,
9.395065307617188
],
"lsm6ds3c accelerometer": [
0.20117594301700592,
0.30654019117355347,
9.395065307617188
],
"sns_smd": [0, 0, 0],
"motion_detect_": [0, 0, 0],
"pedometer": [0, 0, 0],
"sns_geomag_rv": [
0.013454875908792019,
-0.01167623233050108,
-0.43255871534347534
],
"stationary_detect_": [0, 0, 0],
"op_motion_detect": [0, 0, 0],
"orientation": [52.48748779296875, -1.9758102893829346, 0.5612195134162903],
"dpc": [0, 0, 0],
"ak0991x magnetometer-uncalibrated": [
46.989715576171875,
-44.32888412475586,
-210.6717071533203
],
"ak0991x magnetometer": [
-21.25121307373047,
15.841415405273438,
-23.476364135742188
],
"gravity": [0.09423767775297165, 0.3382147550582886, 9.800362586975098],
"rotation vector": [
0.013298608362674713,
-0.012015928514301777,
-0.44204404950141907
],
"sx9324_sar": [1, 9631, 5076],
"linear_acceleration_": [0, 0, 0],
"tmd3702_light ambient light sensor": [11, 0, 0],
"lsm6ds3c gyroscope": [
-0.016604160889983177,
-8.175899274647236E-4,
-0.0012356978841125965
],
"device_orient": [0, 0, 0],
"lsm6ds3c gyroscope-uncalibrated": [
-0.018249155953526497,
2.2923573851585388E-4,
-0.006618400104343891
],
"tmd3702_proximity proximity sensor": [5, 0, 0]
}

230
static/index.html Normal file
View File

@ -0,0 +1,230 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.bundle.js"></script>
<script>
const GRAPH_RES = 100;
var dataSmartphone = [];
window.addEventListener("load", function(evt) {
var orientation = [0,0,0];
var multiplier = 180/Math.PI/15
var output = document.getElementById("output");
var input = document.getElementById("input");
var ws;
var print = function(message) {
var d = document.createElement("div");
d.textContent = message;
output.appendChild(d);
};
var print2 = function(message) {
var d = document.createElement("p");
d.innerText = message;
oldNode = output.firstChild
output.replaceChild(d, oldNode)
};
document.getElementById("open").onclick = function(evt) {
if (ws && ws.OPEN) {
print("Websocket already open")
return false;
}
ws = new WebSocket("{{.}}");
ws.onopen = function(evt) {
print("OPEN");
}
ws.onclose = function(evt) {
ws = null;
print2("CLOSE");
}
ws.onmessage = function(evt) {
//print2("RESPONSE: " + evt.data);
dataSmartphone.push(evt.data)
// let dat = JSON.parse(evt.data)["bmi26x gyroscope"]
// let dat = JSON.parse(evt.data)["lsm6dsm gyroscope"]
//let dat = JSON.parse(evt.data)["lsm6ds3c gyroscope"]
let dat = JSON.parse(evt.data)
//console.log(dat)
//console.log(dat.orientation)
document.getElementById("gyroscope").style.transform = `rotateX(${-((dat.orientation[1]+90)%360)}deg) rotateY(${dat.orientation[0]}deg) rotateZ(${-dat.orientation[2]}deg)`
/*
console.log(dat)
orientation[0] += dat[0] * multiplier
orientation[1] += dat[1] * multiplier
orientation[2] += dat[2] * multiplier
// dataset.push(orientation[0])
// while (dataset.length >= 50) {
// dataset.shift();
// }
// addData(orientation[0] / multiplier)
*/
addData(dat.orientation[0])
// addData(dat[0])
//document.getElementById("gyroscope").style.transform = `rotateX(${-orientation[0]}deg) rotateY(${orientation[1]}deg) rotateZ(${-orientation[2]}deg) translateZ(50px)`
}
ws.onerror = function(evt) {
print("ERROR: " + evt.data);
}
return false;
};
document.getElementById("send").onclick = function(evt) {
if (!ws) {
return false;
}
print("SEND: " + input.value);
ws.send(input.value);
return false;
};
document.getElementById("close").onclick = function(evt) {
if (!ws) {
return false;
}
ws.close();
return false;
};
});
</script>
<style>
* { box-sizing: border-box; }
body {
font-family: sans-serif;
background: #000;
color: #fff;
}
.scene {
width: 200px;
height: 200px;
border: 0px solid #CCC;
margin: 160px;
perspective: 400px;
}
.cube {
width: 200px;
height: 200px;
position: relative;
transform-style: preserve-3d;
transform: translateZ(-100px);
/*transition: transform 25ms;*/
}
.cube.show-front { transform: translateZ(-100px) rotateY( 0deg); }
.cube.show-right { transform: translateZ(-100px) rotateY( -90deg); }
.cube.show-back { transform: translateZ(-100px) rotateY(-180deg); }
.cube.show-left { transform: translateZ(-100px) rotateY( 90deg); }
.cube.show-top { transform: translateZ(-100px) rotateX( -90deg); }
.cube.show-bottom { transform: translateZ(-100px) rotateX( 90deg); }
.cube__face {
position: absolute;
width: 200px;
height: 200px;
border: 1px solid white;
line-height: 200px;
font-size: 40px;
font-weight: bold;
color: white;
text-align: center;
}
.cube__face--front { background: hsla( 0, 100%, 50%, 0.7); }
.cube__face--right { background: hsla( 60, 100%, 50%, 0.7); }
.cube__face--back { background: hsla(120, 100%, 50%, 0.7); }
.cube__face--left { background: hsla(180, 100%, 50%, 0.7); }
.cube__face--top { background: hsla(240, 100%, 50%, 0.7); }
.cube__face--bottom { background: hsla(300, 100%, 50%, 0.7); }
.cube__face--front { transform: rotateY( 0deg) translateZ(100px); }
.cube__face--right { transform: rotateY( 90deg) translateZ(100px); }
.cube__face--back { transform: rotateY(180deg) translateZ(100px); }
.cube__face--left { transform: rotateY(-90deg) translateZ(100px); }
.cube__face--top { transform: rotateX( 90deg) translateZ(100px); }
.cube__face--bottom { transform: rotateX(-90deg) translateZ(100px); }
label { margin-right: 10px; }
</style>
</head>
<body>
<table style="font-size: x-small">
<tr>
<td valign="top" width="50%">
<p>Click "Open" to create a connection to the server.
</p>
<form>
<button id="open">Open</button>
<button id="close">Close</button>
<p style="display: none" >
<input id="input" type="text" value="Hello world!">
<button id="send">Send</button>
</p>
</form>
<div class="scene">
<div id="gyroscope" class="cube">
<div class="cube__face cube__face--front">front</div>
<div class="cube__face cube__face--back">back</div>
<div class="cube__face cube__face--right">right</div>
<div class="cube__face cube__face--left">left</div>
<div class="cube__face cube__face--top">top</div>
<div class="cube__face cube__face--bottom">bottom</div>
</div>
</div>
<div style="width: 600px; height: 400px;">
<canvas id="myChart" width="400" height="200"></canvas>
</div>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: new Array(GRAPH_RES),
datasets: [{
label: 'Z',
backgroundColor: 'rgba(255, 99, 132, 0.2)',
borderColor: 'rgba(255, 99, 132, 1)',
borderWidth: 1,
pointRadius: 0,
lineTension: 0.5,
data: new Array(GRAPH_RES)
}]
},
options: {
scales: {
yAxes: [{
ticks: {
// beginAtZero: true
min: -100,
max: 100
}
}]
},
animation: {
duration: 0
}
}
});
myChart.data.labels.fill("", 0, GRAPH_RES);
myChart.data.datasets.forEach((dataset) => dataset.data.fill(0, 0, GRAPH_RES))
function addData(data) {
myChart.data.labels.push("");
myChart.data.datasets.forEach((dataset) => {
dataset.data.push(data);
});
while (myChart.data.labels.length >= GRAPH_RES) {
myChart.data.labels.shift();
myChart.data.datasets.forEach((dataset) => dataset.data.shift())
}
myChart.update();
};
</script>
</td>
<td valign="top" width="50%">
<div id="output"></div>
</td>
</tr>
</table>
</body>
</html>

869
static/iphone.json Normal file
View File

@ -0,0 +1,869 @@
[
{
"accelerometerAccelerationX" : "0.037598",
"accelerometerAccelerationY" : "-0.007950",
"accelerometerAccelerationZ" : "-1.003952",
"accelerometerTimestamp_sinceReboot" : "77700.804899",
"avAudioRecorderAveragePower" : "-34.990307",
"avAudioRecorderPeakPower" : "-30.574509",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.008506",
"gyroRotationY" : "-0.076335",
"gyroRotationZ" : "0.000154",
"gyroTimestamp_sinceReboot" : "77700.794635",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876174",
"locationHeadingTimestamp_since1970" : "1607291137.949005",
"locationHeadingX" : "-36.616150",
"locationHeadingY" : "-2.895218",
"locationHeadingZ" : "-25.625000",
"locationMagneticHeading" : "85.920738",
"locationTrueHeading" : "89.001564",
"loggingTime" : "2020-12-06 22:45:37.964 +0100",
"logSampleNr" : "765",
"magnetometerTimestamp_sinceReboot" : "77700.802641",
"magnetometerX" : "187.223969",
"magnetometerY" : "188.439392",
"magnetometerZ" : "-710.010864"
},
{
"accelerometerAccelerationX" : "0.036438",
"accelerometerAccelerationY" : "-0.008789",
"accelerometerAccelerationZ" : "-1.003464",
"accelerometerTimestamp_sinceReboot" : "77700.821012",
"avAudioRecorderAveragePower" : "-35.768673",
"avAudioRecorderPeakPower" : "-30.574509",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876176",
"locationHeadingTimestamp_since1970" : "1607291137.968956",
"locationHeadingX" : "-36.500809",
"locationHeadingY" : "-2.983276",
"locationHeadingZ" : "-25.554626",
"locationMagneticHeading" : "85.920799",
"locationTrueHeading" : "89.001625",
"loggingTime" : "2020-12-06 22:45:37.989 +0100",
"logSampleNr" : "766",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034999",
"motionGravityY" : "-0.009051",
"motionGravityZ" : "-0.999346",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.500809",
"motionMagneticFieldY" : "-2.983276",
"motionMagneticFieldZ" : "-25.554626",
"motionPitch" : "0.009051",
"motionQuaternionW" : "-0.008792",
"motionQuaternionX" : "-0.017541",
"motionQuaternionY" : "0.004372",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035007",
"motionRotationRateX" : "0.002088",
"motionRotationRateY" : "-0.004357",
"motionRotationRateZ" : "-0.000906",
"motionTimestamp_sinceReboot" : "77700.804614",
"motionUserAccelerationX" : "0.002599",
"motionUserAccelerationY" : "0.001101",
"motionUserAccelerationZ" : "-0.004606",
"motionYaw" : "-3.124165"
},
{
"accelerometerAccelerationX" : "0.033234",
"accelerometerAccelerationY" : "-0.008926",
"accelerometerAccelerationZ" : "-1.002014",
"accelerometerTimestamp_sinceReboot" : "77700.837125",
"avAudioRecorderAveragePower" : "-35.768673",
"avAudioRecorderPeakPower" : "-30.574509",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.008186",
"gyroRotationY" : "-0.076672",
"gyroRotationZ" : "0.000862",
"gyroTimestamp_sinceReboot" : "77700.824603",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876178",
"locationHeadingTimestamp_since1970" : "1607291137.989421",
"locationHeadingX" : "-36.537552",
"locationHeadingY" : "-2.889069",
"locationHeadingZ" : "-25.606628",
"locationMagneticHeading" : "85.920822",
"locationTrueHeading" : "89.001648",
"loggingTime" : "2020-12-06 22:45:37.996 +0100",
"logSampleNr" : "767"
},
{
"accelerometerAccelerationX" : "0.034439",
"accelerometerAccelerationY" : "-0.009415",
"accelerometerAccelerationZ" : "-1.006668",
"accelerometerTimestamp_sinceReboot" : "77700.853239",
"avAudioRecorderAveragePower" : "-31.989109",
"avAudioRecorderPeakPower" : "-30.574509",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876178",
"locationHeadingTimestamp_since1970" : "1607291138.008792",
"locationHeadingX" : "-36.428513",
"locationHeadingY" : "-2.911438",
"locationHeadingZ" : "-25.462769",
"locationMagneticHeading" : "85.921715",
"locationTrueHeading" : "89.002541",
"loggingTime" : "2020-12-06 22:45:38.012 +0100",
"logSampleNr" : "768",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034996",
"motionGravityY" : "-0.009039",
"motionGravityZ" : "-0.999347",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.537552",
"motionMagneticFieldY" : "-2.889069",
"motionMagneticFieldZ" : "-25.606628",
"motionPitch" : "0.009039",
"motionQuaternionW" : "-0.008788",
"motionQuaternionX" : "-0.017540",
"motionQuaternionY" : "0.004366",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035005",
"motionRotationRateX" : "0.000459",
"motionRotationRateY" : "-0.000712",
"motionRotationRateZ" : "-0.001314",
"motionTimestamp_sinceReboot" : "77700.834613",
"motionUserAccelerationX" : "-0.000923",
"motionUserAccelerationY" : "0.000250",
"motionUserAccelerationZ" : "-0.003110",
"motionYaw" : "-3.124172"
},
{
"accelerometerAccelerationX" : "0.035385",
"accelerometerAccelerationY" : "-0.012100",
"accelerometerAccelerationZ" : "-1.011292",
"accelerometerTimestamp_sinceReboot" : "77700.869321",
"avAudioRecorderAveragePower" : "-31.288141",
"avAudioRecorderPeakPower" : "-30.269579",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.010996",
"gyroRotationY" : "-0.081939",
"gyroRotationZ" : "0.002051",
"gyroTimestamp_sinceReboot" : "77700.854571",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"loggingTime" : "2020-12-06 22:45:38.029 +0100",
"logSampleNr" : "769",
"magnetometerTimestamp_sinceReboot" : "77700.860777",
"magnetometerX" : "187.028076",
"magnetometerY" : "188.409332",
"magnetometerZ" : "-709.159546"
},
{
"accelerometerAccelerationX" : "0.035950",
"accelerometerAccelerationY" : "-0.011780",
"accelerometerAccelerationZ" : "-1.006134",
"accelerometerTimestamp_sinceReboot" : "77700.885435",
"avAudioRecorderAveragePower" : "-32.153595",
"avAudioRecorderPeakPower" : "-29.939217",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876180",
"locationHeadingTimestamp_since1970" : "1607291138.029312",
"locationHeadingX" : "-36.654816",
"locationHeadingY" : "-3.019150",
"locationHeadingZ" : "-24.858765",
"locationMagneticHeading" : "85.921791",
"locationTrueHeading" : "89.002617",
"loggingTime" : "2020-12-06 22:45:38.047 +0100",
"logSampleNr" : "770",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034864",
"motionGravityY" : "-0.009091",
"motionGravityZ" : "-0.999351",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.654816",
"motionMagneticFieldY" : "-3.019150",
"motionMagneticFieldZ" : "-24.858765",
"motionPitch" : "0.009091",
"motionQuaternionW" : "-0.008783",
"motionQuaternionX" : "-0.017474",
"motionQuaternionY" : "0.004393",
"motionQuaternionZ" : "0.999799",
"motionRoll" : "0.034872",
"motionRotationRateX" : "0.000922",
"motionRotationRateY" : "-0.000872",
"motionRotationRateZ" : "-0.000288",
"motionTimestamp_sinceReboot" : "77700.864581",
"motionUserAccelerationX" : "0.001284",
"motionUserAccelerationY" : "-0.001514",
"motionUserAccelerationZ" : "-0.011895",
"motionYaw" : "-3.124182"
},
{
"accelerometerAccelerationX" : "0.035431",
"accelerometerAccelerationY" : "-0.008698",
"accelerometerAccelerationZ" : "-1.001877",
"accelerometerTimestamp_sinceReboot" : "77700.901548",
"avAudioRecorderAveragePower" : "-32.153595",
"avAudioRecorderPeakPower" : "-29.939217",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.005874",
"gyroRotationY" : "-0.076437",
"gyroRotationZ" : "0.000249",
"gyroTimestamp_sinceReboot" : "77700.884570",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationAltitude" : "187.182343",
"locationCourse" : "-1.000000",
"locationFloor" : "-9999",
"locationHeadingAccuracy" : "14.876182",
"locationHeadingTimestamp_since1970" : "1607291138.049074",
"locationHeadingX" : "-36.686508",
"locationHeadingY" : "-3.035675",
"locationHeadingZ" : "-24.890198",
"locationHorizontalAccuracy" : "30.000000",
"locationLatitude" : "49.066370",
"locationLongitude" : "9.135756",
"locationMagneticHeading" : "85.922256",
"locationSpeed" : "0.000000",
"locationTimestamp_since1970" : "1607291137.995236",
"locationTrueHeading" : "89.003082",
"locationVerticalAccuracy" : "4.000000",
"loggingTime" : "2020-12-06 22:45:38.061 +0100",
"logSampleNr" : "771",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034944",
"motionGravityY" : "-0.009061",
"motionGravityZ" : "-0.999348",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.686508",
"motionMagneticFieldY" : "-3.035675",
"motionMagneticFieldZ" : "-24.890198",
"motionPitch" : "0.009061",
"motionQuaternionW" : "-0.008780",
"motionQuaternionX" : "-0.017514",
"motionQuaternionY" : "0.004377",
"motionQuaternionZ" : "0.999799",
"motionRoll" : "0.034952",
"motionRotationRateX" : "-0.001064",
"motionRotationRateY" : "-0.001599",
"motionRotationRateZ" : "0.000173",
"motionTimestamp_sinceReboot" : "77700.894549",
"motionUserAccelerationX" : "-0.000566",
"motionUserAccelerationY" : "-0.000552",
"motionUserAccelerationZ" : "-0.007701",
"motionYaw" : "-3.124187"
},
{
"accelerometerAccelerationX" : "0.033325",
"accelerometerAccelerationY" : "-0.009155",
"accelerometerAccelerationZ" : "-1.004761",
"accelerometerTimestamp_sinceReboot" : "77700.917661",
"avAudioRecorderAveragePower" : "-32.501255",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876183",
"locationHeadingTimestamp_since1970" : "1607291138.068919",
"locationHeadingX" : "-36.387695",
"locationHeadingY" : "-2.955109",
"locationHeadingZ" : "-25.351074",
"locationMagneticHeading" : "85.922218",
"locationTrueHeading" : "89.003044",
"loggingTime" : "2020-12-06 22:45:38.077 +0100",
"logSampleNr" : "772"
},
{
"accelerometerAccelerationX" : "0.035431",
"accelerometerAccelerationY" : "-0.008286",
"accelerometerAccelerationZ" : "-1.005096",
"accelerometerTimestamp_sinceReboot" : "77700.933775",
"avAudioRecorderAveragePower" : "-33.457474",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.004643",
"gyroRotationY" : "-0.075107",
"gyroRotationZ" : "0.001784",
"gyroTimestamp_sinceReboot" : "77700.914538",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876183",
"locationHeadingTimestamp_since1970" : "1607291138.088690",
"locationHeadingX" : "-36.463043",
"locationHeadingY" : "-2.722488",
"locationHeadingZ" : "-25.380981",
"locationMagneticHeading" : "85.921844",
"locationTrueHeading" : "89.002670",
"loggingTime" : "2020-12-06 22:45:38.094 +0100",
"logSampleNr" : "773",
"magnetometerTimestamp_sinceReboot" : "77700.918913",
"magnetometerX" : "187.101776",
"magnetometerY" : "188.768005",
"magnetometerZ" : "-709.771484",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034961",
"motionGravityY" : "-0.009001",
"motionGravityZ" : "-0.999348",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.463043",
"motionMagneticFieldY" : "-2.722488",
"motionMagneticFieldZ" : "-25.380981",
"motionPitch" : "0.009001",
"motionQuaternionW" : "-0.008782",
"motionQuaternionX" : "-0.017522",
"motionQuaternionY" : "0.004348",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.034970",
"motionRotationRateX" : "-0.003020",
"motionRotationRateY" : "0.004743",
"motionRotationRateZ" : "0.000997",
"motionTimestamp_sinceReboot" : "77700.924548",
"motionUserAccelerationX" : "0.001217",
"motionUserAccelerationY" : "-0.000520",
"motionUserAccelerationZ" : "-0.003139",
"motionYaw" : "-3.124183"
},
{
"accelerometerAccelerationX" : "0.035904",
"accelerometerAccelerationY" : "-0.009094",
"accelerometerAccelerationZ" : "-1.001312",
"accelerometerTimestamp_sinceReboot" : "77700.949857",
"avAudioRecorderAveragePower" : "-33.457474",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.006907",
"gyroRotationY" : "-0.079628",
"gyroRotationZ" : "0.000950",
"gyroTimestamp_sinceReboot" : "77700.944507",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"loggingTime" : "2020-12-06 22:45:38.109 +0100",
"logSampleNr" : "774"
},
{
"accelerometerAccelerationX" : "0.036209",
"accelerometerAccelerationY" : "-0.010406",
"accelerometerAccelerationZ" : "-1.005539",
"accelerometerTimestamp_sinceReboot" : "77700.965971",
"avAudioRecorderAveragePower" : "-33.588783",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876184",
"locationHeadingTimestamp_since1970" : "1607291138.108779",
"locationHeadingX" : "-36.467972",
"locationHeadingY" : "-2.907425",
"locationHeadingZ" : "-25.277100",
"locationMagneticHeading" : "85.922852",
"locationTrueHeading" : "89.003677",
"loggingTime" : "2020-12-06 22:45:38.125 +0100",
"logSampleNr" : "775",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034963",
"motionGravityY" : "-0.009011",
"motionGravityZ" : "-0.999348",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.392593",
"motionMagneticFieldY" : "-3.084808",
"motionMagneticFieldZ" : "-25.575867",
"motionPitch" : "0.009012",
"motionQuaternionW" : "-0.008775",
"motionQuaternionX" : "-0.017523",
"motionQuaternionY" : "0.004353",
"motionQuaternionZ" : "0.999799",
"motionRoll" : "0.034972",
"motionRotationRateX" : "-0.000240",
"motionRotationRateY" : "-0.000722",
"motionRotationRateZ" : "0.001070",
"motionTimestamp_sinceReboot" : "77700.954516",
"motionUserAccelerationX" : "0.000376",
"motionUserAccelerationY" : "-0.001273",
"motionUserAccelerationZ" : "-0.004177",
"motionYaw" : "-3.124197"
},
{
"accelerometerAccelerationX" : "0.037720",
"accelerometerAccelerationY" : "-0.010132",
"accelerometerAccelerationZ" : "-1.008987",
"accelerometerTimestamp_sinceReboot" : "77700.982084",
"avAudioRecorderAveragePower" : "-34.231152",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.004129",
"gyroRotationY" : "-0.077557",
"gyroRotationZ" : "-0.000793",
"gyroTimestamp_sinceReboot" : "77700.974505",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876186",
"locationHeadingTimestamp_since1970" : "1607291138.128763",
"locationHeadingX" : "-36.392593",
"locationHeadingY" : "-3.084808",
"locationHeadingZ" : "-25.575867",
"locationMagneticHeading" : "85.922737",
"locationTrueHeading" : "89.003563",
"loggingTime" : "2020-12-06 22:45:38.141 +0100",
"logSampleNr" : "776",
"magnetometerTimestamp_sinceReboot" : "77700.977079",
"magnetometerX" : "186.895142",
"magnetometerY" : "188.252991",
"magnetometerZ" : "-710.194702"
},
{
"accelerometerAccelerationX" : "0.036057",
"accelerometerAccelerationY" : "-0.008194",
"accelerometerAccelerationZ" : "-1.002792",
"accelerometerTimestamp_sinceReboot" : "77700.998197",
"avAudioRecorderAveragePower" : "-34.738995",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876188",
"locationHeadingTimestamp_since1970" : "1607291138.148931",
"locationHeadingX" : "-36.706497",
"locationHeadingY" : "-3.118759",
"locationHeadingZ" : "-25.621033",
"locationMagneticHeading" : "85.923042",
"locationTrueHeading" : "89.003868",
"loggingTime" : "2020-12-06 22:45:38.168 +0100",
"logSampleNr" : "777",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.034977",
"motionGravityY" : "-0.009047",
"motionGravityZ" : "-0.999347",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.706497",
"motionMagneticFieldY" : "-3.118759",
"motionMagneticFieldZ" : "-25.621033",
"motionPitch" : "0.009047",
"motionQuaternionW" : "-0.008772",
"motionQuaternionX" : "-0.017530",
"motionQuaternionY" : "0.004370",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.034985",
"motionRotationRateX" : "0.000625",
"motionRotationRateY" : "-0.000442",
"motionRotationRateZ" : "0.000817",
"motionTimestamp_sinceReboot" : "77700.984485",
"motionUserAccelerationX" : "0.001827",
"motionUserAccelerationY" : "-0.000368",
"motionUserAccelerationZ" : "-0.007046",
"motionYaw" : "-3.124204"
},
{
"accelerometerAccelerationX" : "0.034225",
"accelerometerAccelerationY" : "-0.008728",
"accelerometerAccelerationZ" : "-1.000931",
"accelerometerTimestamp_sinceReboot" : "77701.014310",
"avAudioRecorderAveragePower" : "-34.738995",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.003781",
"gyroRotationY" : "-0.076643",
"gyroRotationZ" : "0.000894",
"gyroTimestamp_sinceReboot" : "77701.004474",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876190",
"locationHeadingTimestamp_since1970" : "1607291138.168952",
"locationHeadingX" : "-36.616852",
"locationHeadingY" : "-2.912506",
"locationHeadingZ" : "-25.239990",
"locationMagneticHeading" : "85.923080",
"locationTrueHeading" : "89.003906",
"loggingTime" : "2020-12-06 22:45:38.173 +0100",
"logSampleNr" : "778"
},
{
"accelerometerAccelerationX" : "0.033676",
"accelerometerAccelerationY" : "-0.007309",
"accelerometerAccelerationZ" : "-1.001099",
"accelerometerTimestamp_sinceReboot" : "77701.030424",
"avAudioRecorderAveragePower" : "-35.218269",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"loggingTime" : "2020-12-06 22:45:38.189 +0100",
"logSampleNr" : "779",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.035004",
"motionGravityY" : "-0.008995",
"motionGravityZ" : "-0.999347",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.715759",
"motionMagneticFieldY" : "-2.925949",
"motionMagneticFieldZ" : "-25.069214",
"motionPitch" : "0.008995",
"motionQuaternionW" : "-0.008769",
"motionQuaternionX" : "-0.017544",
"motionQuaternionY" : "0.004344",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035013",
"motionRotationRateX" : "-0.003867",
"motionRotationRateY" : "0.001772",
"motionRotationRateZ" : "0.000104",
"motionTimestamp_sinceReboot" : "77701.014453",
"motionUserAccelerationX" : "-0.000825",
"motionUserAccelerationY" : "0.000175",
"motionUserAccelerationZ" : "-0.000272",
"motionYaw" : "-3.124209"
},
{
"accelerometerAccelerationX" : "0.037369",
"accelerometerAccelerationY" : "-0.007599",
"accelerometerAccelerationZ" : "-1.002563",
"accelerometerTimestamp_sinceReboot" : "77701.046537",
"avAudioRecorderAveragePower" : "-35.218269",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.006077",
"gyroRotationY" : "-0.077056",
"gyroRotationZ" : "0.001649",
"gyroTimestamp_sinceReboot" : "77701.034442",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876190",
"locationHeadingTimestamp_since1970" : "1607291138.188685",
"locationHeadingX" : "-36.715759",
"locationHeadingY" : "-2.925949",
"locationHeadingZ" : "-25.069214",
"locationMagneticHeading" : "85.923744",
"locationTrueHeading" : "89.004570",
"loggingTime" : "2020-12-06 22:45:38.206 +0100",
"logSampleNr" : "780",
"magnetometerTimestamp_sinceReboot" : "77701.035215",
"magnetometerX" : "187.234955",
"magnetometerY" : "188.355042",
"magnetometerZ" : "-709.823547"
},
{
"accelerometerAccelerationX" : "0.035263",
"accelerometerAccelerationY" : "-0.011368",
"accelerometerAccelerationZ" : "-1.005341",
"accelerometerTimestamp_sinceReboot" : "77701.062620",
"avAudioRecorderAveragePower" : "-35.783520",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876191",
"locationHeadingTimestamp_since1970" : "1607291138.208948",
"locationHeadingX" : "-36.388031",
"locationHeadingY" : "-3.009003",
"locationHeadingZ" : "-25.307068",
"locationMagneticHeading" : "85.924210",
"locationTrueHeading" : "89.005035",
"loggingTime" : "2020-12-06 22:45:38.228 +0100",
"logSampleNr" : "781",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.035031",
"motionGravityY" : "-0.009005",
"motionGravityZ" : "-0.999346",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.388031",
"motionMagneticFieldY" : "-3.009003",
"motionMagneticFieldZ" : "-25.307068",
"motionPitch" : "0.009005",
"motionQuaternionW" : "-0.008762",
"motionQuaternionX" : "-0.017557",
"motionQuaternionY" : "0.004350",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035040",
"motionRotationRateX" : "-0.002688",
"motionRotationRateY" : "0.001089",
"motionRotationRateZ" : "0.000186",
"motionTimestamp_sinceReboot" : "77701.044452",
"motionUserAccelerationX" : "0.002337",
"motionUserAccelerationY" : "0.001406",
"motionUserAccelerationZ" : "-0.003218",
"motionYaw" : "-3.124224"
},
{
"accelerometerAccelerationX" : "0.033936",
"accelerometerAccelerationY" : "-0.008270",
"accelerometerAccelerationZ" : "-1.008591",
"accelerometerTimestamp_sinceReboot" : "77701.078733",
"avAudioRecorderAveragePower" : "-35.894341",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.006742",
"gyroRotationY" : "-0.078071",
"gyroRotationZ" : "0.000371",
"gyroTimestamp_sinceReboot" : "77701.064441",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876193",
"locationHeadingTimestamp_since1970" : "1607291138.229093",
"locationHeadingX" : "-36.477371",
"locationHeadingY" : "-3.081924",
"locationHeadingZ" : "-25.343933",
"locationMagneticHeading" : "85.924126",
"locationTrueHeading" : "89.004951",
"loggingTime" : "2020-12-06 22:45:38.238 +0100",
"logSampleNr" : "782"
},
{
"accelerometerAccelerationX" : "0.034683",
"accelerometerAccelerationY" : "-0.010590",
"accelerometerAccelerationZ" : "-1.008743",
"accelerometerTimestamp_sinceReboot" : "77701.094846",
"avAudioRecorderAveragePower" : "-36.771626",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876195",
"locationHeadingTimestamp_since1970" : "1607291138.248836",
"locationHeadingX" : "-36.430481",
"locationHeadingY" : "-2.969254",
"locationHeadingZ" : "-25.259521",
"locationMagneticHeading" : "85.924248",
"locationTrueHeading" : "89.005074",
"loggingTime" : "2020-12-06 22:45:38.254 +0100",
"logSampleNr" : "783",
"magnetometerTimestamp_sinceReboot" : "77701.093351",
"magnetometerX" : "186.871170",
"magnetometerY" : "188.533890",
"magnetometerZ" : "-709.817078",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.035061",
"motionGravityY" : "-0.009031",
"motionGravityZ" : "-0.999344",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.430481",
"motionMagneticFieldY" : "-2.969254",
"motionMagneticFieldZ" : "-25.259521",
"motionPitch" : "0.009031",
"motionQuaternionW" : "-0.008761",
"motionQuaternionX" : "-0.017572",
"motionQuaternionY" : "0.004362",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035070",
"motionRotationRateX" : "0.002348",
"motionRotationRateY" : "0.000247",
"motionRotationRateZ" : "0.000621",
"motionTimestamp_sinceReboot" : "77701.074420",
"motionUserAccelerationX" : "-0.000393",
"motionUserAccelerationY" : "-0.000308",
"motionUserAccelerationZ" : "-0.008239",
"motionYaw" : "-3.124226"
},
{
"accelerometerAccelerationX" : "0.033768",
"accelerometerAccelerationY" : "-0.008774",
"accelerometerAccelerationZ" : "-1.005692",
"accelerometerTimestamp_sinceReboot" : "77701.110960",
"avAudioRecorderAveragePower" : "-36.771626",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.002831",
"gyroRotationY" : "-0.076265",
"gyroRotationZ" : "0.001715",
"gyroTimestamp_sinceReboot" : "77701.094409",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876197",
"locationHeadingTimestamp_since1970" : "1607291138.268665",
"locationHeadingX" : "-36.766403",
"locationHeadingY" : "-2.885361",
"locationHeadingZ" : "-25.336365",
"locationMagneticHeading" : "85.924141",
"locationTrueHeading" : "89.004967",
"loggingTime" : "2020-12-06 22:45:38.270 +0100",
"logSampleNr" : "784",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.035022",
"motionGravityY" : "-0.008936",
"motionGravityZ" : "-0.999347",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.766403",
"motionMagneticFieldY" : "-2.885361",
"motionMagneticFieldZ" : "-25.336365",
"motionPitch" : "0.008936",
"motionQuaternionW" : "-0.008761",
"motionQuaternionX" : "-0.017552",
"motionQuaternionY" : "0.004315",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035031",
"motionRotationRateX" : "-0.001589",
"motionRotationRateY" : "-0.001877",
"motionRotationRateZ" : "-0.000561",
"motionTimestamp_sinceReboot" : "77701.104388",
"motionUserAccelerationX" : "0.000745",
"motionUserAccelerationY" : "0.000620",
"motionUserAccelerationZ" : "-0.007642",
"motionYaw" : "-3.124223"
},
{
"accelerometerAccelerationX" : "0.035889",
"accelerometerAccelerationY" : "-0.009491",
"accelerometerAccelerationZ" : "-1.000381",
"accelerometerTimestamp_sinceReboot" : "77701.127073",
"avAudioRecorderAveragePower" : "-37.050854",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"loggingTime" : "2020-12-06 22:45:38.290 +0100",
"logSampleNr" : "785"
},
{
"accelerometerAccelerationX" : "0.035278",
"accelerometerAccelerationY" : "-0.008865",
"accelerometerAccelerationZ" : "-1.004211",
"accelerometerTimestamp_sinceReboot" : "77701.143186",
"avAudioRecorderAveragePower" : "-37.257305",
"avAudioRecorderPeakPower" : "-29.852339",
"batteryLevel" : "0.660000",
"batteryState" : "1",
"deviceID" : "my_iOS_device",
"deviceOrientation" : "5",
"gyroRotationX" : "0.001609",
"gyroRotationY" : "-0.076717",
"gyroRotationZ" : "0.001673",
"gyroTimestamp_sinceReboot" : "77701.124377",
"identifierForVendor" : "1B07EE58-F14E-4E47-ABF8-7E919F119960",
"IP_en0" : "10.41.8.38",
"IP_pdp_ip0" : "100.78.225.228",
"label" : "0",
"locationHeadingAccuracy" : "14.876198",
"locationHeadingTimestamp_since1970" : "1607291138.288638",
"locationHeadingX" : "-36.884933",
"locationHeadingY" : "-3.087875",
"locationHeadingZ" : "-25.284058",
"locationMagneticHeading" : "85.924454",
"locationTrueHeading" : "89.005280",
"loggingTime" : "2020-12-06 22:45:38.302 +0100",
"logSampleNr" : "786",
"motionAttitudeReferenceFrame" : "XTrueNorthZVertical",
"motionGravityX" : "0.035028",
"motionGravityY" : "-0.008846",
"motionGravityZ" : "-0.999347",
"motionMagneticFieldCalibrationAccuracy" : "2.000000",
"motionMagneticFieldX" : "-36.644531",
"motionMagneticFieldY" : "-2.917130",
"motionMagneticFieldZ" : "-25.302368",
"motionPitch" : "0.008846",
"motionQuaternionW" : "-0.008759",
"motionQuaternionX" : "-0.017555",
"motionQuaternionY" : "0.004270",
"motionQuaternionZ" : "0.999798",
"motionRoll" : "0.035037",
"motionRotationRateX" : "-0.003860",
"motionRotationRateY" : "-0.000956",
"motionRotationRateZ" : "-0.001445",
"motionTimestamp_sinceReboot" : "77701.134387",
"motionUserAccelerationX" : "0.002051",
"motionUserAccelerationY" : "0.000881",
"motionUserAccelerationZ" : "-0.002896",
"motionYaw" : "-3.124227"
}
]

43
static/scripts/chart.js Normal file
View File

@ -0,0 +1,43 @@
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: new Array(GRAPH_RES),
datasets: [{
label: 'Z',
backgroundColor: 'rgba(255, 99, 132, 0.2)',
borderColor: 'rgba(255, 99, 132, 1)',
borderWidth: 1,
pointRadius: 0,
lineTension: 0.5,
data: new Array(GRAPH_RES)
}]
},
options: {
scales: {
yAxes: [{
ticks: {
// beginAtZero: true
min: -100,
max: 100
}
}]
},
animation: {
duration: 0
}
}
});
myChart.data.labels.fill("", 0, GRAPH_RES);
myChart.data.datasets.forEach((dataset) => dataset.data.fill(0, 0, GRAPH_RES))
function addData(data) {
myChart.data.labels.push("");
myChart.data.datasets.forEach((dataset) => {
dataset.data.push(data);
});
while (myChart.data.labels.length >= GRAPH_RES) {
myChart.data.labels.shift();
myChart.data.datasets.forEach((dataset) => dataset.data.shift())
}
myChart.update();
};

View File

@ -0,0 +1,737 @@
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
9.196275472640991,
49.12280972701122
],
[
9.19629693031311,
49.122757066649065
],
[
9.196267426013947,
49.1227219597099
],
[
9.196237921714783,
49.12268685274588
],
[
9.196205735206604,
49.122642969005895
],
[
9.196168184280396,
49.12259908522708
],
[
9.196090400218964,
49.122556956762885
],
[
9.196015298366547,
49.12252536039125
],
[
9.195816814899445,
49.122421794365344
],
[
9.19578731060028,
49.12246041223081
],
[
9.195752441883085,
49.122495519355134
],
[
9.195720255374908,
49.1225306264546
],
[
9.195685386657715,
49.12257099958827
],
[
9.195658564567566,
49.122602595930815
],
[
9.195634424686432,
49.12263419225324
],
[
9.195604920387268,
49.12266052250654
],
[
9.19557273387909,
49.12268334204809
],
[
9.195548593997955,
49.12271318297122
],
[
9.195532500743866,
49.12273951318259
],
[
9.195497632026672,
49.12276057734161
],
[
9.19557273387909,
49.12281850373281
],
[
9.195524454116821,
49.12285712128936
],
[
9.195497632026672,
49.12287818539843
],
[
9.195476174354553,
49.122904515522194
],
[
9.195586144924162,
49.12300983587742
],
[
9.195840954780579,
49.1232152099268
],
[
9.19605016708374,
49.1233942532759
],
[
9.196152091026306,
49.1235346789797
],
[
9.196280837059021,
49.12368212554077
],
[
9.196393489837646,
49.12382606104651
],
[
9.196511507034302,
49.123924358225025
],
[
9.196581244468689,
49.12404371882266
],
[
9.196720719337463,
49.124173610911306
],
[
9.196838736534119,
49.12435967195905
],
[
9.196951389312744,
49.124501850213676
],
[
9.197013080120087,
49.1245896143649
],
[
9.19705867767334,
49.12465280445759
],
[
9.19714719057083,
49.12476865275172
],
[
9.197292029857635,
49.12495120102961
],
[
9.197361767292023,
49.12506529336202
],
[
9.197455644607544,
49.125175874910624
],
[
9.197522699832916,
49.12529347723932
],
[
9.197605848312378,
49.12543565281655
],
[
9.197745323181152,
49.125690163634275
],
[
9.197841882705688,
49.12584989044582
],
[
9.19790893793106,
49.12598328826778
],
[
9.197978675365448,
49.12612195141281
],
[
9.198064506053925,
49.12627290072483
],
[
9.19819325208664,
49.126525652032335
],
[
9.198254942893982,
49.12668011053043
],
[
9.198305904865265,
49.12679770929164
],
[
9.198405146598816,
49.12695743253551
],
[
9.198488295078278,
49.12716981099699
],
[
9.198619723320007,
49.12720315959838
],
[
9.198799431324005,
49.127229487425765
],
[
9.199027419090271,
49.12716630061657
],
[
9.19931173324585,
49.127129441607394
],
[
9.199504852294922,
49.12708556179883
],
[
9.19965773820877,
49.12704870272959
],
[
9.199883043766022,
49.12700482284956
],
[
9.200116395950317,
49.1269732293119
],
[
9.200357794761658,
49.12690653177737
],
[
9.200548231601715,
49.12688546937944
],
[
9.20065551996231,
49.126911797375485
],
[
9.200770854949951,
49.12695743253551
],
[
9.200899600982666,
49.12702061961085
],
[
9.20103371143341,
49.12706800986451
],
[
9.201240241527557,
49.12711891045688
],
[
9.20141190290451,
49.12714874871086
],
[
9.2015540599823,
49.127191750868846
],
[
9.201587587594986,
49.127187362895256
],
[
9.201736450195312,
49.1271601574503
],
[
9.201810210943222,
49.127157524664504
],
[
9.201871901750565,
49.12715313668789
],
[
9.201933592557907,
49.12710925690026
],
[
9.202055633068085,
49.12697498450896
],
[
9.20224204659462,
49.12691530777389
],
[
9.20237347483635,
49.126887224579605
],
[
9.202480763196945,
49.126842466955814
],
[
9.20254647731781,
49.12681613892294
],
[
9.202671200037003,
49.126769626030736
],
[
9.202869683504105,
49.126692396981234
],
[
9.202970266342163,
49.12665729282806
],
[
9.203054755926132,
49.12662218865002
],
[
9.203156679868698,
49.12659147247387
],
[
9.203227758407593,
49.126569532336404
],
[
9.203289449214935,
49.126551980219446
],
[
9.203341752290726,
49.12653179527724
],
[
9.203158020973206,
49.126483526903876
],
[
9.203088283538818,
49.12646334193381
],
[
9.203002452850342,
49.12644140173965
],
[
9.202857613563538,
49.12640278697433
],
[
9.202712774276733,
49.126357151303814
],
[
9.202632308006287,
49.126325557353475
],
[
9.202412366867065,
49.12626236939239
],
[
9.202256798744202,
49.126213223144774
],
[
9.202122688293455,
49.12616758729978
],
[
9.201961755752563,
49.12612546186714
],
[
9.2018061876297,
49.12607982594142
],
[
9.201698899269104,
49.126037700434225
],
[
9.201596975326538,
49.125999085354515
],
[
9.20129120349884,
49.125883239934964
],
[
9.201119542121887,
49.125827072361396
],
[
9.200921058654785,
49.12578143616102
],
[
9.200685024261473,
49.125676121692166
],
[
9.200513362884521,
49.12560591192202
],
[
9.200336337089539,
49.12554623353922
],
[
9.199842810630798,
49.125360176943595
],
[
9.199681878089905,
49.12527592467067
],
[
9.1995370388031,
49.12522677744532
],
[
9.199456572532654,
49.12518816173411
],
[
9.19932246208191,
49.12513199337321
],
[
9.199220538139343,
49.12508635653314
],
[
9.199113249778748,
49.125023166992925
],
[
9.199016690254211,
49.12496699844514
],
[
9.198925495147705,
49.1248932771296
],
[
9.198732376098633,
49.12480551351584
],
[
9.198582172393799,
49.124721260300475
],
[
9.198474884033203,
49.124647538619605
],
[
9.198367595672607,
49.12459839077146
],
[
9.198265671730042,
49.12455626400573
],
[
9.198126196861267,
49.124542221742516
],
[
9.198099374771118,
49.12450360549822
],
[
9.198126196861267,
49.12441584119478
],
[
9.198174476623533,
49.12433509789843
],
[
9.19828176498413,
49.12430701324279
],
[
9.19831931591034,
49.12427190740087
],
[
9.198254942893982,
49.12420871682283
],
[
9.198115468025208,
49.124149036758475
],
[
9.197981357574463,
49.124085846023824
],
[
9.197836518287659,
49.124026165811614
],
[
9.197707772254944,
49.12395595370529
],
[
9.197557568550108,
49.12386467781845
],
[
9.197487831115723,
49.12381201857656
],
[
9.197385907173157,
49.123717231800214
],
[
9.197214245796204,
49.12367510428589
],
[
9.197010397911072,
49.123566274708274
],
[
9.196908473968506,
49.123474998104186
],
[
9.196704626083374,
49.123401274570526
],
[
9.196602702140808,
49.123348614836544
],
[
9.196484684944153,
49.123260848488954
],
[
9.196339845657349,
49.12319414596088
],
[
9.196216464042664,
49.12313095400942
],
[
9.196135997772217,
49.12306776197748
],
[
9.19607162475586,
49.12299754851418
],
[
9.195937514305115,
49.12295893106699
],
[
9.195835590362549,
49.12289222813283
],
[
9.195733666419983,
49.12282903579667
],
[
9.195638447999954,
49.122754433629495
],
[
9.195600226521492,
49.12273293063105
],
[
9.195574074983597,
49.122708355764296
],
[
9.195574074983597,
49.12269431297779
],
[
9.195623695850372,
49.1226412136555
],
[
9.195666611194609,
49.12260961733753
],
[
9.195688739418983,
49.12258021519025
],
[
9.195733666419983,
49.12253106529318
],
[
9.19575646519661,
49.12250034658276
],
[
9.195783287286758,
49.12247269972715
],
[
9.195801392197609,
49.12244988008865
],
[
9.195815473794937,
49.122438470265486
],
[
9.195830225944519,
49.12242047784666
],
[
9.195859730243683,
49.122431887674
],
[
9.195901304483414,
49.122448563570735
],
[
9.195931479334831,
49.12246787249679
],
[
9.195965006947517,
49.12248367070343
],
[
9.195998534560204,
49.122498152388445
],
[
9.19603407382965,
49.12251307290797
],
[
9.196063578128815,
49.12253501484029
],
[
9.196093752980232,
49.122546424641236
],
[
9.196127280592918,
49.1225600286313
],
[
9.19615812599659,
49.12258109286655
],
[
9.196201711893082,
49.12261927177015
],
[
9.196238592267036,
49.12267237111598
],
[
9.196262061595917,
49.12270045669739
],
[
9.196281507611275,
49.122722837383684
],
[
9.196305647492409,
49.122746534569934
],
[
9.196302965283394,
49.1227693540719
],
[
9.196292236447334,
49.12279392890845
],
[
9.196286201477049,
49.122811482355665
],
[
9.19628955423832,
49.12282815812477
],
[
9.196309000253677,
49.1228479057388
]
]
}
}
]
}

57
static/scripts/map.js Normal file
View File

@ -0,0 +1,57 @@
mapboxgl.accessToken = 'pk.eyJ1IjoiZmhlcmtvbW0iLCJhIjoiY2tobm81bXppMGVuNzMyazY3eDU0M2dyaSJ9.qWJrwtv7KitW60pzs6h3Gg';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
zoom: 0
});
var empty = {
type: "FeatureCollection",
features: [
{
type: "Feature",
geometry: {
type: "LineString",
coordinates: []
}
}]
}
map.on('load', function () {
// save full coordinate list for later
//var coordinates = data.features[0].geometry.coordinates;
// start by showing just the first coordinate
//data.features[0].geometry.coordinates = [coordinates[0]];
// add it to the map
//map.addSource('trace', { type: 'geojson', data: data });
map.addSource('route', { 'type': 'geojson', 'data': empty })
map.addLayer({
'id': 'route',
'type': 'line',
'source': 'route',
'paint': {
'line-color': 'yellow',
'line-opacity': 0.75,
'line-width': 5
}
});
// setup the viewport
map.jumpTo({ 'center': [9.19640999, 49.12283027], 'zoom': 15 });
map.setPitch(30);
// on a regular basis, add more coordinates from the saved list and update the map
//var i = 0;
//var timer = window.setInterval(, 10);
})
function updateMap (coordinates) {
empty.features[0].geometry.coordinates.push(coordinates);
map.getSource('route').setData(empty);
map.panTo(coordinates);
}

View File

@ -0,0 +1,82 @@
const GRAPH_RES = 100;
var dataSmartphone = [];
window.addEventListener("load", function(evt) {
var orientation = [0,0,0];
var multiplier = 180/Math.PI/15
var output = document.getElementById("output");
var input = document.getElementById("input");
var ws;
var print = function(message) {
var d = document.createElement("div");
d.textContent = message;
output.appendChild(d);
};
var print2 = function(message) {
var d = document.createElement("p");
d.innerText = message;
oldNode = output.firstChild
output.replaceChild(d, oldNode)
};
document.getElementById("open").onclick = function(evt) {
if (ws && ws.OPEN) {
print("Websocket already open")
return false;
}
ws = new WebSocket("ws://localhost:3011/echo");
ws.onopen = function(evt) {
print("OPEN");
}
ws.onclose = function(evt) {
ws = null;
print2("CLOSE");
}
ws.onmessage = function(evt) {
//print2("RESPONSE: " + evt.data);
dataSmartphone.push(evt.data)
// let dat = JSON.parse(evt.data)["bmi26x gyroscope"]
// let dat = JSON.parse(evt.data)["lsm6dsm gyroscope"]
//let dat = JSON.parse(evt.data)["lsm6ds3c gyroscope"]
let dat = JSON.parse(evt.data)
console.log(evt.data)
console.log("JSON geparsed onmessage", dat)
//console.log(dat.orientation)
document.getElementById("gyroscope").style.transform = `rotateX(${-((dat.orientation[1]+90)%360)}deg) rotateY(${dat.orientation[0]}deg) rotateZ(${-dat.orientation[2]}deg)`
/*
console.log(dat)
orientation[0] += dat[0] * multiplier
orientation[1] += dat[1] * multiplier
orientation[2] += dat[2] * multiplier
// dataset.push(orientation[0])
// while (dataset.length >= 50) {
// dataset.shift();
// }
// addData(orientation[0] / multiplier)
*/
addData(dat.orientation[0])
setData(dat.GPS[0], dat.GPS[1])
// addData(dat[0])
//document.getElementById("gyroscope").style.transform = `rotateX(${-orientation[0]}deg) rotateY(${orientation[1]}deg) rotateZ(${-orientation[2]}deg) translateZ(50px)`
}
ws.onerror = function(evt) {
print("ERROR: " + evt.data);
}
return false;
};
document.getElementById("send").onclick = function(evt) {
if (!ws) {
return false;
}
print("SEND: " + input.value);
ws.send(input.value);
return false;
};
document.getElementById("close").onclick = function(evt) {
if (!ws) {
return false;
}
ws.close();
return false;
};
});