{"record":{"id":"e132fa933da95c9c","repo":"ruvnet/RuView","slug":"invalid-snr-value","errorCode":null,"errorMessage":"Invalid SNR value","messagePattern":"Invalid SNR value","errorType":"validation","errorClass":"CSIValidationError","httpStatus":null,"severity":"error","filePath":"archive/v1/src/hardware/csi_extractor.py","lineNumber":566,"sourceCode":"            raise CSIValidationError(\"Empty amplitude data\")\n        \n        if csi_data.phase.size == 0:\n            raise CSIValidationError(\"Empty phase data\")\n        \n        if csi_data.frequency <= 0:\n            raise CSIValidationError(\"Invalid frequency\")\n        \n        if csi_data.bandwidth <= 0:\n            raise CSIValidationError(\"Invalid bandwidth\")\n        \n        if csi_data.num_subcarriers <= 0:\n            raise CSIValidationError(\"Invalid number of subcarriers\")\n        \n        if csi_data.num_antennas <= 0:\n            raise CSIValidationError(\"Invalid number of antennas\")\n        \n        if csi_data.snr < -50 or csi_data.snr > 50:  # Reasonable SNR range\n            raise CSIValidationError(\"Invalid SNR value\")\n        \n        return True\n    \n    async def start_streaming(self, callback: Callable[[CSIData], None]) -> None:\n        \"\"\"Start streaming CSI data.\n        \n        Args:\n            callback: Function to call with each CSI sample\n        \"\"\"\n        self.is_streaming = True\n        \n        try:\n            while self.is_streaming:\n                csi_data = await self.extract_csi()\n                callback(csi_data)\n                await asyncio.sleep(1.0 / self.sampling_rate)\n        except Exception as e:\n            self.logger.error(f\"Streaming error: {e}\")","sourceCodeStart":548,"sourceCodeEnd":584,"githubUrl":"https://github.com/ruvnet/RuView/blob/4685618388a5e49fad5b3005806f3bdd6a7c25c3/archive/v1/src/hardware/csi_extractor.py#L548-L584","documentation":"Error \"Invalid SNR value\" thrown in ruvnet/RuView.","triggerScenarios":"Thrown at archive/v1/src/hardware/csi_extractor.py:566 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4685618388a5e49fad5b3005806f3bdd6a7c25c3","analyzedAt":"2026-08-16T06:09:40.886Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}