You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.3 KiB
87 lines
2.3 KiB
# TODO: these port numbers are hardcoded in c, fix this
|
|
|
|
# LogRotate: 8001 is a PUSH PULL socket between loggerd and visiond
|
|
|
|
class Service(object):
|
|
def __init__(self, port, should_log):
|
|
self.port = port
|
|
self.should_log = should_log
|
|
|
|
# all ZMQ pub sub
|
|
service_list = {
|
|
# frame syncing packet
|
|
"frame": Service(8002, True),
|
|
# accel, gyro, and compass
|
|
"sensorEvents": Service(8003, True),
|
|
# GPS data, also global timestamp
|
|
"gpsNMEA": Service(8004, True),
|
|
# CPU+MEM+GPU+BAT temps
|
|
"thermal": Service(8005, True),
|
|
# List(CanData), list of can messages
|
|
"can": Service(8006, True),
|
|
"live100": Service(8007, True),
|
|
# random events we want to log
|
|
#"liveEvent": Service(8008, True),
|
|
"model": Service(8009, True),
|
|
"features": Service(8010, True),
|
|
"health": Service(8011, True),
|
|
"live20": Service(8012, True),
|
|
#"liveUI": Service(8014, True),
|
|
"encodeIdx": Service(8015, True),
|
|
"liveTracks": Service(8016, True),
|
|
"sendcan": Service(8017, True),
|
|
"logMessage": Service(8018, True),
|
|
"liveCalibration": Service(8019, True),
|
|
"androidLog": Service(8020, True),
|
|
}
|
|
|
|
# manager -- base process to manage starting and stopping of all others
|
|
# subscribes: health
|
|
# publishes: thermal
|
|
|
|
# **** processes that communicate with the outside world ****
|
|
|
|
# boardd -- communicates with the car
|
|
# subscribes: sendcan
|
|
# publishes: can, health
|
|
|
|
# sensord -- publishes the IMU and GPS
|
|
# publishes: sensorEvents, gpsNMEA
|
|
|
|
# visiond -- talks to the cameras, runs the model, saves the videos
|
|
# subscribes: liveCalibration, sensorEvents
|
|
# publishes: frame, encodeIdx, model, features
|
|
|
|
# **** stateful data transformers ****
|
|
|
|
# controlsd -- actually drives the car
|
|
# subscribes: can, thermal, model, live20
|
|
# publishes: sendcan, live100
|
|
|
|
# radard -- processes the radar data
|
|
# subscribes: can, live100, model
|
|
# publishes: live20, liveTracks
|
|
|
|
# calibrationd -- places the camera box
|
|
# subscribes: features, live100
|
|
# publishes: liveCalibration
|
|
|
|
# **** LOGGING SERVICE ****
|
|
|
|
# loggerd
|
|
# subscribes: EVERYTHING
|
|
|
|
# **** NON VITAL SERVICES ****
|
|
|
|
# ui
|
|
# subscribes: live100, live20, liveCalibration, model, (raw frames)
|
|
|
|
# uploader
|
|
# communicates through file system with loggerd
|
|
|
|
# logmessaged -- central logging service, can log to cloud
|
|
# publishes: logMessage
|
|
|
|
# logcatd -- fetches logcat info from android
|
|
# publishes: androidLog
|
|
|
|
|