Zigbee and Window: bug fix and memory use optimized.
This commit is contained in:
parent
611176bfcf
commit
75bee1a451
|
@ -1 +1 @@
|
|||
Subproject commit d8b4b1070c291680946f6af7f3783379fe9d52e4
|
||||
Subproject commit aa3604579b8864efe9e777c7dec96209d7b8ee72
|
|
@ -62,7 +62,7 @@ bool DLLN3X::send(ZigbeeFrame zf)
|
|||
{
|
||||
bool status = false;
|
||||
uint8_t len = zf.size();
|
||||
if (zf.getSrcPort() < 0x80 || (len + 4) > 63)
|
||||
if (zf.getSrcPort() < 0x80 || len > 66)
|
||||
return false;
|
||||
status = _DSerial->write((char *)zf.data(),len);
|
||||
status = _DSerial->flush();
|
||||
|
|
|
@ -11,12 +11,31 @@ RibbonView{
|
|||
}
|
||||
spacing: 0
|
||||
|
||||
property int max_msg_num: 10
|
||||
property alias delegate: message_list.delegate
|
||||
property alias message_model: message_model
|
||||
property alias view: message_list
|
||||
|
||||
ListModel{
|
||||
id: message_model
|
||||
property int begin_index: 0
|
||||
property int end_index: 0
|
||||
onCountChanged: {
|
||||
if (end_index == count - 2 || begin_index == end_index)
|
||||
{
|
||||
while(show_model.count > max_msg_num)
|
||||
{
|
||||
show_model.remove(0)
|
||||
begin_index++
|
||||
}
|
||||
show_model.append(message_model.get(count - 1))
|
||||
end_index = count-1
|
||||
//console.log('append:',begin_index,end_index)
|
||||
}
|
||||
}
|
||||
}
|
||||
ListModel{
|
||||
id: show_model
|
||||
}
|
||||
|
||||
ListView{
|
||||
|
@ -25,9 +44,45 @@ RibbonView{
|
|||
Layout.preferredHeight: contentHeight
|
||||
Layout.preferredWidth: parent.width
|
||||
interactive: false
|
||||
model: message_model
|
||||
model: show_model
|
||||
add: Transition {
|
||||
NumberAnimation { properties: "x,y"; from: message_list.height; duration: 1000 }
|
||||
NumberAnimation { properties: "y"; from: message_list.height; duration: 200 }
|
||||
}
|
||||
displaced: Transition {
|
||||
NumberAnimation { properties: "y"; duration: 200 }
|
||||
}
|
||||
}
|
||||
Connections{
|
||||
target: view
|
||||
function onPull_up_triggered()
|
||||
{
|
||||
for(let i = message_model.begin_index - 1, count = 0;
|
||||
i >= 0 && count < max_msg_num; i--,count++ )
|
||||
{
|
||||
show_model.insert(0,message_model.get(i))
|
||||
message_model.begin_index = i
|
||||
if (show_model.count > max_msg_num + 2)
|
||||
{
|
||||
show_model.remove(show_model.count - 1)
|
||||
message_model.end_index--
|
||||
}
|
||||
}
|
||||
//console.log('up:',message_model.begin_index,message_model.end_index)
|
||||
}
|
||||
function onPull_down_triggered()
|
||||
{
|
||||
for(let i = message_model.end_index + 1, count = 0;
|
||||
i < message_model.count && count < max_msg_num; i++,count++ )
|
||||
{
|
||||
show_model.append(message_model.get(i))
|
||||
message_model.end_index = i
|
||||
if (show_model.count > max_msg_num)
|
||||
{
|
||||
show_model.remove(0)
|
||||
message_model.begin_index++
|
||||
}
|
||||
}
|
||||
//console.log('down:',message_model.begin_index,message_model.end_index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ Item{
|
|||
top_padding: serial_title_bar.height + control.top_padding + (!RibbonTheme.modern_style ? 10 : 0)
|
||||
bottom_padding: message_sender.height + control.bottom_padding
|
||||
delegate: ZigBeeMessage{
|
||||
sender_text: `${Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss.zzz")} ${model.recieved ? '收' : '发'}`
|
||||
sender_text: `${model.time} ${model.recieved ? '收' : '发'}`
|
||||
show_tooltip: control.show_tooltip
|
||||
component_width: serial_view.width / 2
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import RibbonUI
|
|||
|
||||
RibbonMessage{
|
||||
id: message_style
|
||||
sender_text: data_model.recieved ? `${Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss ")} Node 0x${data_model.sender}` : `${Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss ")} Computer 0x${data_model.sender}`
|
||||
sender_text: data_model.recieved ? `${data_model.time} Node 0x${data_model.sender}` : `${data_model.time} Computer 0x${data_model.sender}`
|
||||
property var text_list: data_model.text ? data_model.text.split(' ') : []
|
||||
property var decrypted_text_list: data_model.decrypted_text ? data_model.decrypted_text.split(' ') : []
|
||||
property bool show_tooltip: true
|
||||
|
|
|
@ -35,7 +35,7 @@ void EventsBus::push_data(QString type, QJsonObject data)
|
|||
if (_event_history.count() >= 100)
|
||||
_event_history.pop_front();
|
||||
if (data["time"].toString()=="")
|
||||
data.insert("time",QJsonValue(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")));
|
||||
data.insert("time",QJsonValue(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz")));
|
||||
_event_history.append(data);
|
||||
for (auto event : _events) {
|
||||
if (event->type() == type)
|
||||
|
|
Loading…
Reference in New Issue