Giter Site home page Giter Site logo

acconeer / acconeer-python-exploration Goto Github PK

View Code? Open in Web Editor NEW
167.0 18.0 60.0 46.49 MB

Acconeer Exploration Tool

Home Page: https://docs.acconeer.com

License: Other

Python 99.68% Dockerfile 0.07% Batchfile 0.02% Shell 0.23%
acconeer a1 a111 radar evk evaluation xm112 xr112 xc112 xm122

acconeer-python-exploration's Introduction

Acconeer Exploration Tool

Supported Python versions PyPI version PyPI downloads

Code style: black Documentation Status

Explore the Next Sense with Acconeer Exploration Tool! Use one of our evaluation kits together with our Python examples and start exploring the world of Acconeer's radar sensor technology. The Python scripts and the Application in this repository will help you to easily stream the radar sensor's data to your local machine to start radar sensor evaluation and/or algorithm development for your application.

To run the Python exploration scripts, you will need an evaluation kit running the included Exploration or Module server, both of which are supplied with the Acconeer SDK and Module SW image.

This release is developed for Acconeer SDK and Module SW A111-v2.15.4 and A121-v1.7.0. Running this version is strongly recommended, as we continuously fix bugs and add features.

The application in action

Quickstart for Windows

There is a portable version of the Acconeer Exploration Tool for Windows:

  • Download the zip file and extract
  • Double click the update.bat file and wait for the installation to finish, which might take a couple of minutes
  • Double click the run_app.bat

For an in-depth evaluation, we recommend a full installation as described below.

Documentation

Documentation is available at docs.acconeer.com, where you can also find the FAQ.

News

Setting up your evaluation kit

For additional resources, head over to the Acconeer developer page. There you will find both a getting started guide and a video showing you how to set up your evaluation kit. There you will also find the SDK download.

Setting up your local machine

Requirements

Python 3.8 or newer. Older versions have limited or no support.

Tested on:

  • Python 3 (developed and tested on 3.8, 3.9, 3.10, 3.11 and 3.12)
  • Windows 10
  • Ubuntu 20.04

Setup

Installing the acconeer-exptool package

Install from PyPI:

python -m pip install --upgrade acconeer-exptool[app]

Depending on your environment, you might have to replace python with python3 or py.

For other options, have a look at docs.acconeer.com.

Windows COM port drivers

If no COM port is recognized when plugging in a module, you might need to install a driver. See information about your specific module at docs.acconeer.com

Linux setup

After installing the acconeer-exptool package, you can run

python -m acconeer.exptool.setup

Depending on your environment, you might have to replace python with python3 or py.

which interactively configures your machine and downloads needed dependencies. This is done in order for your machine to work at its best with Exploration tool. acconeer.exptool.setup performs the steps described in the Linux setup section on docs.acconeer.com.

Application

Using the application is the easiest way to start exploring Acconeer's radar sensor and our application examples:

python -m acconeer.exptool.app

Depending on your environment, you might have to replace python with python3 or py.

In the top right box of the application, named Connection, select the interface you wish to use

  • SPI: auto-detects an XM112 connected to USB2 (USB1 is also needed for power)
  • Socket: specify the IP address of your Raspberry Pi running the streaming server
  • Serial: specify the serial port that is assigned to the sensor

Connections via Serial have the option of choosing a Protocol. The choices are Module and Exploration, where the protocol should match the server installed on the module (Module server or Exploration server, respectively). Choosing the wrong protocol will show an error.

After pressing Connect, a connection should be established. In the box below labelled Scan controls, select the service or processing example you want to test. Now you may tune the sensor and processing settings to your specific setup. Once you press Start measurement, the application will start fetching data from the sensor and plotting the results. After pressing Stop, you can save (and later load data) or just replay the data stored in the buffer.

The ML interface (no longer supported)

Support for the Machine Learning interface in Exploration Tool has been dropped.

If you still need to use it, it is possible to use an old version of Exploration Tool.

From the acconeer-python-exploration directory:

git checkout v3

And follow the instructions in an old version of this document (README.md).

Note that this version of Exploration Tool will not be actively supported. Compatibility with new RSS versions is not guaranteed .

Running an example script on your local machine

If you prefer using the command line for testing and evaluation of our examples you can use the following instructions.

XC111+XR111 or XC112+XR112 (mounted on a Raspberry Pi):

python examples/a111/basic.py -s <your Raspberry Pi IP address>

XM112+XB112 via SPI over USB:

python examples/a111/basic.py -spi

Any module via UART over USB, attempting to auto-detect the serial port:

python examples/a111/basic.py -u

Any module via UART over USB, using a specific serial port:

python examples/a111/basic.py -u <the serial port, for example COM3>

Depending on your environment, you might have to replace python with python3 or py.

Choosing which sensor(s) to be used can be done by adding the argument --sensor <id 1> [id 2] .... The default is the sensor on port 1. This is not applicable for the modules.

Scripts can be terminated by pressing Ctrl-C in the terminal.

Disclaimer

Here you find the disclaimer.

FAQ and common issues

See the FAQ at docs.acconeer.com.

acconeer-python-exploration's People

Contributors

95hali74 avatar albtommy avatar amandawall avatar andersbuhl avatar andrehedesand avatar dependabot[bot] avatar dj-acconeer avatar edagas avatar elinayrli avatar erikmansson avatar filipalberius avatar henrik-nil-acc avatar johannesacco avatar kareagardh avatar martinlowegren avatar matsarlelid avatar olaacconeer avatar peratleviacconeer avatar peteralmersacc avatar pflo-acconeer avatar pthorell avatar rillen avatar uzaaft avatar vackraetraed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acconeer-python-exploration's Issues

Measured height is not correct.

Hi, I run the envelope.py program under the example directory, and change the config to the following:

    config = configs.EnvelopeServiceConfig()
    config.sensor = args.sensors
    config.range_interval = [0.2, 4.0]
    config.sweep_rate = 60
    config.gain = 0.95
    config.session_profile = configs.EnvelopeServiceConfig.MAX_SNR
    config.running_average_factor = 0.95

envelope

I put the sensor board(XM112 & XB112) above the ground about 750mm, but the result from envelope is about 2.6 m, so did I do the wrong configs?

Power transmitted

Hello!

I have a simple question for one of my projects:

I am using XM112 and XB112 in my scans and I am looking to evaluate the RCS in comparison to the number of pixes in an image, to create a "radar mask".

But to calculate the RCS from my measurement I'd like to know what is the power transmitted by the radar?

Error when using background files

After running a background scan and saving the file I receive the following error when a start a normal scan using either IQ or Envelope :

Cannot load clutter (file location). Object arrays cannot be loaded when allow _pickle=False

Error running service outside of GUI

Describe the bug
When I try a run a example service outside of the GUI such as /example/sparse.py I run into the following issue:

The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC() to debug.

Seems to be an issue with MacOS and multiprocessing, but not sure how to fix it. Everything runs fine in the GUI. I've attached the crash report generated.
crash_report.pdf

Environment:

  • Host OS: [MacOS Catalina 10.15.5]
  • Acconeer hardware: [XM112, Raspberry Pi XC112 + XR112]
  • Acconeer software version: [2.2.1]
  • Exploration version: [v3.6.2]
  • Python: 3.7.7

Thanks,
Royce

How to properly upgrade the RSS server?

I am trying to upgrade my RSS server on XM112 from 2.2.1 to 2.4.0 as recommended by the newest version of this repo. I tried to re-flash with BOSSA but it says "could not connect to device on COM3", whereas it can be connected from Acconeer's code on the same port. I wonder if re-flashing is the right way to upgrade? And if yes how can I connect it to BOSSA?

GUI doesn't connect with COM port

Hello,
I try to connect my MX122 module in GUI script it provide some error as below i mentioned

Traceback (most recent call last):
File "C:\Users\PC\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\reg\client.py", line 175, in _connect
self._handshake()
File "C:\Users\PC\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\reg\client.py", line 403, in _handshake
self._link.recv_until(exp_frame)
File "C:\Users\PC\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\links.py", line 155, in recv_until
raise LinkError("recv timeout")
acconeer.exptool.clients.links.LinkError: recv timeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "gui/main.py", line 1484, in connect_to_server
info = self.client.connect()
File "C:\Users\PC\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\base.py", line 29, in connect
info = self._connect()
File "C:\Users\PC\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\reg\client.py", line 177, in _connect
raise ClientError("could not connect, no response") from e
acconeer.exptool.clients.base.ClientError: could not connect, no response

Hibernate mode can't be configured

class PowerSaveMode(ConfigEnum):
ACTIVE = ("Active", "active")
READY = ("Ready", "ready")
SLEEP = ("Sleep", "sleep")
OFF = ("Off", "off")

Unfortunately, the power save mode hibernate is missing here. In the regmap.yaml hibernate is included but the PowerSaveMode class is lacking it. As workaround, I have included it by myself like following:

class PowerSaveMode(ConfigEnum):
        ACTIVE = ("Active", "active")
        READY = ("Ready", "ready")
        SLEEP = ("Sleep", "sleep")
        OFF = ("Off", "off")
        HIBERNATE = ("Hibernate", "hibernate")

and reinstalled the python package. The hibernate mode is working with the Sparse service as expected.

Can you fix that?

Thank you in advance!

Best regards,
Sandro

error during requirement installation

python -m pip install -U --user -r requirements.txt

Complete output from command /usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-qnrxuwpo --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- "sip >=5.0.1 <6" "PyQt-builder >=1.1.0, <2":
Invalid requirement: 'sip >=5.0.1 <6'
Traceback (most recent call last):
File "/usr/share/python-wheels/packaging-19.0-py2.py3-none-any.whl/packaging/requirements.py", line 93, in init
req = REQUIREMENT.parseString(requirement_string)
File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1632, in parseString
raise exc
File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1622, in parseString
loc, tokens = self._parse( instring, 0 )
File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3395, in parseImpl
loc, exprtokens = e._parse( instring, loc, doActions )
File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1383, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3183, in parseImpl
raise ParseException(instring, loc, self.errmsg, self)
pyparsing.ParseException: Expected stringEnd (at char 12), (line:1, col:13)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_internal/req/constructors.py", line 253, in install_req_from_line
req = Requirement(req)
File "/usr/share/python-wheels/packaging-19.0-py2.py3-none-any.whl/packaging/requirements.py", line 97, in init
requirement_string[e.loc : e.loc + 8], e.msg
pip._vendor.packaging.requirements.InvalidRequirement: Parse error at "'<6'": Expected stringEnd


Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-qnrxuwpo --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- "sip >=5.0.1 <6" "PyQt-builder >=1.1.0, <2"" failed with error code 1 in None

Material classification

Hi,

I'm interested in building a ML material classifier like the one shown in this video.
https://www.youtube.com/watch?v=CkCsYt1ISa8

I saw that the python doc suggested the IQ service and looking at "features extracting averages, variances, FFT, autocorrelation" for material detection. I was wondering which features (range segment, peak, averages 1D, averages 2D, amplitude ratios 1D, sparse FFT, presence sparse) in the feature configuration tab of the ML GUI would be best to experiment with?

Thanks,
Royce

XE132/XM132 not listed in the usb devices

Dear community,

I have the XE132/XM132 entry module. I have followed the instructions to first flash the module. When I connect the device to the laptop using the micro USB cable (the power switch is switched to USB), the red LED light on the XE132 turns on. However, the laptop does not seem to recognize a new device (see below for the commands I have tried and the results I get). I have tried different micro USB cables and different laptops with Linux Ubuntu 18.04 on it. I always get the same result. The LED light turns on, but the system does not see the new USB device connected.

Did anyone experience similar issue, or does anyone have an idea what might be wrong?

Thankfully,
Alex

Environment:

  • Host OS: Ubuntu 18.04
  • Acconeer hardware: XM132 evaluation kit (XE132/XM132)
  • Connection cable: micro USB / USB cable

Trying to find the serial port:
I have tried the following commands in linux terminal do find the serial port. None of this commands will list the serial port under which the acconeer device is mounted.

Note: before using the dmesg command, i have cleared its log using the sudo dmesg -C command. Then I have plugged in the XE132 module and used the dmesg command, and its output was empty. If I use another device (Lord Microstrain IMU unit) I can immediately see it under the ttyACM0.

rick@morty:~/working/acconeer$ dmesg | grep USB
rick@morty:~/working/acconeer$ dmesg | grep tty
rick@morty:~/working/acconeer$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0461:4e35 Primax Electronics, Ltd 
Bus 001 Device 003: ID 046a:0180 Cherry GmbH 
Bus 001 Device 002: ID 1395:0025 Sennheiser Communications 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
rick@morty:~/working/acconeer$ python -m serial.tools.list_ports
/dev/ttyS0          
/dev/ttyS4          
2 ports found

Settings for Speed measuring

Hello,

after upgrading to 1.10 the sensor is working fine. I complete almost my project, but I has a problem to set the sensitivity:

What I need:

Measuring the speed of an a running cat within 2.00 to 3.00 meter. I want each 10cm the current speed

What I get current

I get just 2 speed infos on 2.0m and 2.9m with my settings when I walk through the sensor.
A running cat will not be detected

My settings

NUM_FFT_BINS = 128
config.range_interval = [2.00, 3.00]
config.stepsize = 16
config.sampling_mode = configs.SparseServiceConfig.SAMPLING_MODE_A
config.number_of_subsweeps = NUM_FFT_BINS
config.gain = 0.5
config.hw_accelerated_average_samples = 60
# config.subsweep_rate = 6e3

# force max frequency
config.sweep_rate = 500
config.experimental_stitching = True

How I understated the settings

NUM_FFT_BINS * config.stepsize must not be greater than 2048
config.sweep_rate = frequency ... a higher value result in a more precise measurement and is better

When I print the session info, I get:
{'frequency': 500.0, 'actual_range_start': 1.982, 'actual_range_length': 0.961, 'actual_stepsize': 0.960873, 'number_of_subsweeps': 128, 'data_length': 256, 'actual_subsweep_rate': 14939.667}

frequency = config.sweep_rate = same as above
actual_range_start = the startpoint of the measuring
actual_range_length = the distance for the measuring
actual_stepsize= amount of steps within the actual_range_length .. in my case just 2: start and ending point. In my case I want 10
number_of_subsweeps = NUM_FFT_BINS
data_length = maxium 2048?
actual_subsweep_rate = ?

My question

So how I has to set the sensor, to measuring a cat with a distance of 1m (2.0m to 3.0m) in 10cm steps?

config.range_interval = [0.30, 0.48]
config.stepsize = 3
config.sampling_mode = configs.SparseServiceConfig.SAMPLING_MODE_A
config.number_of_subsweeps = NUM_FFT_BINS
config.gain = 0.5
config.hw_accelerated_average_samples = 60
# config.subsweep_rate = 6e3
# force max frequency
config.sweep_rate = 200
config.experimental_stitching = True

Plot of data against time

Good day!

In my project I am trying to get the phase shift data to track the movements of the chest for respiratory and heart rate.

I know that the GUI already does a fine job with the respiratory rate. But I need the raw data to do my own processing and I am encountering a few problems. Inicially I would like to take the phase shift [rad] plotted against the time, but all the graphs are plotted agains depth and the one that is plotted against time (distance x time) is not the one of interest.

Another problem that I have been facing is regarding the performance of FFT in the graphs. Every time I try the exploration tool shuts down and I get the following message:
erro fft

Any idea about what is happening or how I should procede to get the information that I need? Maybe the information displayed at the IQ at peak graph, but in a linear display.

Sensor_driven repetition_mode limits

Hi,

I am playing around with obstacle_detection script. When I changed sensor_config.range_interval = [0.1, 1.0] I encountered following error when session_info = client.setup_session(sensor_config) is called:

15:03:30.899 | INFO | MainProcess | acconeer.exptool.clients.base | reported version: 2.0.0
File "/acconeer/exptool/clients/reg/client.py", line 75, in _setup_session
self._wait_status(regmap.STATUS_FLAGS.CREATED)
File "/acconeer/exptool/clients/reg/client.py", line 118, in _wait_status
raise SessionSetupError
acconeer.exptool.clients.base.SessionSetupError

I noticed it can work in SENSOR_DRIVEN mode with different values of range_interval if I also change other settings like update_rate, downsampling_factor, hw_accelerated_average_samples, etc...

In HOST_DRIVEN I did not notice setup errors with any configuration.

So I assume in SENSOR_DRIVEN mode there must be some check weather the requested sample rate is achievable with desired settings.
Am I right?
When is STATUS_FLAGS.ERROR_CREATION raised?

Stability problems with Version 2.0.0

Using XM122 EVK with Portable Exploration Tool on native Windows:

10:51:26.668 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:51:26.675 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:51:33.741 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:51:41.806 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:51:43.071 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | data length: 0
10:51:43.072 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | buffer size: 0 B
10:51:43.073 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | requested data rate: 0.00 Mbit/s
10:51:43.073 | WARNING | MainProcess      | acconeer.exptool.clients.base | actual measured range differs from the requested
Traceback (most recent call last):
  File "main.py", line 1782, in plot_timer_fun
    self.service_widget.update(data)
  File "D:\work\Acconeer\portable_exploration_tool\acconeer-python-exploration\examples\processing\phase_tracking.py", line 190, in update
    com_x = (1 - data["com"]) * self.depths[0] + data["com"] * self.depths[-1]
IndexError: index 0 is out of bounds for axis 0 with size 0

10:52:27.220 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:52:27.223 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:52:41.427 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:52:54.359 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:52:55.615 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | data length: 620
10:52:55.616 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | buffer size: 2480 B
10:52:55.616 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | requested data rate: 0.40 Mbit/s
10:54:10.001 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:54:16.494 | INFO    | MainProcess      | acconeer.exptool.clients.base | reported version: 2.0.0
10:54:17.729 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | data length: 620
10:54:17.730 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | buffer size: 2480 B
10:54:17.730 | INFO    | MainProcess      | acconeer.exptool.clients.reg.client | requested data rate: 0.60 Mbit/s
10:54:17.731 | WARNING | MainProcess      | acconeer.exptool.clients.base | actual measured range differs from the requested
Traceback (most recent call last):
  File "main.py", line 2028, in run
    _, record = self.radar.process(sweep, info)
  File "D:\work\Acconeer\portable_exploration_tool\acconeer-python-exploration\gui\data_processing.py", line 93, in process
    out_data = self.external.process(in_data)
  File "D:\work\Acconeer\portable_exploration_tool\acconeer-python-exploration\gui\service_modules\iq.py", line 85, in process
    self.history[-1] = data
ValueError: could not broadcast input array from shape (1,1240) into shape (1,620)

Pause client streaming

Hello,

is it possible to pause the streaming and later to resume?
for example:
client.pause_streaming()
client.resume_streaming()

Because when I just put the code to sleep 10sec, the server still send data and it seems he is buffering the data.

I want to pause the method, because need free performance on my Pi and after done all tasks, the method should continue streaming.

while not interrupt_handler.got_signal:
info, sweep = client.get_next()
plot_data = processor.process(sweep)
if plot_data is not None:
try:
pg_process.put_data(plot_data)
except PGProccessDiedException:
break

Unstability and down-time during measurements

Hello,

I am connected through the localhost port (127.0.0.1, without WIFI activated) as socket with my A111 on a Rpi 4 with the buster version of debian, and I have some issues regarding the measurements with either barebones.py as main or the GUI. Apparently I have some sort of down time where I cannot connect anymore, it is really confusing because it works from time to time with the same settings but I have no possibilities to troubeshoot the issue. Any feedback on that?

To reproduce
Steps to reproduce the behavior:
for barebones:

in terminal:
python3 barebones.py -s localhost

or with GUI:
socket port: localhost

**Traceback**
Traceback (most recent call last):
  File "examples/record_data/barebones.py", line 61, in <module>
    main()
  File "examples/record_data/barebones.py", line 34, in main
    session_info = client.setup_session(config)
  File "/home/pi/Desktop/etacconeer/acconeer-python-exploration-master/src/acconeer/exptool/clients/base.py", line 64, in setup_session
    session_info = self._setup_session(config)
  File "/home/pi/Desktop/etacconeer/acconeer-python-exploration-master/src/acconeer/exptool/clients/json/client.py", line 87, in _setup_session
    info = self._init_session()
  File "/home/pi/Desktop/etacconeer/acconeer-python-exploration-master/src/acconeer/exptool/clients/json/client.py", line 151, in _init_session
    header, _ = self._recv_frame()
  File "/home/pi/Desktop/etacconeer/acconeer-python-exploration-master/src/acconeer/exptool/clients/json/client.py", line 175, in _recv_frame
    packed = self._link.recv_until(b'\n')
  File "/home/pi/Desktop/etacconeer/acconeer-python-exploration-master/src/acconeer/exptool/clients/links.py", line 101, in recv_until
    raise LinkError from e
acconeer.exptool.clients.links.LinkError

Environment (please complete the following information):

  • Host OS: Rpi 4 and Debian, buster version
  • Acconeer hardware: A111
  • Acconeer software version: SDK? the one suggested for A111

Error running service

Describe the bug
When I try to run an example such as \examples\services\envelope.py, I get the following error messages:

Traceback
PS C:\Users\acconeer\acconeer-python-exploration-master\examples\services> python3 .\envelope.py -spi 10:37:50.578 | WARNING | MainProcess | acconeer.exptool.clients.base | old server version - please upgrade server Traceback (most recent call last): File ".\envelope.py", line 79, in <module> main() File ".\envelope.py", line 26, in main session_info = client.setup_session(sensor_config) File "C:\Users\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\acconeer\exptool\clients\base.py", line 64, in setup_session session_info = self._setup_session(config) File "C:\Users\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\acconeer\exptool\clients\reg\client.py", line 514, in _setup_session ret = super()._setup_session(config) File "C:\Users\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\acconeer\exptool\clients\reg\client.py", line 76, in _setup_session self._wait_status(regmap.STATUS_FLAGS.CREATED) File "C:\Users\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\acconeer\exptool\clients\reg\client.py", line 126, in _wait_status raise ClientError("timeout while waiting for status") acconeer.exptool.clients.base.ClientError: timeout while waiting for status

Environment:

  • Host OS: [Windows 10]
  • Acconeer hardware: [XM112_PB3v1.1 + XB112PB4v1.2]
  • Acconeer python exploration: [llast version]

Wrong ELF class for libft4222 on Raspbian

Using a Raspberry Pi 4 I've tried the default Rasbpian install and another 64-bit install and they both cause the gui\main.py app to fail when trying to connect to the SPI with the error libft4222.so.1.4.2.184: wrong ELF class: ELFCLASS64.

Not sure what to try next.

Can't start acc_streaming_server on Raspyberry Pi 4 after kernel update to 5.4.x

Short description
After updating the kernel of my Raspberry Pi 4 to version 5.4.x, the acconeer streaming server won't start and displays a 'could not write to gpio export' error.

Steps to reproduce
How to reproduce the behavior:

  1. Update linux-kernel from version 4.19.118 to 5.4.x (commands: sudo apt update and sudo apt upgrade)
  2. Try to start 'acc_streaming_server_rpi_xc112_r2b_xr_112_r2b_a111_r2c'
  3. Streaming App won't start and outputs the error 'Could not write to gpio export: Device or resource busy' (see screenshot below)
  4. Can't connect to the sensor via exploration tool or any other application because the streaming server isn't running

Screenshot
Error with driver_gpio_linux_sysfs: Could not write to gpio export: Device or resource busy
Alt text

Environment:

  • Host OS: Win 10 Pro
  • Pi4 OS: Raspian Buster with linux kernel 5.4.59-v7l
  • Acconeer hardware: XC112 + 3* XR112
  • Acconeer software version: 2.4.0
  • Exploration version: 3.7.5

Additional context and occurence description
After a standard update routine of Raspian OS with 'sudo apt upgrade' the acc_streaming_server stopped working. The update included the kernel version 5.4.59 and now doesn't allow me to start the acconeer streaming server. If I manually revert the kernel to version 4.9.118 (this release) everything is working fine.

  • Is this a known issue, which the developers of the streaming server are aware of?
  • Is this issue somehow related to the gpio sysfs interface being deprecated for newer kernel releases? And are there any known changes to make in order to get it back up and working? Although I did some search in the raspi-forums (https://www.raspberrypi.org/forums/) I couldn't find a gerneral problem with gpios after linux kernel update, i.e. in my opinion it may be a software issue within the streaming server.

I would be thankful for some further investigation. If I missed something or you need any additional information feel free to ask. Thank you!

Error with displaying GUI (couldn't connect to MK112 board via serial communication)

I keep getting the following message when trying to run GUI. Please view the picture attached.

Let me know if anyone has any ideas on how to fix this.

I have tried the following:

  • installed python 3.6
  • uninstalled all other versions of python
  • used PuTTy to verify USB port knows MK112 board is connected
  • Tried to make virtual environment for python using visual studio. (I still get the same error)
    Please follow this Link: https://ezgif.com/image-to-datauri/ezgif-3-a90847167c7a.png

Picture: gui_pic

RAW data

Hello.

We are working with your XM112 device. Since we wanted to use our own processing algorithms, we would like to know if it would be possible to extract Raw data from the device, even before FFT. Envelope and IQ Phase examples are a little bit cooked for us.

We have used our functions with coherent FMCW systems, and we really think your system could benefit from those too, since the output we are seeing is similar in the Pulsed vs FMCW.

Kind Regards

Exploration GUI does not connect to XM112

Describe the bug
I guess I'm experiencing almost the same as the other two bug reports, since it's not the same hardware I thought I'll post a new thread here. Basically I have a setup with XM112 and XB112, serial port shows up in the system, I could use other serial tools to connect (HTerm on Windows 10, and pyserial on MacOS), but not the exploration GUI. Same situation on both OS.

Now you have three bug reports, can you try to reproduce on your end using a fresh PC? I'm sure it's quite easy to see the problem.

To reproduce
Plug in, run the GUI, try to connect serial port, get the error.

Traceback from GUI
Traceback (most recent call last):
File "gui/main.py", line 1435, in connect_to_server
info = self.client.connect()
File "/Users/tao/Library/Python/3.7/lib/python/site-packages/acconeer/exptool/clients/base.py", line 24, in connect
info = self._connect()
File "/Users/tao/Library/Python/3.7/lib/python/site-packages/acconeer/exptool/clients/reg/client.py", line 185, in _connect
self._link.connect()
File "/Users/tao/Library/Python/3.7/lib/python/site-packages/acconeer/exptool/clients/links.py", line 229, in connect
raise LinkError("failed to connect, see traceback from serial process")
acconeer.exptool.clients.links.LinkError: failed to connect, see traceback from serial process

**Traceback from terminal
21:44:32.060 | DEBUG | Process-2 | acconeer.exptool.clients.links | serial communication process started
21:44:32.068 | DEBUG | MainProcess | acconeer.exptool.clients.links | connect - flow event was set
21:44:32.069 | DEBUG | MainProcess | acconeer.exptool.clients.links | connect - error event was set
Exception raised in serial process:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/serial/serialposix.py", line 310, in _reconfigure_port
fcntl.flock(self.fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
BlockingIOError: [Errno 35] Resource temporarily unavailable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/tao/Library/Python/3.7/lib/python/site-packages/acconeer/exptool/clients/links.py", line 338, in serial_process_program
_serial_process_program(port, baud, recv_q, send_q, flow_event, error_event)
File "/Users/tao/Library/Python/3.7/lib/python/site-packages/acconeer/exptool/clients/links.py", line 352, in _serial_process_program
ser = serial.Serial(port=port, baudrate=baud, timeout=0, exclusive=True)
File "/usr/local/lib/python3.7/site-packages/serial/serialutil.py", line 240, in init
self.open()
File "/usr/local/lib/python3.7/site-packages/serial/serialposix.py", line 272, in open
self._reconfigure_port(force_update=True)
File "/usr/local/lib/python3.7/site-packages/serial/serialposix.py", line 312, in _reconfigure_port
raise SerialException(msg.errno, "Could not exclusively lock port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 35] Could not exclusively lock port /dev/cu.usbserial-00352: [Errno 35] Resource temporarily unavailable

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • Host OS: Windows 10, MacOS
  • Acconeer hardware: XM112 + XB112
  • Acconeer software version: 2.0.0
  • Exploration version: Latest

calculating RCS from IQ Data

Hi Acconeer Guys!
Thanks for making this amazing product I have spend a nice time with my Sparkfun :)
I was wondering if could you give as some tips in order to get RCS from A111 radar?
I have checked radar equation and unfortunately I couldnt go further from the avaliable Radar specs
Any advice in that direction?
Thanks in advice ;)

Radar Parameters

Hello,

The doubt I have now is pretty simple but i believe it will be helpful for tha the radar beginners. I am using the IQ mode of measurement for further processing and extraction of information.

My methods of extraction of info is bu FFT and wavelets. However to proceed with my experiments I am still looking to find the best setting of the radar.

Reading through the documentation It is not clear a few things regarding the particular works of the radar such:

  • Are the sample mode A and B equivalent to streaming and max frequency?
  • What is the meaning of the HW Acc avg samples? Is it regarding the pulse integration?
  • What does the step size, image history and averaging influence in?
  • The update rate is equivalent to the aquisition frequency of the radar?
  • Is there a way to perform my measurement without skipping frames?

Thank you
Lucas Broto.

Measuring above 7 meters xm112/xb112

Trying to evaluate if xm112 can be used to measure distances above the specified max range.
All I need is to be able to measure the distance and no motion detection needed.
I would like to go as far as 15 meters. Is that even possible with xm112 ?

Error in training model

Hi!

I'm trying to use your machine learning gui and everything works fine until i press the train button. I then get the following error message:

Failed to train model!
ml_gui_elements.py
4094
class_weight must contain all classes in the data. The classes {1.0} exist in the data but not in class_weight

The data i'm trying to train with is range segment features collected with in continuous collection mode.

Best regards
Gideon

Y-Axis misplaced

Describe the bug
As you can see in the screenshot, on all the graphs, the y-axis has slightly moved up. I have downloaded the exp.tool from GitHub again and tried, no change. Also have tried to re-install libraries etc.

Screenshots
image

Environment (please complete the following information):

  • Host OS: Windows 10
  • Acconeer hardware: XM112
  • Acconeer software version: not changed since fresh board
  • Exploration version: v2.2.1.

Additional context
Add any other context about the problem here.

ImportError: cannot import name 'QtGui' from 'PyQt4'

I'm not sure what to do about this: acconeer-python-exploration requires python3.7, and pyqtgraph requires PyQt4, but PyQt4 is not compatible with python3.7; pip3 won't install it, and the version provided by apt, python3-pyqt4, gives the following error:

from PyQt4 import QtGui, QtCore, uic
ImportError: cannot import name 'QtGui' from 'PyQt4' (/usr/lib/python3/dist-packages/PyQt4/__init__.py)

(Despite the fact that this same line works fine from python3.5)

Any advice, or is this a compatibility bug?

(Edit: I'm on Linux Mint 18.3, x86-64)

xm112 distance measurement

I want to measure the distance to the car using xm112 + xb112.
On the side of the car, only 2 meters are measured.
Only 1 meter is measured from the front of the vehicle.
The measurement was done using envelope service.
How can I measure up to 5 meters?
Please let me know the measurement method and option.

invalid syntax

pi@raspberrypi:~/acconeer-python-exploration $ python gui/main.py -ml
File "gui/main.py", line 1485
port, *_ = port.split(" ")
^
SyntaxError: invalid syntax

XM112 with_cli.py example & SPI client does not save data Windows 10

  1. Create virtual environment from requirements.txt
  2. Run the with_cli.py example using the spi connection (XM112) "acconeer-python-exploration\examples\record_data>python with_cli.py --spi -o data.h5"
  3. The script will connect and start recording data
  4. Press ctrl-c to stop the script. Rather than catching the signal and exiting gracefully, an exception will be thrown and the data will is not written to file.

** Traceback:**
Traceback (most recent call last): File "with_cli.py", line 74, in <module> main() File "with_cli.py", line 51, in main data_info, data = client.get_next() File "C:\Users\user\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\base.py", line 82, in get_next return self._get_next() File "C:\Users\user\AppData\Roaming\Python\Python37\site-packages\acconeer\exptool\clients\reg\client.py", line 454, in _get_next ret_cmd, ret_args = self._data_queue.get() File "C:\ProgramData\Miniconda3\lib\multiprocessing\queues.py", line 94, in get res = self._recv_bytes() File "C:\ProgramData\Miniconda3\lib\multiprocessing\connection.py", line 216, in recv_bytes buf = self._recv_bytes(maxlength) File "C:\ProgramData\Miniconda3\lib\multiprocessing\connection.py", line 306, in _recv_bytes [ov.event], False, INFINITE) InterruptedError: [Errno 4] Interrupted function call

Environment :

  • Host OS: Windows 10
  • Acconeer hardware: XM112
  • Acconeer software version: 2.1.0
  • Exploration version: branch - master, commit - fae4544

Save to file does not save the latest state of the processing config settings

Describe the bug
The "Save to file" function does not save the last state of processing config, it saves the settings state at the moment when the measurement was started.

To reproduce

  1. Start measurement in any scan control (e.g. Envelope)
  2. In processing settings, change any parameter (eg. History length)
  3. Stop the measurement.
  4. Click Save to file, save to npz or hd5
  5. Reviev the processing_config_dump section of the saved file, the values will not correspond to the settings in the GUI.

Environment (please complete the following information):

  • HW and Host OS independent behavior.
  • v3.2.8

Additional context
"Save to file" saves last x measurement frames, but only the "first" processing config state. This is very contradictory/confusing behavior.

Recv queue timeout

Describe the bug

I am getting a receive queue get timeout when I run the python exploration tool envelope service config for several hours.

To reproduce
Run my code for several hours on the Raspberry Pi 4 connected to the XB112 + XM112 via USB serial.

My code:

from threading import Thread
from time import sleep

class XB112(Thread):
    def __init__(self, device, callback):
        Thread.__init__(self)
        self._exit = False
        self._callback = callback

        self._client = UARTClient(device)

        self._client.squeeze = False

        config = configs.EnvelopeServiceConfig()
        config.sensor = [1] 
        config.range_interval = [0.04, 0.4]
        config.profile = config.Profile.PROFILE_2
        config.hw_accelerated_average_samples = 1
        config.downsampling_factor = 2
    
        self._info = self._client.setup_session(config)

    def stop(self):
        self._client.disconnect()
        self._exit = True

    def run(self):
        
        self._client.start_session()
    
        while not self._exit:
            info, data = self._client.get_next()    
            self._callback(data)

def callback_a(data):
    print(data)

def main():
    radar_sensor = XB112Collector(device="/dev/ttyUSB0", callback=callback_a)
    t1 = radar_sensor.start()
    while True:
        sleep(1)


if __name__ == "__main__":
    main()

Traceback

Exception in thread Thread-4:
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.7/site-packages/acconeer_exptool-3.2.8-py3.7.egg/acconeer/exptool/clients/links.py", line 304, in __get_into_buf
data = self._recv_queue.get(timeout=self._timeout)
File "/usr/lib/python3.7/multiprocessing/queues.py", line 105, in get
raise Empty
_queue.Empty

Environment (please complete the following information):

  • Host OS: Raspbian
  • Acconeer hardware: Raspberry Pi 4 + XB112 + XM112
  • Acconeer software version: XM112 Module Software v2.0.0
  • Exploration version: v3.2.8

Additional context
Is there a way to decrease data rate in the envelope service config? We don't need data at a high rate. I am wondering that if the data rate is decrease and traffic on the USB serial decreases, this problem might go away.

Getting this working on Pi 3 B+

Get this issue while running under a virtualenv (or not under one, for that matter):
python -m pip install --user -r requirements.txt

Collecting PyQt5 (from -r requirements.txt (line 8))
  Could not find a version that satisfies the requirement PyQt5 (from -r requirements.txt (line 8)) (from versions: )
No matching distribution found for PyQt5 (from -r requirements.txt (line 8))

Using python 3.4.3 which seems to be the highest version I can get operating on this Pi under conda / stretch. Any advice? Anyone have a guide to getting this operating on the Pi 3 B+?

gui and history less sparse_speed.py version

Hello,

I used a GUI and history less version of the sparse_speed.py file. Because running just on a PI and optimize performance.

Now the problem:
With my version I have bad results, with the original GUI version I have good results.

For sure, I use same settings!
But I remove also all sequence parts and add the calculation, which I get from Erik in a forum. Guess there must be something wrong.

It would be very nice if you could upload a version, without GUI and History.

Thank you!

wrong elfclass

trying to run the basic example:
pi@raspberrypi:~/acconeer-python-exploration/examples $ python3 basic.py -spi
Exception raised in SPI communication process:

Traceback (most recent call last):
File "/home/pi/.local/lib/python3.7/site-packages/acconeer/exptool/clients/reg/client.py", line 623, in run
self._run()
File "/home/pi/.local/lib/python3.7/site-packages/acconeer/exptool/clients/reg/client.py", line 641, in _run
ret = getattr(self, cmd)(*cmd_args)
File "/home/pi/.local/lib/python3.7/site-packages/acconeer/exptool/clients/reg/client.py", line 694, in connect
self.dev = libft4222.Device()
File "/home/pi/.local/lib/python3.7/site-packages/acconeer/exptool/libft4222.py", line 241, in init
_load_dll()
File "/home/pi/.local/lib/python3.7/site-packages/acconeer/exptool/libft4222.py", line 193, in _load_dll
dll = ctypes.CDLL(lib_path)
File "/usr/lib/python3.7/ctypes/init.py", line 356, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/pi/.local/lib/python3.7/site-packages/acconeer/exptool/data/libft4222/libft4222.so.1.4.2.184: wrong ELF class: ELFCLASS64

but if I ask it 32 or 64 bit:
pi@raspberrypi:~/acconeer-python-exploration/examples $ uname -a
Linux raspberrypi 5.4.71-v8+ #1352 SMP PREEMPT Fri Oct 16 18:12:52 BST 2020 aarch64 GNU/Linux

Xm122 Bootloader

I Lost boot loader file in XM122 module i can't update code via in dfu where i get boot loader and softdevice of xm122 module.

Max range

Hi all,

I am using XB122 evaluation kit. I have noticed that A111 datasheet states:

Measures absolute range up to 2 m",

while services allow range up to 7m and module description states up to 10m. Can you explain me what is the difference?

Also, I have some difficulty seeing a hedge/tree. I get no peaks in envelope for distances which are let's say roughly above 2m. I tried with different gains as well as with lens but the outcome was similar. Is this due to poor reflectivity of the objects or I am missing something?

Thanks!

Slower XM112 UART data rates with 1.8.1 firmware

Ever since the 1.8.1 SDK and module firmware were released I've noticed that the python exploration tools are reporting much slower data transfer rates. Prior to updating to 1.8.1 I was normally seeing 3.0Mbit/s being reported. After updating to 1.8.1 it's dropped to 0.18Mbit/s and stays there regardless if I change computers or USB cables.

Connect over socket

Hello,

my XB112 is connected via USB on my rasbperry.

Is it possible to connect from my local windows machine to the sensor over a socket?

I use for other projects often ser2net ... but can I define the port in the gui (main.py).

Thank you!

Edit: I see you are using Port 6110?
I setup ser2net with:
6110:raw:0:/dev/ttyUSB0:115200

When I connect, I get:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 3: ordinal not in range(128)

which serial settings did the XB112 need?

Will Ranged Doppler Image be supported?

As Ranged Doppler Images collected from SOLI have been shown very effective as the input features to the hand gesture recognition network (paper), I wonder is there any plan to support this feature or is there any feasible way to derive it from currently available services.

Trying to use XC112/XR112 with NUCLEO-F401RE

Hello :) I'm trying to use the evaluation kit with a Nucleo-F401RE. I've got a problem with the SPI communication, then I saw in the code provided to implement this kit on STM32 and there is a file called "acc_hal_integration_single_thread_stm32cube_xc112.c". In this file, there is a function to power on the sensor, but I'm not sure if I've declared all the required pins. To be especific, I'm a little bit confused about the settings for the slave selector.
This is the function:
_static void acc_hal_integration_sensor_power_on(acc_sensor_id_t sensor_id)
{
...
HAL_GPIO_WritePin(A111_SPI_SS_GPIO_Port, A111_SPI_SS_Pin, GPIO_PIN_SET);
...
// Select communication with only Sensor 1 and deselect all other radar slots
HAL_GPIO_WritePin(XC112_SPI_S1_ENABLEN_GPIO_Port, XC112_SPI_S1_ENABLE_N_Pin, GPIO_PIN_RESET);
}

I believed that I needed only the XC112_SPI_S1 pin to communicate with the sensor but the A111_SPI_SS pin confuse me a bit. Actually, I cannot see the last one in the electrical schematic . I guess the XC112_SPI_S1 pin is the pin called SPI_S1_ENABLE_N in the schematic but the other one, I'm not sure where it is.
pinout

presence_detection_sparse.py can't stream multiple sensor with EVK

I have the Raspberry Pi + EVK + 4 sensors and I want to stream data from all 4 sensors at once by running python presence_detection_sparse.py -s 192.168.XXX.XXX --sensor 1 2 3 4 . This works with the sparse.py service, it plots them all under each other, but doing it with presence_detection_sparse.py will have it saying that it does not recognize "2 3 4".

Is it like this on purpose or is it just an unintentional bug?

Loading hdf5 files

Good afternoon,

How can I open a file generated by the gui in another environment, so I can use it?

The files are stored in Hdf5 format, everytime I try to open the file in python i get the following error.
error python - opening file

Or an error saying that it cannot decode bytes ( I have tried using the raw string and the double \, but so far it hasn't worked)

When I open the hdf5 in matlab, the value that I get is a single value for the whole file, which doesn't make sense to me.

error matlab - opening file

Could you explain how can I access the data that the gui is interpreting or where can I find information on the way the data is saved?

Error loading training data with more than a few frames

Hi, I'm getting an error loading training data into the ML gui. When I have more than a couple frames in one npy training data file it gives me an error:

Failed to load training data: Axis 13 is out of bounds for array of dimension 4.

If I put in a file with 3 frames or less it works fine but once I get more than that it just throws that error. The axis number varies but it's always the same error.

I'm running an A111 if that helps. Thanks!

Error with the GUI

Good evening,

Lately I've been having a big problem with the GUI.

I updated it and now whenever I try to run it, I get the following message in my prompt:
C:\Users\lucas\OneDrive\Área de Trabalho\Tese Radar\acconeer-python-exploration-master >python gui/main.py

Lib version mismatch. Installed: 3.1.1 Latest: 3.2.8
You probably need to reinstall the library (python -m pip install -U --user .)
The GUI might not work properly!

However, when I run this command, I get this:

C:\Users\lucas\OneDrive\Área de Trabalho\Tese Radar\acconeer-python-exploration-master >python -m pip install -U --user
ERROR: You must give at least one requirement to install (see "pip help install")

The folder doesn't have the file required to install.

But I can still Launch the GUI, but everything runs extremely slow. I am not able to save or to Load any files because the window keeps freezing, while the prompt shows:

SHGetFileInfo() timed out for C:\Users\lucas\OneDrive\┴rea de Trabalho\Tese Radar\acconeer-python-exploration-master
SHGetFileInfo() timed out for C:\Users\lucas\OneDrive\┴rea de Trabalho\Tese Radar\acconeer-python-exploration-master .github
SHGetFileInfo() timed out for C:\Users\lucas\OneDrive\┴rea de Trabalho\Tese Radar\acconeer-python-exploration-master \docs
SHGetFileInfo() timed out for C:\Users\lucas\OneDrive\┴rea de Trabalho\Tese Radar\acconeer-python-exploration-master \examples
SHGetFileInfo() timed out for C:\Users\lucas\OneDrive\┴rea de Trabalho\Tese Radar\acconeer-python-exploration-master \gui

after that I have to restart the whole thing.

Any idea?

thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.