mirror of
https://github.com/Serial-Studio/Serial-Studio.git
synced 2025-01-15 05:22:53 +08:00
Update welcome messages & other UI fixes
This commit is contained in:
parent
5845c8ceb4
commit
85c0a632a7
@ -11,13 +11,13 @@
|
||||
|
||||
Serial Studio es un programa de visualización de datos de puertos serial multiplataforma y multipropósito. El objetivo de este proyecto es permitir a los desarrolladores y creadores de sistemas embebidos visualizar, presentar y analizar fácilmente los datos generados por sus proyectos y dispositivos, sin la necesidad de escribir software especializado para cada proyecto.
|
||||
|
||||
La necesidad de este proyecto surgió durante el desarrollo del software de estación terrestre para varios concursos de CanSat. Simplemente no es sostenible desarrollar y mantener diferentes programas para cada competencia. La solución inteligente es tener un software de estación terrestre común y permitir que cada CanSat defina cómo se presentan los datos al usuario final mediante un protocolo de comunicación extensible.
|
||||
La necesidad de este proyecto surgió durante el desarrollo del software de estación terrena para varios concursos de CanSat. Simplemente no es sostenible desarrollar y mantener diferentes programas para cada competencia. La solución inteligente es tener un software de estación terrena común y permitir que cada CanSat defina cómo se presentan los datos al usuario final mediante un protocolo de comunicación extensible.
|
||||
|
||||
Además, este enfoque se puede extender a casi cualquier tipo de proyecto que implique algún tipo de adquisición y medición de datos. Si desea una explicación más detallada de por qué existe este proyecto y de qué se trata, consulte [esta publicación de blog](https://www.alex-spataru.com/blog/introducing-serial-studio) (en inglés).
|
||||
|
||||
**NOTA:** en el [wiki](https://github.com/Serial-Studio/Serial-Studio/wiki/Protocolo-de-Comunicación) se muestra más información acerca del protocolo de comunicación utilizado por Serial Studio.
|
||||
|
||||
*Lea esto en otros idiomas:* [English](README.md)
|
||||
*Lea esto en otros idiomas:* [English](README.md) [简体中文](README_ZH.md)
|
||||
|
||||
![Software usage](doc/app-usage.gif)
|
||||
|
||||
|
@ -5,18 +5,22 @@ ____/ // __/ / _ / / /_/ /_ / ____/ // /_ / /_/ // /_/ / _ / / /_/ /
|
||||
/____/ \___//_/ /_/ \__,_/ /_/ /____/ \__/ \__,_/ \__,_/ /_/ \____/
|
||||
|
||||
|
||||
Willkommen bei Serial Studio! Um zu beginnen, wählen Sie bitte einen COM-Port und eine Baudrate in dem
|
||||
Geräte-Fenster auf der rechten Seite. Wenn die serielle Verbindung erfolgreich ist und die eingehenden Daten
|
||||
korrekt interpretiert werden, wird dieses Fenster automatisch geschlossen und das Dashboard
|
||||
wird angezeigt. Andernfalls können Sie die Konsole verwenden, um die Quelle Ihres Problemes zu finden.
|
||||
Willkommen bei Serial Studio! Um zu beginnen, wählen Sie bitte einen COM-Port
|
||||
und eine Baudrate in dem Geräte-Fenster auf der rechten Seite. Wenn die serielle
|
||||
Verbindung erfolgreich ist und die eingehenden Daten korrekt interpretiert
|
||||
werden, wird dieses Fenster automatisch geschlossen und das Dashboard wird
|
||||
angezeigt. Andernfalls können Sie die Konsole verwenden, um die Quelle Ihres
|
||||
Problemes zu finden.
|
||||
|
||||
Verwenden Sie die Schaltflächen der Symbolleiste, um die Funktionen anzuzeigen die Sie verwenden möchten.
|
||||
Wenn Sie ein Problem mit Serial Studio haben, melden Sie es bitte an:
|
||||
Verwenden Sie die Schaltflächen der Symbolleiste, um die Funktionen anzuzeigen
|
||||
die Sie verwenden möchten. Wenn Sie ein Problem mit Serial Studio haben, melden
|
||||
Sie es bitte an:
|
||||
|
||||
→ https://github.com/Serial-Studio/Serial-Studio/issues
|
||||
|
||||
Sie können auch die Links im Fenster "Über" verwenden. Für Dokumentation bezüglich der
|
||||
Verwendung von Serial Studio und Integration mit Ihren aktuellen MCU-Projekten, lesen Sie bitte das Wiki:
|
||||
Sie können auch die Links im Fenster "Über" verwenden. Für Dokumentation
|
||||
bezüglich der Verwendung von Serial Studio und Integration mit Ihren aktuellen
|
||||
MCU-Projekten, lesen Sie bitte das Wiki:
|
||||
|
||||
→ https://github.com/Serial-Studio/Serial-Studio/wiki
|
||||
|
||||
|
@ -8,8 +8,8 @@ ____/ // __/ / _ / / /_/ /_ / ____/ // /_ / /_/ // /_/ / _ / / /_/ /
|
||||
Welcome to Serial Studio! To start, please select a COM port & baud rate in the
|
||||
devices pane on the right. If serial connection is successful & incoming data is
|
||||
interpreted correctly, this pane shall be automatically closed and the dashboard
|
||||
shall be shown automatically. Otherwise, you can use the console to find the
|
||||
source of your problem.
|
||||
shall be shown. Otherwise, you can use the console to find the source of your
|
||||
problem.
|
||||
|
||||
Use the toolbar buttons to display the features that you want to use. If you
|
||||
encounter a problem with Serial Studio, please report it at:
|
||||
|
@ -8,9 +8,8 @@ ____/ // __/ / _ / / /_/ /_ / ____/ // /_ / /_/ // /_/ / _ / / /_/ /
|
||||
¡Bienvenido/a a Serial Studio! Para comenzar, seleccione un puerto COM y
|
||||
velocidad en baudios en el panel de dispositivos a la derecha. Si la conexión en
|
||||
serie es exitosa y los datos entrantes se interpretan correctamente, este panel
|
||||
se cerrará automáticamente y el el tablero de instrumentos se mostrará
|
||||
automáticamente. De lo contrario, puede usar la consola para encontrar el origen
|
||||
de su problema.
|
||||
se cerrará automáticamente y el el tablero de instrumentos se mostrará.
|
||||
De lo contrario, puede usar la consola para encontrar el origen de su problema.
|
||||
|
||||
Utilice los botones de la barra de herramientas para mostrar las funciones que
|
||||
desea utilizar. Si encuentra un problema con Serial Studio, infórmelo en:
|
||||
|
@ -21,7 +21,6 @@
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import Qt.labs.settings 1.0
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
@ -50,14 +49,6 @@ Control {
|
||||
_tf.clear()
|
||||
}
|
||||
|
||||
//
|
||||
// Save settings
|
||||
//
|
||||
Settings {
|
||||
category: "Console"
|
||||
property alias writeEnabled: writeSw.checked
|
||||
}
|
||||
|
||||
//
|
||||
// Connections with serial manager
|
||||
//
|
||||
@ -124,15 +115,6 @@ Control {
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
|
||||
Switch {
|
||||
id: writeSw
|
||||
checked: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
onCheckedChanged: CppSerialManager.writeEnabled = checked
|
||||
opacity: CppSerialManager.readWrite ? 1 : (CppSerialManager.connected ? 0.5 : 1)
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: _tf
|
||||
height: 24
|
||||
|
@ -35,6 +35,11 @@ Control {
|
||||
color: app.windowBackgroundColor
|
||||
}
|
||||
|
||||
//
|
||||
// Serial-open modes list
|
||||
//
|
||||
property var serialOpenModes: [qsTr("Read-only"), qsTr("Read/write")]
|
||||
|
||||
//
|
||||
// Save settings
|
||||
//
|
||||
@ -45,6 +50,7 @@ Control {
|
||||
property alias dmParity: parity.currentIndex
|
||||
property alias dmStopBits: stopBits.currentIndex
|
||||
property alias dmDataBits: dataBits.currentIndex
|
||||
property alias dmOpenMode: openMode.currentIndex
|
||||
property alias dmBaudRateIndex: baudRate.currentIndex
|
||||
property alias dmFlowControl: flowControl.currentIndex
|
||||
property alias appLanguage: languageCombo.currentIndex
|
||||
@ -57,12 +63,17 @@ Control {
|
||||
target: CppTranslator
|
||||
function onLanguageChanged() {
|
||||
var oldParityIndex = parity.currentIndex
|
||||
var oldOpenModeIndex = openMode.currentIndex
|
||||
var oldFlowControlIndex = flowControl.currentIndex
|
||||
|
||||
root.serialOpenModes = [qsTr("Read-only"), qsTr("Read/write")]
|
||||
openMode.model = root.serialOpenModes
|
||||
|
||||
parity.model = CppSerialManager.parityList
|
||||
flowControl.model = CppSerialManager.flowControlList
|
||||
|
||||
parity.currentIndex = oldParityIndex
|
||||
openMode.currentIndex = oldOpenModeIndex
|
||||
flowControl.currentIndex = oldFlowControlIndex
|
||||
}
|
||||
}
|
||||
@ -91,6 +102,7 @@ Control {
|
||||
// Comm mode selector
|
||||
//
|
||||
Label {
|
||||
font.bold: true
|
||||
text: qsTr("Communication Mode") + ":" + CppTranslator.dummy
|
||||
} RadioButton {
|
||||
id: commAuto
|
||||
@ -125,7 +137,7 @@ Control {
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
text: CppTranslator.dummy +
|
||||
(CppJsonGenerator.jsonMapFilename.length ? qsTr("Change map file (%1)").arg(CppJsonGenerator.jsonMapFilename) :
|
||||
qsTr("Select map file") + "...")
|
||||
qsTr("Select map file") + "...")
|
||||
}
|
||||
|
||||
//
|
||||
@ -136,122 +148,157 @@ Control {
|
||||
}
|
||||
|
||||
//
|
||||
// COM port selector
|
||||
// A lot of comboboxes
|
||||
//
|
||||
Label {
|
||||
text: qsTr("COM Port") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: portSelector
|
||||
GridLayout {
|
||||
columns: 2
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.portList
|
||||
currentIndex: CppSerialManager.portIndex
|
||||
onCurrentIndexChanged: CppSerialManager.setPort(currentIndex)
|
||||
}
|
||||
rowSpacing: app.spacing
|
||||
columnSpacing: app.spacing
|
||||
|
||||
//
|
||||
// Baud rate selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Baud Rate") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: baudRate
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.baudRateList
|
||||
currentIndex: CppSerialManager.baudRateIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.baudRateIndex !== currentIndex)
|
||||
CppSerialManager.baudRateIndex = currentIndex
|
||||
//
|
||||
// COM port selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("COM Port") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: portSelector
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.portList
|
||||
currentIndex: CppSerialManager.portIndex
|
||||
onCurrentIndexChanged: CppSerialManager.setPort(currentIndex)
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing * 2
|
||||
}
|
||||
|
||||
//
|
||||
// Data bits selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Data Bits") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: dataBits
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.dataBitsList
|
||||
currentIndex: CppSerialManager.dataBitsIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.dataBitsIndex !== currentIndex)
|
||||
CppSerialManager.dataBitsIndex = currentIndex
|
||||
//
|
||||
// Baud rate selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Baud Rate") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: baudRate
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.baudRateList
|
||||
currentIndex: CppSerialManager.baudRateIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.baudRateIndex !== currentIndex)
|
||||
CppSerialManager.baudRateIndex = currentIndex
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Parity selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Parity") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: parity
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.parityList
|
||||
currentIndex: CppSerialManager.parityIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.parityIndex !== currentIndex)
|
||||
CppSerialManager.parityIndex = currentIndex
|
||||
//
|
||||
// Open mode
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Open mode") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: openMode
|
||||
Layout.fillWidth: true
|
||||
model: root.serialOpenModes
|
||||
onCurrentIndexChanged: {
|
||||
if (currentIndex == 0)
|
||||
CppSerialManager.setWriteEnabled(false)
|
||||
else
|
||||
CppSerialManager.setWriteEnabled(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Stop bits selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Stop Bits") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: stopBits
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.stopBitsList
|
||||
currentIndex: CppSerialManager.stopBitsIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.stopBitsIndex !== currentIndex)
|
||||
CppSerialManager.stopBitsIndex = currentIndex
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
Layout.minimumHeight: app.spacing / 2
|
||||
Layout.maximumHeight: app.spacing / 2
|
||||
} Item {
|
||||
Layout.minimumHeight: app.spacing / 2
|
||||
Layout.maximumHeight: app.spacing / 2
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Flow control selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Flow Control") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: flowControl
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.flowControlList
|
||||
currentIndex: CppSerialManager.flowControlIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.flowControlIndex !== currentIndex)
|
||||
CppSerialManager.flowControlIndex = currentIndex
|
||||
//
|
||||
// Data bits selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Data Bits") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: dataBits
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.dataBitsList
|
||||
currentIndex: CppSerialManager.dataBitsIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.dataBitsIndex !== currentIndex)
|
||||
CppSerialManager.dataBitsIndex = currentIndex
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing * 2
|
||||
}
|
||||
//
|
||||
// Parity selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Parity") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: parity
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.parityList
|
||||
currentIndex: CppSerialManager.parityIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.parityIndex !== currentIndex)
|
||||
CppSerialManager.parityIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Language selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Language") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: languageCombo
|
||||
Layout.fillWidth: true
|
||||
model: CppTranslator.availableLanguages
|
||||
onCurrentIndexChanged: CppTranslator.setLanguage(currentIndex)
|
||||
//
|
||||
// Stop bits selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Stop Bits") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: stopBits
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.stopBitsList
|
||||
currentIndex: CppSerialManager.stopBitsIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.stopBitsIndex !== currentIndex)
|
||||
CppSerialManager.stopBitsIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Flow control selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Flow Control") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: flowControl
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.flowControlList
|
||||
currentIndex: CppSerialManager.flowControlIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.flowControlIndex !== currentIndex)
|
||||
CppSerialManager.flowControlIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
Layout.minimumHeight: app.spacing / 2
|
||||
Layout.maximumHeight: app.spacing / 2
|
||||
} Item {
|
||||
Layout.minimumHeight: app.spacing / 2
|
||||
Layout.maximumHeight: app.spacing / 2
|
||||
}
|
||||
|
||||
//
|
||||
// Language selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Language") + ":" + CppTranslator.dummy
|
||||
} ComboBox {
|
||||
id: languageCombo
|
||||
Layout.fillWidth: true
|
||||
model: CppTranslator.availableLanguages
|
||||
onCurrentIndexChanged: CppTranslator.setLanguage(currentIndex)
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
Binary file not shown.
@ -478,6 +478,18 @@
|
||||
<source>Language</source>
|
||||
<translation>Sprache</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open mode</source>
|
||||
<translation>Öffnungsmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read-only</source>
|
||||
<translation>Schreibgeschützt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read/write</source>
|
||||
<translation>Lesen/schreiben</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toolbar</name>
|
||||
@ -553,7 +565,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop JSON and CSV files here</source>
|
||||
<translation type="unfinished">JSON und CSV Dateien hierher Ziehen</translation>
|
||||
<translation>JSON und CSV Dateien hierher Ziehen</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
Binary file not shown.
@ -478,6 +478,18 @@
|
||||
<source>Language</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open mode</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read-only</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read/write</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toolbar</name>
|
||||
|
Binary file not shown.
@ -597,6 +597,18 @@
|
||||
<source>Language</source>
|
||||
<translation>Idioma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open mode</source>
|
||||
<translation>Modo de apertura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read-only</source>
|
||||
<translation>Solo lectura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read/write</source>
|
||||
<translation>Lectura/escritura</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toolbar</name>
|
||||
|
Binary file not shown.
@ -510,6 +510,18 @@
|
||||
<source>Language</source>
|
||||
<translation>语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open mode</source>
|
||||
<translation>开放模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read-only</source>
|
||||
<translation>只读</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read/write</source>
|
||||
<translation>读/写</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Toolbar</name>
|
||||
|
Loading…
x
Reference in New Issue
Block a user