Prepare v11.1.0#556
Merged
Merged
Conversation
Electron/Add BLCU
…g to support two backends.
…epo, fixed .gitignores
These folders are already listed in .gitignore but were previously committed. Remove them from the git index while preserving local copies so they are no longer pushed to GitHub.
feat(logger): logger enhancements
…ket-sender chore: remove packet sender
Sets up the competition-view package in the pnpm workspace with the same stack as testing-view: React 19, TypeScript, Vite + SWC, Tailwind CSS v4, @workspace/ui and @workspace/core. Dev server runs on port 9001. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces the full application shell: entry point (main.tsx), root App component with WebSocket connection tracking, HashRouter with Overview and Messages routes, collapsible sidebar (logo, navigation, connection status, dark-mode toggle), page header with live connection badge, and the AppLayout wrapper that syncs dark-mode preference to the document root. Includes a minimal persisted Zustand store (appSlice) that retains the dark-mode preference across sessions. Page stubs are left as placeholders to be filled in subsequent commits. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Expands the Zustand store with three new slices:
- connectionsSlice – mirrors per-board connection status from the backend
- messagesSlice – capped FIFO log of system messages (max 500 entries)
- telemetrySlice – flat key→value map of the latest measurement values,
updated via high-frequency podData/update packets
Adds typed definitions for Connection, Message/MessagePacket, and
TelemetryData/TelemetryState under src/types/.
App.tsx now subscribes to all three backend topics (connection/update,
message/update, podData/update with 100 ms throttle) and fans out to the
appropriate store actions. ConnectionStatusGroup upgraded to also render
live per-board entries from the connections slice.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The flash station has been moved to its own standalone flashing-view app. This removes the /flashing route and its feature module from the testing-view. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removes bundled Python integration, BLCU IPC proxy handlers, and the setup-python script that were added ad-hoc during flashing-view integration. The BLCU IPC layer will be added back properly in the flashing-view PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Relocates the flashing-view from the project root into frontend/flashing-view to match the layout of testing-view and competition-view. Updates the pnpm workspace to reference the new path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces the two core competition pages: Overview dashboard: - VehicleStateBanner — full-width banner for VCU general + operational state - BrakeIndicator — large colour-coded BRAKED / UNBRAKED widget - MetricCard — reusable card with threshold-aware colour coding - RecentMessages — compact last-6 message panel with kind + timestamp - Responsive grid layout (2 cols → 4 cols on large screens) Messages page: - Full scrollable log reading from the Zustand messages slice - Per-kind filter toggles (info / warning / error / debug) - Live count display and one-click Clear button - MessageItem component with colour-coded kind badge Supporting utilities: - constants/measurements.ts — central registry of all telemetry key strings - hooks/useMeasurement.ts — thin selector hook for single measurement reads Completes the 25% milestone for the competition-view redesign. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sidebar Copies the shared logo.svg from testing-view into competition-view's assets and updates the Logo component to render it. The dark:invert class ensures the logo is visible in both light and dark mode, matching the testing-view treatment. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds competition-critical order controls directly to the Overview dashboard:
- constants/orders.ts — typed Order interface and three hardcoded order
sets: BRAKE (215), OPEN_CONTACTORS (902), and
EMERGENCY_STOP (55 + 1799 + 1698 + 0)
- hooks/useSendOrder.ts — stable useCallback that posts each order to the
backend via socketService.post("order/send", ...)
and logs every dispatch through competitionView logger
- OrdersPanel — three action buttons; Emergency Stop requires a
second click within 2 s (armed + pulse animation)
to prevent accidental activation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces a dedicated Batteries page with two sections: High Voltage (HVSCU + OBCCU): - Summary bar with total voltage, min SOC, cell V max/min, T max/min, and a contactor-state badge - Grid of 10 BatteryPackCard components, each showing a SOC progress bar, voltage, temperature, cell max/min, and a balancing indicator Low Voltage (BMSL): - Summary bar with SOC, total voltage, current, V max/min, T max/min - 6 CellCard components with per-cell voltage bars and threshold colouring (amber above 4.15 V, red below 3.1 V) constants/measurements.ts expanded with obccuPack() factory function, full BMSL, LCU, and PCU_BOARD key sets. constants/pages.ts and App.tsx updated with the /batteries route. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces a dedicated Boards page giving an at-a-glance view of every ECU's state machine status and key secondary measurements: - BoardCard (reusable) — state badge pulled from any measurement key plus a compact stats grid; drives VCU, HVSCU, PCU, LCU, and BMSL cards - LcuAirgapCard — 8 sensor readings (4 vertical + 4 horizontal) with amber threshold warning below 5 mm - Boards page — two sections: Board States grid and Levitation detail App.tsx and constants/pages.ts were already updated in commit 6. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces a Charts page with four fixed competition-critical series, rendered with uplot for high-frequency updates: - Speed (PCU/speetec_velocity, m/s) - Position (PCU/speetec_position, m) - HV Battery SOC (HVSCU/minimum_soc, %) - Brake Pressure (VCU/pressure_brakes, bar) TelemetryChart component: - History accumulated in local refs (no store overhead) — rolling 500 pts - x-axis is a monotonic counter driven by incoming measurement updates - ResizeObserver keeps chart width in sync with its container - Click-drag zooms; double-click resets to live view - memo'd to avoid unnecessary re-renders chartConfig.ts centralises height, line/point sizes, and the 5-colour palette (competition orange leading). uplot ^1.6.32 added to package.json. /charts route and LineChart sidebar icon added. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
BatteryFull, CircuitBoard and LineChart are not exported by @workspace/ui/icons. Replaced with icons that are available in the curated set: Layout (Overview), Activity (Charts), Wrench (Batteries), Terminal (Boards), ScrollText (Messages). Resolves blank-page build error. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…h UI kit components Levitation board fixes: - Removed max-w-sm constraint — card now spans full width like the board grid - Renamed horizontal airgap labels from "Airgap 5–8" to "H1–H4" for clarity - Added pitch, roll, yaw rotation measurements (LCU/rot_control_y/x/z) - Redesigned card into a 4-column grid: Position · Rotation · Vertical Airgaps · Horizontal Airgaps UI kit consistency (use @workspace/ui components throughout): - ConnectionBadge — custom <span> replaced with Badge - BoardCard — state indicator <span> replaced with Badge - OrdersPanel — raw <button> elements replaced with Button - Messages — filter toggle raw <button> elements replaced with Button Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add catalog types (NumericParameter, EnumParameter, BooleanParameter) - Add catalogSlice Zustand slice storing commandsCatalog and boards list - Add useOrdersCatalog hook — fetches /orderStructures, refetches on WS reconnect - Add Orders page: search Input, Skeleton loading, collapsible BoardSection per board - Add BoardSection: Collapsible with Badge count, auto-expands during search - Add OrderItem: Badge for ID, Send Button, expandable parameter form - Add OrderParameters: Input/Select/Checkbox from @workspace/ui for all param kinds Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e time to connectbackend
…s-values feat: add toggleable labels for charts values
fix(backend): remove tcp try reconnect
…workflow chore(release): update workflow to allow select options
Backend/log messages
fix(testing-view):reload button
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.