# 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, true] orbKeyFrame: [8059, true] uiLayoutState: [8060, true] frontEncodeIdx: [8061, true] testModel: [8040, false] testLiveLocation: [8045, false] testJoystick: [8056, false] # 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