mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-02 12:02:09 +08:00
boardd: Improve performance of can_list_to_can_capnp() (#32356)
old-commit-hash: e548742701bac60f872ee4a1043b014e1ae00731
This commit is contained in:
@@ -15,16 +15,17 @@ cdef extern from "can_list_to_can_capnp.cc":
|
||||
void can_list_to_can_capnp_cpp(const vector[can_frame] &can_list, string &out, bool sendCan, bool valid)
|
||||
|
||||
def can_list_to_can_capnp(can_msgs, msgtype='can', valid=True):
|
||||
cdef can_frame *f
|
||||
cdef vector[can_frame] can_list
|
||||
can_list.reserve(len(can_msgs))
|
||||
|
||||
cdef can_frame f
|
||||
can_list.reserve(len(can_msgs))
|
||||
for can_msg in can_msgs:
|
||||
f = &(can_list.emplace_back())
|
||||
f.address = can_msg[0]
|
||||
f.busTime = can_msg[1]
|
||||
f.dat = can_msg[2]
|
||||
f.src = can_msg[3]
|
||||
can_list.push_back(f)
|
||||
|
||||
cdef string out
|
||||
can_list_to_can_capnp_cpp(can_list, out, msgtype == 'sendcan', valid)
|
||||
return out
|
||||
|
||||
Reference in New Issue
Block a user