26 Commits

Author SHA1 Message Date
eeeck 92ff701dab Simplify plot title by removing CAN ID 2026-07-23 16:16:12 +02:00
eeeck 4f280da033 Refactor CANveyor dashboard architecture
- Replace `stats.utils.extractor` with dedicated `loader` and
  `converter`
  modules to improve code organization.
- Implement explicit pipeline stages for ingestion, decoding, and
  precomputation with caching.
- Standardize data loading and J1939 parsing logic across sub-modules.
- Enhance dashboard responsiveness by pre-calculating figures and
  downsampling ID-grouped data.
- Enforce strict typing and add docstrings to public components.
2026-07-23 16:01:34 +02:00
eeeck 89a9124a83 Add custom plotting support for vehicle signal
- Plot pie chart for engine load state
2026-07-23 15:37:50 +02:00
eeeck 0eac7a571f Add color configuration and extra signals to vehicle frames 2026-07-23 13:26:37 +02:00
eeeck 9dbf50d1c5 Simplify UI labels for vehicle and bus selectors 2026-07-23 00:38:33 +02:00
eeeck 7da427dd09 Implement a modular vehicle decoding system
- Add Komatsu specific rules
- Possibility to expand to any brand
2026-07-23 00:34:18 +02:00
eeeck fab448785b Replace infinite scroll with paginated log view 2026-07-22 23:09:47 +02:00
eeeck 3b703e845f Increase chunk size from 1000 to 50000 2026-07-22 22:00:39 +02:00
eeeck 54fd8ce74c Implement infinite scroll for logs table 2026-07-22 21:39:47 +02:00
eeeck e0a4d098d9 Replace Plotly graph-based tables with Dash DataTable 2026-07-22 21:23:58 +02:00
eeeck 42f8b844d9 Add log visualization tab to dashboard 2026-07-22 21:01:19 +02:00
eeeck 27998ff879 Add multi-vehicle support to dashboard and pipeline 2026-07-22 20:30:57 +02:00
eeeck 1463fa12ff Parallelize data processing tasks with ThreadPoolExecutor 2026-07-22 20:13:19 +02:00
eeeck 6c198d83c5 Remove debug flag 2026-07-22 20:06:50 +02:00
eeeck 57505074cd Change title to project name 2026-07-22 20:01:58 +02:00
eeeck af8e916116 Create an Overview menu
- To use as a sort of main menu
2026-07-22 20:00:59 +02:00
eeeck d9262e365a Put all CAN bus statistics submenus under a Statistics menu 2026-07-22 20:00:13 +02:00
eeeck 24ce8dad60 Explicitly specify grouping column in dataframe iteration 2026-07-22 19:47:11 +02:00
eeeck 22d4af292c Refactor CSV to Parquet conversion logic 2026-07-22 19:47:05 +02:00
eeeck 5e01c3bb44 Ensure data directories exist before pipeline execution 2026-07-22 19:46:59 +02:00
eeeck 2da646fa80 Precompute CAN data
- Slower startup
- Much faster visualization (from O(n) to O(1))
2026-07-22 18:20:18 +02:00
eeeck 93e0e3f648 Suppress callback exceptions 2026-07-22 18:16:43 +02:00
eeeck 65591bbc6b Refactor main application to use Polars pipeline
- replaced the caching layer with a pre-processing pipeline that parses
  raw logs into decoded Parquet files
2026-07-15 00:48:51 +02:00
eeeck 7a0e2efba1 Integrate Dash background callbacks to handle computations in async 2026-07-15 00:18:27 +02:00
eeeck ad8334c915 Add header with copyright and SPDX licensing information 2026-07-13 19:48:46 +02:00
eeeck f975cba4f8 Directory restruture
- Essential files in .
- Analysis or utilities related scripts on respective directories
2026-07-13 14:31:27 +02:00