Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Porsche 987 Mapache Ingest

Note

This service originally lived in the main Mapache repository. It was split into this repository as an archival snapshot while Mapache undergoes a complete v4 rewrite.

Porsche 987 Mapache Ingest translates CAN telemetry relayed by the TCM-987 project into Mapache signals. It supports the Porsche 987 Cayman and Boxster platform.

How it works

  1. The service consumes MQTT messages addressed as p987/{vehicle_id}/{bus}/{can_id}.
  2. Each payload contains an 8-byte big-endian microsecond timestamp, a 2-byte upload key, and the raw CAN payload.
  3. The upload key is validated against Mapache's vehicle service.
  4. The physical bus and CAN arbitration ID select a Porsche-specific decoder for modules including the DME, gateway, climate control, PAS, PDK, PSM, SCCM, and TCM.
  5. Known frames are converted into Mapache signals. Unknown IDs and decode failures are retained as raw frames with status metadata and included in periodic decode reports.
  6. Decoded signals are written to ClickHouse and published to query/live/{vehicle_id}/{signal_name}.

The MQTT subscription is shared so multiple service replicas can divide incoming frames without processing each frame more than once.

Stored values

Decoded values use the Mapache v3 Signal schema in the shared ClickHouse signal table. Signal names are prefixed with the physical CAN bus and include the vehicle ID, numeric and raw values, microsecond timestamp, production time, and ingestion time.

Raw frames are stored in p987_can with the vehicle, bus, CAN ID, original bytes, upload key, timestamps, and JSON decode metadata. Ping data uses Mapache's shared ClickHouse ping schema.

Running

go build ./...

The service requires MQTT and can optionally connect to ClickHouse and Mapache's vehicle-authentication endpoint. See config/config.go for the accepted settings.

About

Mapache ingest adapter for the Porsche 987 platform.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages