|
|
/******************************************************************
|
|
|
Copyright © Deng Zhimao Co., Ltd. 1990-2030. All rights reserved.
|
|
|
* @projectName sensor
|
|
|
* @brief Sensor.qml
|
|
|
* @author Deng Zhimao
|
|
|
* @email 1252699831@qq.com
|
|
|
* @date 2020-07-10
|
|
|
*******************************************************************/
|
|
|
import QtQuick 2.9
|
|
|
import QtQuick.Window 2.2
|
|
|
import QtQml.Models 2.12
|
|
|
import ap3216c 1.0
|
|
|
import icm20608 1.0
|
|
|
import QtQuick 2.6
|
|
|
import QtQuick.Controls 2.0
|
|
|
import QtQuick.Layouts 1.3
|
|
|
import "../helpbutton"
|
|
|
|
|
|
Item {
|
|
|
property var strArray:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
|
visible: false
|
|
|
id: sensor
|
|
|
|
|
|
HelpMessages {
|
|
|
anchors.fill: parent
|
|
|
z: 105
|
|
|
appIcon: WINStyle ? "" : "qrc:/desktop/androidstyleicons/sensor.png"
|
|
|
appName: "传感器"
|
|
|
appVersion: "Version 1.0.1"
|
|
|
subtoolText: "1.此软件为传感器软件,程序获取并计算ap3216c及icm20608的数据显示在屏幕上。程序启动时自动获取,关闭页面,会停止获取,节约cpu开支。"
|
|
|
versionText: "1.【Version 1.0.0 2020-10-15】。\n初始版本\n2.【Version 1.0.1 2020-12-09】。\n兼容480x272分辨率"
|
|
|
}
|
|
|
|
|
|
onVisibleChanged: {
|
|
|
formState.state == 'right' ? formState.state = '' : formState.state = 'right'
|
|
|
if(!WINenv){
|
|
|
ap3216c.setCapture(sensor.visible)
|
|
|
icm20608.setCapture(sensor.visible)
|
|
|
}
|
|
|
}
|
|
|
Component.onCompleted: {
|
|
|
sensor.x = parent.width
|
|
|
}
|
|
|
Item {
|
|
|
id: formState
|
|
|
states: State {
|
|
|
name: "right"
|
|
|
PropertyChanges {
|
|
|
target: sensor
|
|
|
x: 0
|
|
|
}
|
|
|
}
|
|
|
transitions: Transition {
|
|
|
NumberAnimation {
|
|
|
property: "x"
|
|
|
easing.type: Easing.InOutQuart
|
|
|
duration: 500
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
ListModel {
|
|
|
id: m_model
|
|
|
ListElement {
|
|
|
title: "3&1环境传感器AP3216C环境光强度(ALS):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "3&1环境传感器AP3216C接近距离(PS):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "3&1环境传感器AP3216C红外线强度(IR):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器陀螺仪X轴(GX):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器陀螺仪Y轴(GY):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器陀螺仪Z轴(GZ):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器加速度计X轴(AX):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器加速度计Y轴(AY):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器加速度计Y轴(AZ):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
ListElement {
|
|
|
title: "六轴MEMS传感器温度值(TEMP):"
|
|
|
itemValue: "0"
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function setValue() {
|
|
|
for (var i = 0; i < m_model.count; i++) {
|
|
|
var item = m_model.get(i);
|
|
|
item.itemValue = strArray[i]
|
|
|
}
|
|
|
}
|
|
|
|
|
|
Ap3216c {
|
|
|
id: ap3216c
|
|
|
onAp3216cDataChanged: {
|
|
|
strArray[0] = alsData
|
|
|
strArray[1] = psData
|
|
|
strArray[2] = irData
|
|
|
}
|
|
|
}
|
|
|
|
|
|
Icm20608 {
|
|
|
id: icm20608
|
|
|
onIcm20608DataChanged: {
|
|
|
strArray[3] = gxData + "°/S"
|
|
|
strArray[4] = gyData + "°/S"
|
|
|
strArray[5] = gzData + "°/S"
|
|
|
strArray[6] = axData + "g"
|
|
|
strArray[7] = ayData + "g"
|
|
|
strArray[8] = azData + "g"
|
|
|
strArray[9] = tempData + "℃"
|
|
|
setValue()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
ListView {
|
|
|
id: listview
|
|
|
width: parent.width
|
|
|
anchors.centerIn: parent
|
|
|
height: parent.height - 40
|
|
|
clip: true
|
|
|
model: m_model
|
|
|
delegate:Rectangle {
|
|
|
height: 50
|
|
|
width: parent.width
|
|
|
color: index % 2 == 0? "transparent" : "#304d87ee"
|
|
|
MouseArea {
|
|
|
anchors.fill: parent
|
|
|
onClicked: {
|
|
|
listview.currentIndex = index
|
|
|
}
|
|
|
}
|
|
|
Text {
|
|
|
id: functionText
|
|
|
text: title
|
|
|
color: "white"
|
|
|
font.pixelSize: smallScreen ? 13 : 15
|
|
|
anchors.left: parent.left
|
|
|
width: parent.width / 2
|
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
|
}
|
|
|
Rectangle {
|
|
|
width: 1
|
|
|
id: line
|
|
|
height: parent.height - 5
|
|
|
anchors.centerIn: parent
|
|
|
color: "gray"
|
|
|
}
|
|
|
Text {
|
|
|
id: valueTex
|
|
|
text: itemValue
|
|
|
anchors.left: line.right
|
|
|
anchors.leftMargin: 15
|
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
|
color: "#ffec57"
|
|
|
font.pixelSize: 15
|
|
|
font.bold: true
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|