Reorganized source code

This commit is contained in:
Collin Kidder
2016-12-11 21:06:41 -05:00
parent d8ffbcaf5f
commit 0b46f564ab
56 changed files with 67 additions and 69 deletions
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CANDataGrid</class>
<widget class="QWidget" name="CANDataGrid">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>812</width>
<height>608</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
</widget>
<resources/>
<connections/>
</ui>
+268
View File
@@ -0,0 +1,268 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ConnectionWindow</class>
<widget class="QWidget" name="ConnectionWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>956</width>
<height>527</height>
</rect>
</property>
<property name="windowTitle">
<string>Connection Settings</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="2,1">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Connections:</string>
</property>
</widget>
</item>
<item>
<widget class="QTableView" name="tableConnections">
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="btnNewConn">
<property name="text">
<string>New Connection</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRemoveBus">
<property name="text">
<string>Remove Selected Connection</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QPushButton" name="btnActivateAll">
<property name="text">
<string>Activate All Connections</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnDeactivateAll">
<property name="text">
<string>Deactivate All Connections</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="gbType">
<property name="title">
<string>Connection Type</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QRadioButton" name="rbGVRET">
<property name="text">
<string>GVRET Serial</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbKvaser">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Kvaser</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbSocketCAN">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>SocketCAN</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="lPort">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Port:</string>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stPort">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="cbPage">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QComboBox" name="cbPort">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>341</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="etPage">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLineEdit" name="lePort">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ckSingleWire">
<property name="text">
<string>Single Wire Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ckListenOnly">
<property name="text">
<string>Listen Only Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ckEnabled">
<property name="text">
<string>Enabled</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="1,2">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>CAN Speed</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbSpeed"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QPushButton" name="btnOK">
<property name="text">
<string>Create New Connection</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRevert">
<property name="text">
<string>Revert</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+81
View File
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DBCLoadSaveWindow</class>
<widget class="QDialog" name="DBCLoadSaveWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>506</width>
<height>665</height>
</rect>
</property>
<property name="windowTitle">
<string>DBC File Manager</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTableWidget" name="tableFiles"/>
</item>
<item>
<widget class="QPushButton" name="btnNewDBC">
<property name="text">
<string>Create new DBC</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnLoad">
<property name="text">
<string>Load</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRemove">
<property name="text">
<string>Remove</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnMoveUp">
<property name="text">
<string>Move Up</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btnSave">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnEdit">
<property name="text">
<string>Edit</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnMoveDown">
<property name="text">
<string>Move Down</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+49
View File
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DBCMainEditor</class>
<widget class="QDialog" name="DBCMainEditor">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1103</width>
<height>571</height>
</rect>
</property>
<property name="windowTitle">
<string>DBC Editing Window</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3" stretch="1,3">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Nodes</string>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="NodesTable"/>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Messages</string>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="MessagesTable"/>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+228
View File
@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DBCSignalEditor</class>
<widget class="QDialog" name="DBCSignalEditor">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>884</width>
<height>915</height>
</rect>
</property>
<property name="windowTitle">
<string>Signal Editor</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" stretch="10,1,5">
<item>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,2">
<item>
<widget class="QListWidget" name="signalsList"/>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Signal Parameters</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Name:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtName"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Start Bit:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="CANDataGrid" name="bitfield" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>200</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Bit Length:</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Byte Order</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtBitLength"/>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="cbIntelFormat">
<property name="text">
<string>Intel (Little Endian)</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Scale:</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Bias:</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Min Value:</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Max Value:</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Receiving Node:</string>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Comment:</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Units Name:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="comboType"/>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtScale"/>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="txtBias"/>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="txtMinVal"/>
</item>
<item row="8" column="1">
<widget class="QLineEdit" name="txtMaxVal"/>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="txtUnitName"/>
</item>
<item row="10" column="1">
<widget class="QComboBox" name="comboReceiver"/>
</item>
<item row="14" column="1">
<widget class="QLineEdit" name="txtComment"/>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Multiplexing</string>
</property>
</widget>
</item>
<item row="12" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QRadioButton" name="rbNotMulti">
<property name="text">
<string>Not multiplexed</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbMultiplexed">
<property name="text">
<string>Multiplexed</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbMultiplexor">
<property name="text">
<string>Multiplexor</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Multiplex Value</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QLineEdit" name="txtMultiplexValue"/>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Value Table For Selected Signal:</string>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="valuesTable"/>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>CANDataGrid</class>
<extends>QWidget</extends>
<header>candatagrid.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+271
View File
@@ -0,0 +1,271 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DiscreteStateWindow</class>
<widget class="QDialog" name="DiscreteStateWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>749</width>
<height>795</height>
</rect>
</property>
<property name="windowTitle">
<string>Single/Multi State WIndow</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label">
<property name="text">
<string>Candidate Matches:</string>
</property>
</widget>
</item>
<item>
<widget class="QTreeWidget" name="treeMatches">
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Number of States:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinStates">
<property name="minimum">
<number>2</number>
</property>
<property name="maximum">
<number>64</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QRadioButton" name="rbRealtime">
<property name="text">
<string>Realtime</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbLogged">
<property name="text">
<string>From logged data</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4" stretch="2,2">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Toggle Frequency (Seconds)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinFreq">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>30</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Iterations</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinIterations">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10</number>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="lblStatus">
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<family>Nirmala UI</family>
<pointsize>26</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>WAIT</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Min Bits</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinMinBits">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>8</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Max Bits</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinMaxBits">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>8</number>
</property>
<property name="value">
<number>8</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>IDs to Scan</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listID"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="btnAll">
<property name="text">
<string>All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnNone">
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout"/>
</item>
<item>
<widget class="QPushButton" name="btnStart">
<property name="text">
<string>Go for it</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+109
View File
@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FileComparatorWindow</class>
<widget class="QDialog" name="FileComparatorWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>720</width>
<height>631</height>
</rect>
</property>
<property name="windowTitle">
<string>File Comparator</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>File of interest:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblFirstFile">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnInterestedFile">
<property name="text">
<string>Load New File</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Loaded reference frames:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblRefFrames">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btnLoadRefFile">
<property name="text">
<string>Load A File</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClear">
<property name="text">
<string>Clear Frames</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="ckUniqueToInterested">
<property name="text">
<string>Show only unique data for interested file</string>
</property>
</widget>
</item>
<item>
<widget class="QTreeWidget" name="treeDetails">
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnSaveDetails">
<property name="text">
<string>Save Details to File</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+106
View File
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FirmwareUploaderWindow</class>
<widget class="QDialog" name="FirmwareUploaderWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>327</width>
<height>357</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Loaded File:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblFilename">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnLoadFile">
<property name="text">
<string>Load File</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label">
<property name="text">
<string>Device Token:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtToken"/>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_4">
<property name="text">
<string>CAN Bus:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBus"/>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Base Address:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtBaseAddr"/>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="lblProgress">
<property name="text">
<string>X of Y bytes</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnStartStop">
<property name="text">
<string>Start Upload</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+1395
View File
File diff suppressed because it is too large Load Diff
+82
View File
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FrameInfoWindow</class>
<widget class="QDialog" name="FrameInfoWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>794</width>
<height>494</height>
</rect>
</property>
<property name="windowTitle">
<string>Detailed Frame Information</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="lblFrameID">
<property name="text">
<string>Frame IDs:</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listFrameID">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>120</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Details:</string>
</property>
</widget>
</item>
<item>
<widget class="QTreeWidget" name="treeDetails">
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="btnSave">
<property name="text">
<string>Save details to file</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
<slots>
<slot>updateDetailsWindow(QListWidgetItem*)</slot>
</slots>
</ui>
+344
View File
@@ -0,0 +1,344 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FramePlaybackWindow</class>
<widget class="QDialog" name="FramePlaybackWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>742</width>
<height>606</height>
</rect>
</property>
<property name="windowTitle">
<string>Playback</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnStepBack">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/images/NavBack.png</normaloff>:/icons/images/NavBack.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnPause">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/images/PauseHS.png</normaloff>:/icons/images/PauseHS.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnPlayReverse">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/images/ReverseHS.png</normaloff>:/icons/images/ReverseHS.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnStop">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/images/StopHS.png</normaloff>:/icons/images/StopHS.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnPlay">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/images/PlayHS.png</normaloff>:/icons/images/PlayHS.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnStepForward">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/images/NavForward.png</normaloff>:/icons/images/NavForward.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>25</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label">
<property name="text">
<string>Playback speed (ms):</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinPlaySpeed">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Burst Rate:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBurstSpeed">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>8</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Current Playback Item:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="lblCurrPlayback">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Current frame:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="lblPosition">
<property name="text">
<string>x of y</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QCheckBox" name="cbLoop">
<property name="text">
<string>Loop Sequence</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Send to CANBus</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboCANBus"/>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Playback Sequence:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="tblSequence"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QPushButton" name="btnLoadFile">
<property name="text">
<string>Load File</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnLoadLive">
<property name="text">
<string>Load Captured Data</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnDelete">
<property name="text">
<string>Delete Selected</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>ID Filtering:</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listID"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QPushButton" name="btnSelectAll">
<property name="text">
<string>Select all IDs</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnSelectNone">
<property name="text">
<string>Deselect all IDs</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3"/>
</item>
</layout>
</widget>
<resources>
<include location="icons.qrc"/>
</resources>
<connections/>
</ui>
+83
View File
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FrameSenderWindow</class>
<widget class="QDialog" name="FrameSenderWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1008</width>
<height>611</height>
</rect>
</property>
<property name="windowTitle">
<string>Frame Sender</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTableWidget" name="tableSender">
<property name="alternatingRowColors">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnEnableAll">
<property name="text">
<string>Enable All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnDisableAll">
<property name="text">
<string>Disable All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearGrid">
<property name="text">
<string>Clear Grid</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnLoadGrid">
<property name="text">
<string>Load to Grid</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnSaveGrid">
<property name="text">
<string>Save Grid</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+306
View File
@@ -0,0 +1,306 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FuzzingWindow</class>
<widget class="QDialog" name="FuzzingWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>760</width>
<height>671</height>
</rect>
</property>
<property name="windowTitle">
<string>Fuzzing Window</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,1,3,6,0,0,0">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Interframe Timing (ms)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinTiming">
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>10</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Number of data bytes</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBytes">
<property name="maximum">
<number>8</number>
</property>
<property name="value">
<number>8</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Burst Rate</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBurst">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Bus or Buses to Send On</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbBuses"/>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>ID Scanning</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="rbSequentialID">
<property name="text">
<string>Seqential</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbRandomID">
<property name="text">
<string>Random</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>ID Selection</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QRadioButton" name="rbRangeIDSel">
<property name="text">
<string>Range of IDs</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbFilterIDSel">
<property name="text">
<string>Filter List</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Bit Scanning</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QRadioButton" name="rbSequentialBits">
<property name="text">
<string>Sequential</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbSweep">
<property name="text">
<string>Sweep</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbRandomBits">
<property name="text">
<string>Random</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>IDs</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Start ID:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtStartID"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>End ID:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtEndID"/>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QListWidget" name="listID"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QPushButton" name="btnAllFilters">
<property name="text">
<string>All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnNoFilters">
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="CANDataGrid" name="bitfield" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>200</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>White = Bit always 0, Green = Fuzz Bit, Black = Bit always set, Gray = Past end of data bytes</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnStartStop">
<property name="text">
<string>Start Fuzzing</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblNumFrames">
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string># of sent frames:</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>CANDataGrid</class>
<extends>QWidget</extends>
<header>candatagrid.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+51
View File
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GraphingWindow</class>
<widget class="QDialog" name="GraphingWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>800</width>
<height>600</height>
</size>
</property>
<property name="windowTitle">
<string>Data Graphing</string>
</property>
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QCustomPlot" name="graphingView" native="true"/>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QCustomPlot</class>
<extends>QWidget</extends>
<header>qcustomplot.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+123
View File
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ISOTP_InterpreterWindow</class>
<widget class="QDialog" name="ISOTP_InterpreterWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>792</width>
<height>725</height>
</rect>
</property>
<property name="windowTitle">
<string>ISO-TP Decoder</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label">
<property name="text">
<string>Interpreted Messages Overview</string>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="tableIsoFrames"/>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QCheckBox" name="cbShowIncomplete">
<property name="text">
<string>Show incomplete and/or corrupted messages</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Data Details of Selected Message</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Interpret As:</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbRaw">
<property name="text">
<string>Raw</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbUDS">
<property name="text">
<string>UDS</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbOBDII">
<property name="text">
<string>OBDII</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTextBrowser" name="txtFrameDetails"/>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="lblFilter">
<property name="text">
<string>IDs to Decode</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listFilter"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btnAll">
<property name="text">
<string>All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnNone">
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+168
View File
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainSettingsDialog</class>
<widget class="QDialog" name="MainSettingsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>580</height>
</rect>
</property>
<property name="windowTitle">
<string>Main Settings</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>General Settings:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="cbRestorePositions">
<property name="text">
<string>Save/Restore window positions and sizes</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbDisplayHex">
<property name="text">
<string>Display values as hexadecimal</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbValidate">
<property name="text">
<string>Require validation of GVRET connection</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbTimeSeconds">
<property name="text">
<string>Display time in seconds</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbUseFiltered">
<property name="text">
<string>Use filtered frames in sub-windows</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Main Form Settings:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="cbMainAutoScroll">
<property name="text">
<string>Autoscroll main frame window by default</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Flowview Settings:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="cbFlowUseTimestamp">
<property name="text">
<string>Use timestamp mode by default</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbFlowAutoRef">
<property name="text">
<string>Set Auto Reference by default</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Playback Window Settings:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QCheckBox" name="cbPlaybackLoop">
<property name="text">
<string>Loop by default</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Default playback speed (ms)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinPlaybackSpeed">
<property name="maximum">
<number>1000</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Default Sending Bus</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboSendingBus"/>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>File Info and Comparator Settings:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QCheckBox" name="cbInfoAutoExpand">
<property name="text">
<string>Auto expand all nodes</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+426
View File
@@ -0,0 +1,426 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>682</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>800</width>
<height>500</height>
</size>
</property>
<property name="windowTitle">
<string>SavvyCAN</string>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QTableView" name="canFramesView">
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Total Frames Captured:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="lbNumFrames">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_6">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Frames Per Second:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="lbFPS">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnCaptureToggle">
<property name="text">
<string>Suspend Capturing</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnNormalize">
<property name="text">
<string>Normalize Frame Timing</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearFrames">
<property name="text">
<string>Clear Frames</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbAutoScroll">
<property name="text">
<string>Auto Scroll Window</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbInterpret">
<property name="text">
<string>Interpret Frames</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbOverwrite">
<property name="text">
<string>Overwrite Mode</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Frame Filtering:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QListWidget" name="listFilters">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>160</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>175</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="btnFilterAll">
<property name="text">
<string>All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnFilterNone">
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>19</height>
</rect>
</property>
<widget class="QMenu" name="menu_RE_Tools">
<property name="title">
<string>RE Tools</string>
</property>
<addaction name="actionFlow_View"/>
<addaction name="actionGraph_Dta"/>
<addaction name="actionFrame_Data_Analysis"/>
<addaction name="actionFile_Comparison"/>
<addaction name="actionRange_State_2"/>
<addaction name="actionSingle_Multi_State_2"/>
<addaction name="actionISO_TP_Decoder"/>
<addaction name="actionSniffer"/>
</widget>
<widget class="QMenu" name="menuSend_Frames">
<property name="title">
<string>Send Frames</string>
</property>
<addaction name="action_Playback"/>
<addaction name="action_Custom"/>
<addaction name="actionScripting_INterface"/>
<addaction name="actionFuzzing"/>
<addaction name="actionUDS_Scanner"/>
<addaction name="actionFirmware_Update"/>
<addaction name="actionMotorControlConfig"/>
</widget>
<widget class="QMenu" name="menuFile">
<property name="title">
<string>File</string>
</property>
<addaction name="actionOpen_Log_File"/>
<addaction name="actionSave_Filtered_Log_File"/>
<addaction name="actionSave_Log_File"/>
<addaction name="separator"/>
<addaction name="actionLoad_Filter_Definition"/>
<addaction name="actionSave_Filter_Definition"/>
<addaction name="separator"/>
<addaction name="actionDBC_File_Manager"/>
<addaction name="actionSave_Decoded_Frames"/>
<addaction name="separator"/>
<addaction name="actionPreferences"/>
<addaction name="separator"/>
<addaction name="actionExit_Application"/>
</widget>
<widget class="QMenu" name="menuConnection">
<property name="title">
<string>Connection</string>
</property>
<addaction name="actionSetup"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menu_RE_Tools"/>
<addaction name="menuSend_Frames"/>
<addaction name="menuConnection"/>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<action name="action_Playback">
<property name="text">
<string>Playback</string>
</property>
</action>
<action name="action_Custom">
<property name="text">
<string>Custom</string>
</property>
</action>
<action name="actionFlow_View">
<property name="text">
<string>Flow View</string>
</property>
</action>
<action name="actionFuzzy_Scope">
<property name="text">
<string>Fuzzy Scope</string>
</property>
</action>
<action name="actionGraph_Dta">
<property name="text">
<string>Graph Data</string>
</property>
</action>
<action name="actionOpen_Log_File">
<property name="text">
<string>Load Log File</string>
</property>
</action>
<action name="actionSave_Log_File">
<property name="text">
<string>Save Log File</string>
</property>
</action>
<action name="actionFrame_Data_Analysis">
<property name="text">
<string>Frame Data Analysis</string>
</property>
</action>
<action name="actionLoad_DBC_File">
<property name="text">
<string>Load DBC File</string>
</property>
</action>
<action name="actionEdit_Messages_Signals">
<property name="text">
<string>Edit Messages/Signals</string>
</property>
</action>
<action name="actionSave_DBC_File">
<property name="text">
<string>Save DBC File</string>
</property>
</action>
<action name="actionSave_Decoded_Frames">
<property name="text">
<string>Save Decoded Frames</string>
</property>
</action>
<action name="actionExit_Application">
<property name="text">
<string>Exit Application</string>
</property>
</action>
<action name="actionFile_Comparison">
<property name="text">
<string>File Comparison</string>
</property>
</action>
<action name="actionPreferences">
<property name="text">
<string>Preferences</string>
</property>
</action>
<action name="actionSave_Filtered_Log_File">
<property name="text">
<string>Save Filtered Log File</string>
</property>
</action>
<action name="actionLoad_Filter_Definition">
<property name="text">
<string>Load Filter Definition</string>
</property>
</action>
<action name="actionSave_Filter_Definition">
<property name="text">
<string>Save Filter Definition</string>
</property>
</action>
<action name="actionFirmware_Uploader">
<property name="text">
<string>Firmware Uploader</string>
</property>
</action>
<action name="actionSetup">
<property name="text">
<string>Open Connection WIndow</string>
</property>
</action>
<action name="actionConnect">
<property name="text">
<string>Connect</string>
</property>
</action>
<action name="actionScripting_INterface">
<property name="text">
<string>Scripting Interface</string>
</property>
</action>
<action name="actionRange_State_2">
<property name="text">
<string>Range State</string>
</property>
</action>
<action name="actionSingle_Multi_State_2">
<property name="text">
<string>Single/Multi State</string>
</property>
</action>
<action name="actionDBC_File_Manager">
<property name="text">
<string>DBC File Manager</string>
</property>
</action>
<action name="actionFuzzing">
<property name="text">
<string>Fuzzing</string>
</property>
</action>
<action name="actionUDS_Scanner">
<property name="text">
<string>UDS Scanner</string>
</property>
</action>
<action name="actionISO_TP_Decoder">
<property name="text">
<string>ISO-TP Decoder</string>
</property>
</action>
<action name="actionSniffer">
<property name="text">
<string>Sniffer</string>
</property>
</action>
<action name="actionFirmware_Update">
<property name="text">
<string>Firmware Update</string>
</property>
</action>
<action name="actionMotorControlConfig">
<property name="text">
<string>MotorControlConfig</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
<slots>
<slot>handleLoadFile()</slot>
<slot>connButtonPress()</slot>
<slot>showGraphingWindow()</slot>
<slot>showFrameDataAnalysis()</slot>
</slots>
</ui>
+363
View File
@@ -0,0 +1,363 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MotorControllerConfigWindow</class>
<widget class="QDialog" name="MotorControllerConfigWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>902</width>
<height>328</height>
</rect>
</property>
<property name="windowTitle">
<string>Controller Configuration</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="7">
<widget class="QLineEdit" name="editMotorTemp1Offset"/>
</item>
<item row="2" column="2">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Inv Temp 2 Offset</string>
</property>
</widget>
</item>
<item row="0" column="6">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Current 1 Offset</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QLabel" name="label_23">
<property name="text">
<string>Motor Type</string>
</property>
</widget>
</item>
<item row="0" column="7">
<widget class="QLineEdit" name="editCurrent1Offset"/>
</item>
<item row="2" column="4">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Motor Temp 1 Scale</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Inv Temp 1 Scale</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Motor Temp 2 Offset</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Encoder Count</string>
</property>
</widget>
</item>
<item row="4" column="4">
<widget class="QLabel" name="label_25">
<property name="text">
<string>Pole Pairs</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="editEncoderCount"/>
</item>
<item row="0" column="5">
<widget class="QLineEdit" name="editCurrent1Scale"/>
</item>
<item row="4" column="3">
<widget class="QLineEdit" name="editEncoderDir"/>
</item>
<item row="4" column="7">
<widget class="QLineEdit" name="editRotorTime"/>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="editCurrent2Scale"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Max Torque</string>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Motor Temp 1 Offset</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Encoder Direction</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Voltage Scale</string>
</property>
</widget>
</item>
<item row="3" column="6">
<widget class="QLabel" name="label_24">
<property name="text">
<string>Control Type</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLineEdit" name="editVoltageOffset"/>
</item>
<item row="1" column="3">
<widget class="QLineEdit" name="editCurrent2Offset"/>
</item>
<item row="1" column="5">
<widget class="QLineEdit" name="editInvTemp1Scale"/>
</item>
<item row="1" column="7">
<widget class="QLineEdit" name="editInvTemp1Offset"/>
</item>
<item row="2" column="3">
<widget class="QLineEdit" name="editInvTemp2Offset"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Torque KP</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Motor Temp 2 Scale</string>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Current 1 Scale</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Inv Temp 2 Scale</string>
</property>
</widget>
</item>
<item row="6" column="6">
<widget class="QLabel" name="label_30">
<property name="text">
<string>VHz Full RPM</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QLineEdit" name="editMotorTemp2Offset"/>
</item>
<item row="3" column="5">
<widget class="QLineEdit" name="editMotorType"/>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="editVoltageScale"/>
</item>
<item row="5" column="2">
<widget class="QLabel" name="label_20">
<property name="text">
<string>Torque KI</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="editInvTemp2Scale"/>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Current 2 Offset</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Voltage Offset</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Current 2 Scale</string>
</property>
</widget>
</item>
<item row="4" column="6">
<widget class="QLabel" name="label_26">
<property name="text">
<string>Rotor Time Const</string>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QLabel" name="label_27">
<property name="text">
<string>Torque KD</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QLabel" name="label_21">
<property name="text">
<string>Max Amps Drive</string>
</property>
</widget>
</item>
<item row="1" column="6">
<widget class="QLabel" name="label_16">
<property name="text">
<string>Inv Temp 1 Offset</string>
</property>
</widget>
</item>
<item row="6" column="4">
<widget class="QLabel" name="label_29">
<property name="text">
<string>Max Amps Regen</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="editMotorTemp2Scale"/>
</item>
<item row="7" column="2">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Hall AB</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Theta Offset</string>
</property>
</widget>
</item>
<item row="2" column="5">
<widget class="QLineEdit" name="editMotorTemp1Scale"/>
</item>
<item row="7" column="6">
<widget class="QLabel" name="label_32">
<property name="text">
<string>Hall CA</string>
</property>
</widget>
</item>
<item row="4" column="5">
<widget class="QLineEdit" name="editPolePairs"/>
</item>
<item row="5" column="6">
<widget class="QLabel" name="label_28">
<property name="text">
<string>Max RPM</string>
</property>
</widget>
</item>
<item row="7" column="4">
<widget class="QLabel" name="label_31">
<property name="text">
<string>Hall BC</string>
</property>
</widget>
</item>
<item row="3" column="7">
<widget class="QLineEdit" name="editControlType"/>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="editTorqueKP"/>
</item>
<item row="5" column="3">
<widget class="QLineEdit" name="editTorqueKI"/>
</item>
<item row="5" column="5">
<widget class="QLineEdit" name="editTorqueKD"/>
</item>
<item row="5" column="7">
<widget class="QLineEdit" name="editMaxRPM"/>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="editMaxTorque"/>
</item>
<item row="6" column="3">
<widget class="QLineEdit" name="editMaxAmpsDrive"/>
</item>
<item row="6" column="5">
<widget class="QLineEdit" name="editMaxAmpsRegen"/>
</item>
<item row="6" column="7">
<widget class="QLineEdit" name="editVHZFull"/>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="editThetaOffset"/>
</item>
<item row="7" column="3">
<widget class="QLineEdit" name="editHallAB"/>
</item>
<item row="7" column="5">
<widget class="QLineEdit" name="editHallBC"/>
</item>
<item row="7" column="7">
<widget class="QLineEdit" name="editHallCA"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnRefresh">
<property name="text">
<string>Refresh</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnSave">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+266
View File
@@ -0,0 +1,266 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>NewGraphDialog</class>
<widget class="QDialog" name="NewGraphDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>681</width>
<height>640</height>
</rect>
</property>
<property name="windowTitle">
<string>Graph Settings</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="3,2">
<item>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>ID:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtID"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Start Bit:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Signed:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="cbSigned">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_4">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="text">
<string>Mask:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="txtMask"/>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Bias:</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="txtBias"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Scale</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLineEdit" name="txtScale"/>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Stride</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="txtStride"/>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QPushButton" name="colorSwatch">
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="text">
<string>CHANGE</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QPushButton" name="btnAddGraph">
<property name="text">
<string>Add this graph</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Name:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtName"/>
</item>
<item row="2" column="1">
<widget class="CANDataGrid" name="gridData" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>290</height>
</size>
</property>
<property name="baseSize">
<size>
<width>150</width>
<height>150</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Intel Format</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="cbIntel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Data Len:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="txtDataLen"/>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_11">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Graph a DBC Signal:</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Message:</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbMessages"/>
</item>
<item>
<widget class="QLabel" name="label_10">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Signal:</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbSignals"/>
</item>
<item>
<widget class="QPushButton" name="btnCopySignal">
<property name="text">
<string>Copy Signal Parameters</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>CANDataGrid</class>
<extends>QWidget</extends>
<header>candatagrid.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+207
View File
@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RangeStateWindow</class>
<widget class="QDialog" name="RangeStateWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>763</width>
<height>938</height>
</rect>
</property>
<property name="windowTitle">
<string>Range State Window</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,2,0,2">
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Candidate Signals:</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listCandidates"/>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Graphical Representation of Selected Signal:</string>
</property>
</widget>
</item>
<item>
<widget class="QCustomPlot" name="graphSignal" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Sensitivity</string>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="slideSensitivity">
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>250</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Min Signal Size:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinMinSigSize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>32</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Max Signal Size:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinMaxSigSize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>32</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Granularity:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinGranularity">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>32</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Signal Mode:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbSignalMode"/>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Signed Mode:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbSignedMode"/>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>ID Filter:</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listFilter"/>
</item>
<item>
<widget class="QPushButton" name="btnAllFilter">
<property name="text">
<string>All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnNoneFilter">
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="btnRecalc">
<property name="text">
<string>Recalculate Candidate Signals</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QCustomPlot</class>
<extends>QWidget</extends>
<header>qcustomplot.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+128
View File
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ScriptingWindow</class>
<widget class="QDialog" name="ScriptingWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>862</width>
<height>651</height>
</rect>
</property>
<property name="windowTitle">
<string>Scripting Interface</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,4">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Loaded Scripts</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listLoadedScripts"/>
</item>
<item>
<widget class="QPushButton" name="btnLoadScript">
<property name="text">
<string>Load New Script</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnNewScript">
<property name="text">
<string>Create New Script</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRemoveScript">
<property name="text">
<string>Remove Current Script</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,10,0,0,4">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Script Editing Window</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QsciScintilla" name="txtScriptSource">
<property name="toolTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btnSaveScript">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRevertScript">
<property name="text">
<string>Revert</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRecompile">
<property name="text">
<string>Recompile</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Current Scripting Errors</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listErrors"/>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QsciScintilla</class>
<extends>QFrame</extends>
<header>Qsci/qsciscintilla.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+188
View File
@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>snifferWindow</class>
<widget class="QDialog" name="snifferWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>602</width>
<height>752</height>
</rect>
</property>
<property name="windowTitle">
<string>Sniffer</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<widget class="QTreeView" name="treeView">
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btNotch">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Notch</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btUnNotch">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Unnotch</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>Filters:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<widget class="QListWidget" name="listWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<widget class="QPushButton" name="btAll">
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>All</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btNone">
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+115
View File
@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>UDSScanWindow</class>
<widget class="QDialog" name="UDSScanWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>742</width>
<height>527</height>
</rect>
</property>
<property name="windowTitle">
<string>UDS Scanner</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Results</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listResults"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Starting ID</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtStartID">
<property name="text">
<string>0x7E0</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Ending ID</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtEndID">
<property name="text">
<string>0x7E7</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Reply Offset:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinReplyOffset">
<property name="minimum">
<number>-128</number>
</property>
<property name="maximum">
<number>128</number>
</property>
<property name="value">
<number>8</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbAllowAdaptiveOffset">
<property name="text">
<string>Allow adaptive reply offset</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Buses to scan</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbBuses"/>
</item>
<item>
<widget class="QPushButton" name="btnScan">
<property name="text">
<string>Start Scan</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>