mmwavecapture package#
Subpackages#
- mmwavecapture.capture package
- Submodules
- mmwavecapture.capture.capture module
- mmwavecapture.capture.radardca module
RadarDCA
RadarDCA.DCA_CONFIG_FILENAME
RadarDCA.PCAP_OUTPUT_FILENAME
RadarDCA.RADAR_CONFIG_FILENAME
RadarDCA.TCPDUMP_BIN_PATH
RadarDCA.dump_config()
RadarDCA.init_capture_hw()
RadarDCA.prepare_capture()
RadarDCA.start_capture()
RadarDCA.start_tcpdump_capture()
RadarDCA.stop_capture()
RadarDCA.stop_tcpdump_capture()
- mmwavecapture.capture.realsense module
CameraIntrinsics
ColorConfig
ColorMetadata
DepthConfig
DepthMetadata
Realsense
Realsense.COLOR_CONFIG_FILENAME
Realsense.COLOR_METADATA_FILENAME
Realsense.COLOR_OUTPUT_FILENAME
Realsense.DEPTH_CONFIG_FILENAME
Realsense.DEPTH_METADATA_FILENAME
Realsense.DEPTH_OUTPUT_FILENAME
Realsense.dump_config()
Realsense.init_capture_hw()
Realsense.prepare_capture()
Realsense.start_capture()
Realsense.stop_capture()
stamp_framenum()
- Module contents
- mmwavecapture.parser package
Submodules#
mmwavecapture.cli module#
mmwavecapture.dca1000 module#
- class mmwavecapture.dca1000.DCA1000#
Bases:
object
This class is used to communicate with the DCA1000EVM over ethernet.
The DCA1000EVM is a data capture card that is used to capture data from the Texas Instruments millimeter-wave radar sensor. The DCA1000EVM is connected to the host computer via ethernet, and the host computer can send commands to the DCA1000EVM to control its behavior.
This class does not capture data from the DCA1000EVM. Instead, it is used to send commands to the DCA1000EVM to control its behavior.
Note
Currently it does not read config from files. User should eithe config it by CaptureManager config file or by DCA1000Config class.
- config_eeprom() bool #
Configure DCA1000EVM EEPROM
Ref: 2.3.2 Configure EEPROM, p.36, DCA1000EVM CLI Software Developer Guide, v1.01
- config_fpga() bool #
Configure DCA1000EVM FPGA
Ref: 2.3.1 Configure FPGA, p.34, DCA1000EVM CLI Software Developer Guide, v1.01
- config_packet_delay() bool #
Set the delay between the config packet and the data packet
- Parameters:
delay (int) – Delay in microseconds
Ref: 2.3.7 Configure record delay, p.53, DCA1000EVM CLI Software Developer Guide, v1.01
- dump_config(outfile: Path)#
Dump the current configuration to a JSON file
- static log_command(func)#
- read()#
Read DCA1000EVM data from host ip data port
Note
It is not recommended to use this method.
- read_fpga_version() tuple[int, int, bool] #
Return FPGA version
- Returns:
(major, minor, playback_mode)
- Return type:
tuple[int, int, bool]
- reset_fpga() bool #
Reset DCA1000EVM FPGA
Ref: 2.3.3 Reset FPGA, p.40, DCA1000EVM CLI Software Developer Guide, v1.01
- reset_radar() bool #
Reset Radar
Ref: 2.3.4 Reset Radar, p.42, DCA1000EVM CLI Software Developer Guide, v1.01
- start_record() bool #
Start DCA1000EVM recording
Ref: 2.3.5 Start Recording, p.45, DCA1000EVM CLI Software Developer Guide, v1.01
- stop_record() bool #
Stop DCA1000EVM recording
Ref: 2.3.6 Stop Recording, p.48, DCA1000EVM CLI Software Developer Guide, v1.01
- system_connection() bool #
Check if the DCA1000EVM is connected to the host computer
Ref: 2.3.11 Query system aliveness status, p.62, DCA1000EVM CLI Software Developer Guide, v1.01
- system_error_status() int #
Check DCA1000EVM system error status
Ref: 2.3.10 Query record process status, p.60, DCA1000EVM CLI Software Developer Guide, v1.01
- class mmwavecapture.dca1000.DCA1000Command(value)#
Bases:
IntEnum
An enumeration.
- CONFIG_DATA_MODE_AR_DEV = 12#
- CONFIG_EEPROM = 4#
- CONFIG_FPGA_GEN = 3#
- CONFIG_PACKET_DELAY = 11#
- INIT_FPGA_PLAYBACK = 13#
- PLAYBACK_START = 7#
- PLAYBACK_STOP = 8#
- READ_FPGA_VERSION = 14#
- RECORD_START = 5#
- RECORD_STOP = 6#
- RESET_AR_DEV_CMD = 2#
- RESET_FPGA = 1#
- SYSTEM_CONNECTION = 9#
- SYSTEM_ERROR_STATUS = 10#
- class mmwavecapture.dca1000.DCA1000Config#
Bases:
object
- property config: dict[str, Any]#
- property data_capture_mode: int#
- property data_format_mode: int#
- property data_logging_mode: int#
- property data_transfer_mode: int#
- property dca_config_port: int#
- property dca_data_port: int#
- property dca_ip: str#
- default_config: dict[str, Any] = {'dataCaptureMode': 'ethernetStream', 'dataFormatMode': 3, 'dataLoggingMode': 'raw', 'dataTransferMode': 'LVDSCapture', 'ethernetConfig': {'DCA1000ConfigPort': 4096, 'DCA1000DataPort': 4098, 'DCA1000IPAddress': '192.168.33.180'}, 'ethernetConfigUpdate': {'DCA1000ConfigPort': 4096, 'DCA1000DataPort': 4098, 'DCA1000IPAddress': '192.168.33.180', 'DCA1000MACAddress': '12-34-56-78-90-12', 'systemIPAddress': '192.168.33.30'}, 'lvdsMode': 2, 'packetDelay_us': 5}#
- property host_ip: str#
- property lvds_mode: int#
- property packet_delay_us: int#
mmwavecapture.radar module#
- class mmwavecapture.radar.Radar(config_port: str, config_baudrate: int, data_port: str, data_baudrate: int, config_filename: Path, timeout: int = 3, initialize_connection_and_radar: bool = False, capture_frames: int = 100)#
Bases:
object
This is a Texas Instrumenst xWR16xx/18xx mmwave radar interface.
The main goal of this class is to provide a simple interface to communicate and config the radar to run the sensor for specified number of frames. It does not capture TLV data from the radar.
It force user to provide a radar config file during the construction of the class.
- Parameters:
config_port (str) – The serial port to radar config UART
config_baudrate (int) – The baudrate of the radar config UART
data_port (str) – The serial port to radar data UART
data_baudrate (int) – The baudrate of the radar data UART
config_filename (pathlib.Path) – The radar config filename, the format should be compatible with the mmwave SDK
timeout (int, optional) – The timeout for serial communication, defaults to 3 seconds
initialize_connection_and_radar (bool, optional) – If set to True, the radar will be initialized and connected during the construction of the class, defaults to False
capture_frames (int, optional) – The number of frames to capture, defaults to 100 frames
- property capture_frames: int#
The number of frames to capture
- Getter:
Return the number of frames to capture
- Setter:
Set the number of frames to capture, it will update the farmeCfg command in loaded config
- Type:
int
- close_serials() None #
Close serial ports
- config() None #
Send config commands to radar
- connect_serials() None #
Connect serial ports, setup baudrate and timeout
- dump_config(outfile: Path) None #
Dump current radar config to file
- get_radar_status()#
Get radar status (MMWAVE SDK OOB Demo)
- Returns:
Radar status and data baudrate
- Return type:
Tuple[RadarStatus, int]1
- initialize() None #
Connect to radar and flush the radar config serial buffer
- start_sensor() None #
Send sensorStart command to radar
- stop_sensor() None #
Send sensorStop command to radar
- class mmwavecapture.radar.RadarCoreConfig(filename: Path | None = None)#
Bases:
object
- antenna_shape: tuple[int, int, int, int, int]#
Shape of the raw data considering TX and RX antennas.
If the number of frames is 0, the first dimension will be -1
- chirps: int#
Number of chirps per frame
- frame_period: float#
Frame period (ms)
- frames: int#
Total number of frames to capture, 0 means infinite
- rx: int#
Total RX antennas
- samples: int#
Number of ADC samples per chirp
- tx: int#
Total TX antennas
- virtual_antennas: int#
Total virtual antennas
- virtual_shape: tuple[int, int, int, int]#
Shape of the raw data considering virtual antennas
If the number of frames is 0, the first dimension will be -1