# TODO: these port numbers are hardcoded in c, fix this
# LogRotate: 8001 is a PUSH PULL socket between loggerd and visiond
# all ZMQ pub sub:
# frame syncing packet
frame : [ 8002 , true ]
# accel, gyro, and compass
sensorEvents : [ 8003 , true ]
# GPS data, also global timestamp
gpsNMEA : [ 8004 , true ]
# CPU+MEM+GPU+BAT temps
thermal : [ 8005 , true ]
# List(CanData), list of can messages
can : [ 8006 , true ]
live100 : [ 8007 , true ]
# random events we want to log
#liveEvent: [8008, true]
model : [ 8009 , true ]
features : [ 8010 , true ]
health : [ 8011 , true ]
live20 : [ 8012 , true ]
#liveUI: [8014, true]
encodeIdx : [ 8015 , true ]
liveTracks : [ 8016 , true ]
sendcan : [ 8017 , true ]
logMessage : [ 8018 , true ]
liveCalibration : [ 8019 , true ]
androidLog : [ 8020 , true ]
carState : [ 8021 , true ]
# 8022 is reserved for sshd
carControl : [ 8023 , true ]
plan : [ 8024 , true ]
liveLocation : [ 8025 , true ]
gpsLocation : [ 8026 , true ]
ethernetData : [ 8027 , true ]
navUpdate : [ 8028 , true ]
qcomGnss : [ 8029 , true ]
lidarPts : [ 8030 , true ]
procLog : [ 8031 , true ]
gpsLocationExternal : [ 8032 , true ]
ubloxGnss : [ 8033 , true ]
clocks : [ 8034 , true ]
liveMpc : [ 8035 , true ]
liveLongitudinalMpc : [ 8036 , true ]
plusFrame : [ 8037 , false ]
navStatus : [ 8038 , true ]
gpsLocationTrimble : [ 8039 , true ]
trimbleGnss : [ 8041 , true ]
ubloxRaw : [ 8042 , true ]
gpsPlannerPoints : [ 8043 , true ]
gpsPlannerPlan : [ 8044 , true ]
applanixRaw : [ 8046 , true ]
orbLocation : [ 8047 , true ]
trafficEvents : [ 8048 , true ]
liveLocationTiming : [ 8049 , true ]
orbslamCorrection : [ 8050 , true ]
liveLocationCorrected : [ 8051 , true ]
orbObservation : [ 8052 , true ]
applanixLocation : [ 8053 , true ]
liveLocationKalman : [ 8054 , true ]
uiNavigationEvent : [ 8055 , true ]
orbOdometry : [ 8057 , true ]
orbFeatures : [ 8058 , false ]
orbKeyFrame : [ 8059 , true ]
uiLayoutState : [ 8060 , true ]
frontEncodeIdx : [ 8061 , true ]
orbFeaturesSummary : [ 8062 , true ]
testModel : [ 8040 , false ]
testLiveLocation : [ 8045 , false ]
testJoystick : [ 8056 , false ]
# 8080 is reserved for slave testing daemon
# 8762 is reserved for logserver
# 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, ubloxRaw
# sensord -- publishes the IMU and GPS
# publishes: sensorEvents, gpsNMEA
# visiond -- talks to the cameras, runs the model, saves the videos
# subscribes: liveCalibration, sensorEvents, live100
# publishes: frame, encodeIdx, model, liveCalibration
# **** stateful data transformers ****
# plannerd -- decides where to drive the car
# subscribes: carState, model, live20
# publishes: plan
# controlsd -- actually drives the car
# subscribes: can, thermal, plan
# publishes: carState, carControl, sendcan, live100
# radard -- processes the radar data
# blocks: CarParams
# subscribes: can, live100, model
# publishes: live20, liveTracks
# **** 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
# proclogd -- fetches process information
# publishes: procLog
# tombstoned -- reports native crashes