{"record":{"id":"0cd7f0ff295d52c9","repo":"ruvnet/RuView","slug":"invalid-number-of-antennas","errorCode":null,"errorMessage":"Invalid number of antennas","messagePattern":"Invalid number of antennas","errorType":"validation","errorClass":"CSIValidationError","httpStatus":null,"severity":"error","filePath":"archive/v1/src/hardware/csi_extractor.py","lineNumber":563,"sourceCode":"            CSIValidationError: If data is invalid\n        \"\"\"\n        if csi_data.amplitude.size == 0:\n            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)","sourceCodeStart":545,"sourceCodeEnd":581,"githubUrl":"https://github.com/ruvnet/RuView/blob/4685618388a5e49fad5b3005806f3bdd6a7c25c3/archive/v1/src/hardware/csi_extractor.py#L545-L581","documentation":"Error \"Invalid number of antennas\" thrown in ruvnet/RuView.","triggerScenarios":"Thrown at archive/v1/src/hardware/csi_extractor.py:563 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"}