translate events
parent
4e898fe88f
commit
1b50e24f65
|
@ -226,10 +226,13 @@ void can_send_thread(std::vector<Panda *> pandas, bool fake_send) {
|
|||
capnp::FlatArrayMessageReader cmsg(aligned_buf.align(msg.get()));
|
||||
cereal::Event::Reader event = cmsg.getRoot<cereal::Event>();
|
||||
|
||||
LOGTT("sendcan received", event.getLogMonoTime(), true);
|
||||
|
||||
//Dont send if older than 1 second
|
||||
if ((nanos_since_boot() - event.getLogMonoTime() < 1e9) && !fake_send) {
|
||||
for (const auto& panda : pandas) {
|
||||
panda->can_send(event.getSendcan());
|
||||
LOGTT((std::string("sendcan sent to panda: ")+std::string(panda->usb_serial)).c_str(), event.getLogMonoTime() , true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,13 +19,19 @@ void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func
|
|||
__func__, \
|
||||
fmt, ## __VA_ARGS__)
|
||||
|
||||
#define cloudlog_t(lvl, event_name, frame_id, ...) \
|
||||
#define cloudlog_t_translate(lvl, event_name, frame_id, translate,...) \
|
||||
{ \
|
||||
uint64_t ns = nanos_since_boot(); \
|
||||
std::string msg = std::string("{'timestamp': {'event': '") + std::string(event_name) + std::string("' ,'frameId':")+ std::to_string(frame_id) + std::string(",'time':") + std::to_string(ns)+std::string("}}"); \
|
||||
cloudlog(lvl, msg.c_str(), ## __VA_ARGS__); \
|
||||
std::string json_msg = std::string("{'timestamp': {'event': '") + std::string(event_name) + std::string("' ,'frameId':")+ std::to_string(frame_id) + std::string(",'time':") + std::to_string(ns)+ std::string(",'translate':") + std::to_string(translate)+std::string("}}"); \
|
||||
cloudlog(lvl, json_msg.c_str(), ## __VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define cloudlog_t(lvl, event_name, frame_id,...) \
|
||||
{ \
|
||||
uint64_t ns = nanos_since_boot(); \
|
||||
std::string json_msg = std::string("{'timestamp': {'event': '") + std::string(event_name) + std::string("' ,'frameId':")+ std::to_string(frame_id) + std::string(",'time':") + std::to_string(ns)+ std::string(",'translate':") + std::string("false")+std::string("}}"); \
|
||||
cloudlog(lvl, json_msg.c_str(), ## __VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define cloudlog_rl(burst, millis, lvl, fmt, ...) \
|
||||
{ \
|
||||
|
@ -56,7 +62,8 @@ void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func
|
|||
} \
|
||||
}
|
||||
|
||||
#define LOGT(event_name , frame_id, ...) cloudlog_t(CLOUDLOG_TIMESTAMP, event_name, frame_id, ## __VA_ARGS__)
|
||||
#define LOGTT(event_name , frame_id, translate, ...) cloudlog_t_translate(CLOUDLOG_TIMESTAMP, event_name, frame_id, translate,## __VA_ARGS__)
|
||||
#define LOGT(event_name , frame_id, ...) cloudlog_t(CLOUDLOG_TIMESTAMP, event_name, frame_id,## __VA_ARGS__)
|
||||
#define LOGD(fmt, ...) cloudlog(CLOUDLOG_DEBUG, fmt, ## __VA_ARGS__)
|
||||
#define LOG(fmt, ...) cloudlog(CLOUDLOG_INFO, fmt, ## __VA_ARGS__)
|
||||
#define LOGW(fmt, ...) cloudlog(CLOUDLOG_WARNING, fmt, ## __VA_ARGS__)
|
||||
|
|
|
@ -631,7 +631,9 @@ class Controls:
|
|||
if not self.read_only and self.initialized:
|
||||
# send car controls over can
|
||||
self.last_actuators, can_sends = self.CI.apply(CC)
|
||||
self.pm.send('sendcan', can_list_to_can_capnp(can_sends, msgtype='sendcan', valid=CS.canValid))
|
||||
sendcan_msg = can_list_to_can_capnp(can_sends, msgtype='sendcan')
|
||||
self.pm.send('sendcan', sendcan_msg , valid=CS.canValid)
|
||||
cloudlog.event("translate", logMonoTime=sendcan_msg.logMonoTime, frameId=frame_id)
|
||||
cloudlog.timestamp("sendcan Published", frame_id)
|
||||
CC.actuatorsOutput = self.last_actuators
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ from collections import defaultdict
|
|||
|
||||
timestamps = defaultdict(lambda: defaultdict(lambda: defaultdict(list)))
|
||||
|
||||
r = Route("9f583b1d93915c31|2022-03-22--15-13-06")
|
||||
r = Route("9f583b1d93915c31|2022-03-22--15-59-29")
|
||||
lr = LogReader(r.log_paths()[0])
|
||||
|
||||
for msg in lr:
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue