Skip to content

Conversation

@yudataguy
Copy link
Collaborator

@yudataguy yudataguy commented Nov 15, 2025

Radio And Sensor Fault Managing #109

Description

Add to the radio component, radio retry. When it gets a -1 fault, We want to instantiate a GPIO driver for the radio to use to toggle its reset line and then add a reset out port that the radio can call. Send to gpio port off and on commands

Layer 1: Hardware/Device Tree
─────────────────────────────
  proves_flight_control_board_v5.dtsi:46
  └─> radio_reset node
      └─> GPIO0 Pin 6 (Active Low)
          │
          ▼

Layer 2: Hardware Abstraction (C++)
────────────────────────────────────
  ReferenceDeploymentTopology.cpp:19
  └─> radioResetGpio (gpio_dt_spec)
      └─> References DT_NODELABEL(radio_reset)
          │
          ▼

Layer 3: GPIO Driver Component Instance
────────────────────────────────────────
  instances.fpp:140
  └─> gpioRadioReset: ZephyrGpioDriver
      └─> ID: 0x10040000
      └─> Configured as OUTPUT
          │
          ▼

Layer 4: Topology Connection
─────────────────────────────
  topology.fpp:184
  └─> RadioReset connection:
      
      ┌──────────────┐  radioResetOut  ┌───────────────────┐  gpioWrite  ┌──────────┐
      │ resetManager │ ──────────────> │ gpioRadioReset    │ ──────────> │ GPIO Pin │
      └──────────────┘                 │ (ZephyrGpioDriver)│             │   P0.6   │
                                       └───────────────────┘             └──────────┘

Layer 5: ResetManager Component
────────────────────────────────
  ResetManager.fpp:12
  └─> RESET_RADIO command
      │
  ResetManager.cpp:51-53    
  └─> RESET_RADIO_cmdHandler()
      │
      ▼
  ResetManager.cpp:74-86
  └─> handleRadioReset()
      ├─> log_ACTIVITY_HI_INITIATE_RADIO_RESET()
      ├─> radioResetOut_out(0, Fw::Logic::LOW)   // Assert reset
      └─> radioResetOut_out(0, Fw::Logic::HIGH)  // Release reset

Related Issues/Tickets

The radio reset hasn't been implemented on the board yet, so the integration test is limited for now.

How Has This Been Tested?

  • Unit tests
  • Integration tests
  • Z Tests
  • Manual testing (describe steps)

Screenshots / Recordings (if applicable)

Checklist

  • Written detailed sdd with requirements, channels, ports, commands, telemetry defined and correctly formatted and spelled
  • Have written relevant integration tests and have documented them in the sdd
  • Have done a code review with
  • Have tested this PR on every supported board with correct board definitions

Further Notes / Considerations

@yudataguy yudataguy changed the title Radio Sensor Fault Manage Radio Sensor Fault Managment Nov 15, 2025
@yudataguy yudataguy marked this pull request as ready for review November 15, 2025 23:21
@yudataguy yudataguy marked this pull request as draft November 16, 2025 00:03
@ineskhou ineskhou added this to V1.X.X Jan 28, 2026
@ineskhou ineskhou moved this to In review in V1.X.X Jan 28, 2026
@ineskhou ineskhou removed the descoped label Jan 31, 2026
@yudataguy
Copy link
Collaborator Author

TODO: resolve conflict

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

4 participants