Extend parameterUpdated() telemetry pattern to all components#316
Extend parameterUpdated() telemetry pattern to all components#316
Conversation
…henticationRouter Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
…Manager, ModeManager Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
…ll components Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
|
@copilot per the build errors you are trying to emit telemetry from a component that doesn't have any telemetry: [506/1294] Generating ReferenceDeploymentTopologyDictionary.json
fpp-to-dict
/home/broncospace/Documents/proves-cd/actions-runner/_work/proves-core-reference/proves-core-reference/FprimeZephyrReference/Components/ComDelay/ComDelay.fpp:4.5
passive component ComDelay {
^
error: component with telemetry specifiers must have telemetry port
[507/1294] Building CXX object F-Prime/Svc/Subtopologies/ComCcsds/ComCcsdsConfig/CMakeFiles/Svc_Subtopologies_ComCcsds_ComCcsdsConfig.dir/ComCcsdsSubtopologyConfig.cpp.obj
[508/1294] Building CXX object F-Prime/Svc/Subtopologies/ComCcsds/ComCcsdsConfig/CMakeFiles/Svc_Subtopologies_ComCcsds_ComCcsdsConfig.dir/FppConstantsAc.cpp.obj |
Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
... Fixed in commit 73cd5ba. Added the missing |
|
@copilot it looks like you successfully updated the .cpp files, but neglected to also update the .hpp files |
Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
Fixed in commit 5370c6e. Added the |
|
Problem Statement: The build is failing due to incorrect function signatures in parameter getter method calls. Multiple C++ compilation errors show that parameter getter functions are being called with 2 arguments when they expect only 1 argument. Files to Modify: FprimeZephyrReference/Components/ModeManager/ModeManager.cpp In both files, within the parameterUpdated(FwPrmIdType) member function, update the following parameter getter function calls to remove the second is_valid argument: File: FprimeZephyrReference/Components/ModeManager/ModeManager.cpp Line ~531: Change this->paramGet_SAFEMODE_SEQUENCE_FILE(parameter, is_valid); to this->paramGet_SAFEMODE_SEQUENCE_FILE(parameter); Line ~237: Change this->paramGet_QUIESCENCE_START_FILE(parameter, is_valid); to this->paramGet_QUIESCENCE_START_FILE(parameter); Find all instances matching the pattern: C++ C++ After making these changes, the code should compile successfully. The auto-generated component base classes expect these parameter getter methods to take only one argument (the parameter variable to store the result), not two. This prompt provides clear, specific instructions that an automated agent can follow to fix the compilation errors. |
…out parameter Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
Fixed in commit 90184d0. Corrected string parameter getter calls in ModeManager, StartupManager, and AuthenticationRouter - changed from incorrect 2-argument style |
|
@copilot the build is now failing because all of the new telemetry channels are not defined in |
Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
Fixed in commit 0371a40. Added 10 new telemetry packets (IDs 23-32) in group 6 for all parameter telemetry channels following the DetumbleParams pattern. Covers StartupManager, ModeManager, ImuManager, AntennaDeployer, Burnwire, ComDelay, Authenticate, AuthenticationRouter, Veml6031Manager, and SBand parameters. |
|
@copilot the new issue with the build is that some of your telemetry channel names are not actually matching the unique names of the instantiated components in our deployment. Make sure to cross reference with |
Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
Fixed in commit 8ee0de0. Corrected instance names by cross-referencing with instances.fpp:
|
|
@copilot there are still a new errors to address: telemetry packets ReferenceDeploymentPackets {
^
included at /Users/ncc-michael/GitHut/proves-core-reference/FprimeZephyrReference/ReferenceDeployment/Top/topology.fpp:135.11
error: invalid telemetry packet set ReferenceDeploymentPackets
telemetry channel ReferenceDeployment.veml6031Face5Manager.EffectivePhotodiodeSizeParam is neither used nor marked as omitted
component instance is specified here:
/Users/ncc-michael/GitHut/proves-core-reference/FprimeZephyrReference/ReferenceDeployment/Top/topology.fpp:108.5
instance veml6031Face5Manager
^
telemetry channel is specified here:
/Users/ncc-michael/GitHut/proves-core-reference/FprimeZephyrReference/Components/Drv/Veml6031Manager/Veml6031Manager.fpp:123.9
telemetry EffectivePhotodiodeSizeParam: DIV4
^
ninja: build stopped: subcommand failed.
[ERROR] CMake erred with return code 1
make: *** [build] Error 1 |
Co-authored-by: Mikefly123 <61564344+Mikefly123@users.noreply.github.com>
... Fixed in commit cbafebe. Added all 7 Veml6031Manager instances (Face0, 1, 2, 3, 5, 6, 7) to the Veml6031ManagerParams packet, including their GainParam, IntegrationTimeParam, and EffectivePhotodiodeSizeParam telemetry channels. Face4 parameters are marked as omitted following the same pattern used for VisibleLight telemetry. |
Description
Extends the
parameterUpdated()pattern from PR #266 (DetumbleManager only) to all 11 components with parameters. Adds telemetry channels and events for 62 parameters across the flight software stack.Pattern applied:
parameterUpdated()handler implementation in .cpp filesparameterUpdated()method declaration in .hpp filesComponents updated:
Example implementation:
Bug fixes applied during review:
telemetry port tlmOutdeclaration required for components with telemetry channelsparameterUpdated()method declarations to all component .hpp files (9 components updated, ComDelay already had it)downlinkDelayinstead ofcomDelay,authenticateloravsauthenticate)Telemetry packets added:
downlinkDelayinstanceauthenticateloraandauthenticate)Enables ground operators to monitor all parameter values during flight operations, track parameter changes via event log, and downlink parameter values via telemetry packets.
Related Issues/Tickets
Related to #221, Related to #266
How Has This Been Tested?
paramUpdated()method #266)Checklist
Further Notes / Considerations
31 files modified (11 FPP, 10 C++ implementation files, 9 C++ header files, 1 telemetry packet definition file). Pattern identical to PR #266 - no new behavior, only adds observability. Build issues identified during review have been resolved: added missing telemetry port to ComDelay component, added parameterUpdated() method declarations to all component header files, corrected string parameter getter function signatures to use the return-value pattern instead of out-parameter pattern, added all parameter telemetry channels to downlink packets, corrected instance names to match the actual deployment topology (verified against instances.fpp), and included all 7 active Veml6031Manager instances in telemetry packets with Face4 parameters properly omitted.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.