dragonpilot beta3

date: 2023-10-09T10:55:55
commit: 91b6e3aecd7170f24bccacb10c515ec281c30295
This commit is contained in:
dragonpilot
2023-10-09 10:54:45 -07:00
parent a9ba3193e2
commit cfe0ae9b8a
518 changed files with 159749 additions and 17401 deletions
+5 -13
View File
@@ -11,7 +11,7 @@ from typing import Optional, List, Union, Dict, Deque
from collections import deque
from cereal import log
from cereal.services import service_list
from cereal.services import SERVICE_LIST
assert MultiplePublishersError
assert MessagingError
@@ -24,13 +24,6 @@ assert wait_for_one_event
NO_TRAVERSAL_LIMIT = 2**64-1
AVG_FREQ_HISTORY = 100
# sec_since_boot is faster, but allow to run standalone too
try:
from common.realtime import sec_since_boot
except ImportError:
sec_since_boot = time.time
print("Warning, using python time.time() instead of faster sec_since_boot")
context = Context()
@@ -50,7 +43,7 @@ def log_from_bytes(dat: bytes) -> capnp.lib.capnp._DynamicStructReader:
def new_message(service: Optional[str] = None, size: Optional[int] = None) -> capnp.lib.capnp._DynamicStructBuilder:
dat = log.Event.new_message()
dat.logMonoTime = int(sec_since_boot() * 1e9)
dat.logMonoTime = int(time.monotonic() * 1e9)
dat.valid = True
if service is not None:
if size is None:
@@ -187,7 +180,7 @@ class SubMaster:
if addr is not None:
p = self.poller if s not in self.non_polled_services else None
self.sock[s] = sub_sock(s, poller=p, addr=addr, conflate=True)
self.freq[s] = service_list[s].frequency
self.freq[s] = SERVICE_LIST[s].frequency
try:
data = new_message(s)
@@ -213,7 +206,7 @@ class SubMaster:
# non-blocking receive for non-polled sockets
for s in self.non_polled_services:
msgs.append(recv_one_or_none(self.sock[s]))
self.update_msgs(sec_since_boot(), msgs)
self.update_msgs(time.monotonic(), msgs)
def update_msgs(self, cur_time: float, msgs: List[capnp.lib.capnp._DynamicStructReader]) -> None:
self.frame += 1
@@ -294,8 +287,7 @@ class PubMaster:
dat = dat.to_bytes()
self.sock[s].send(dat)
def wait_for_readers_to_update(self, s: str, timeout: int) -> bool:
dt = 0.05
def wait_for_readers_to_update(self, s: str, timeout: int, dt: float = 0.05) -> bool:
for _ in range(int(timeout*(1./dt))):
if self.sock[s].all_readers_updated():
return True
Binary file not shown.
+1 -1
View File
@@ -63,5 +63,5 @@ private:
public:
void registerSocket(SubSocket *socket) override;
std::vector<SubSocket*> poll(int timeout) override;
~FakePoller() {};
~FakePoller() {}
};
+1 -1
View File
@@ -63,5 +63,5 @@ private:
public:
void registerSocket(SubSocket *socket);
std::vector<SubSocket*> poll(int timeout);
~MSGQPoller(){};
~MSGQPoller(){}
};
+1 -1
View File
@@ -63,5 +63,5 @@ private:
public:
void registerSocket(SubSocket *socket);
std::vector<SubSocket*> poll(int timeout);
~ZMQPoller(){};
~ZMQPoller(){}
};
+4 -4
View File
@@ -33,7 +33,7 @@ public:
virtual void close() = 0;
virtual size_t getSize() = 0;
virtual char * getData() = 0;
virtual ~Message(){};
virtual ~Message(){}
};
@@ -45,7 +45,7 @@ public:
virtual void * getRawSocket() = 0;
static SubSocket * create();
static SubSocket * create(Context * context, std::string endpoint, std::string address="127.0.0.1", bool conflate=false, bool check_endpoint=true);
virtual ~SubSocket(){};
virtual ~SubSocket(){}
};
class PubSocket {
@@ -57,7 +57,7 @@ public:
static PubSocket * create();
static PubSocket * create(Context * context, std::string endpoint, bool check_endpoint=true);
static PubSocket * create(Context * context, std::string endpoint, int port, bool check_endpoint=true);
virtual ~PubSocket(){};
virtual ~PubSocket(){}
};
class Poller {
@@ -66,7 +66,7 @@ public:
virtual std::vector<SubSocket*> poll(int timeout) = 0;
static Poller * create();
static Poller * create(std::vector<SubSocket*> sockets);
virtual ~Poller(){};
virtual ~Poller(){}
};
class SubMaster {
+1 -1
View File
@@ -10,7 +10,7 @@
"language": "c++",
"name": "cereal.messaging.messaging_pyx",
"sources": [
"/data/openpilot/cereal/messaging/messaging_pyx.pyx"
"/data/dp-private/cereal/messaging/messaging_pyx.pyx"
]
},
"module_name": "cereal.messaging.messaging_pyx"
Binary file not shown.