ni / niveristand-embedded-data-logger-custom-device

VeriStand embedded data logger custom device
MIT License
3 stars 10 forks source link

No .tdms files start on trigger. #73

Closed johndevera closed 11 months ago

johndevera commented 12 months ago

Describe the bug No .tdms files are generated after setting up EDL. Does EDL work on Target running Linux x64?

To Reproduce Steps to reproduce the behavior:

Expected behavior Files should start appearing in folder and a new file should get created and previous file closed every 30sec.

Screenshots Embedded Data Logger Config

embedded_data_logger_config

Veristand Controller Specification

controller_specification

Desktop (please complete the following information):

jacobson3 commented 12 months ago

What are the status channels reading (the ones under data_log) when you're running this system definition? Also, is there anything relevant printed to the console?

I just set up a similar test with VeriStand 2023Q1 running on an 8861 running LinuxRT x64 and everything seemed to be working as expected. I copied all of the configurations in the images and just logged 5 random system channels. When I deployed the system definition I opened an SSH session and navigated to /C/test_folder/stream_data and just ran an ls -l to see that files were being created and data was being logged (I was really just looking at file size).

hongbo-miao commented 12 months ago

Thanks @jacobson3 ! I am working @johndevera , nice to meet you!

Just confirm the log is expected to save in the host machine instead of target machine, right? Another question, is there a link how to check this "Embedded Data Logger Custom Device" own log, just for debugging purpose, thanks! 😃

jacobson3 commented 12 months ago

The log will be saved on the target LinuxRT system.

I'm not sure what you mean by "Embedded Data Logger Custom Device own log". Whatever VeriStand prints to the console during operation can also be read from /dev/vcs, maybe that's what you're looking for.

hongbo-miao commented 12 months ago

Thanks @jacobson3 !

Q1

For this Log File Directory, if it is on target Linux, when I input Linux folder path

/home/admin/stream

image

and press enter, it automatically changes to

home:\admin\stream

image

In our case, if the log saves in the target Linux system, I am expecting it uses a Linux folder path. However, this formatted folder path is using Windows format.

Q2

When I say "Embedded Data Logger Custom Device own log", I just want to check its own log. For example, if it tries to write to a folder path without access, I am expecting it fails / crashes with some log printed somewhere, so that I can check what causes "Embedded Data Logger" not working properly.

buckd commented 12 months ago

it automatically changes to home:\admin\stream

This bug is captured in #24. The custom device uses LabVIEW controls to construct the UI for configuration. LabVIEW path controls automatically convert paths to display valid paths on the current operating system. Because the configuration is running on Windows, the control converts what is entered to a LabVIEW path.

jacobson3 commented 12 months ago

For question 2, /dev/vcs is probably where it prints errors. I don't think the custom device keeps a separate log so any errors should be passed back up to the VeriStand engine and end up in /dev/vcs.

You'll probably still want to look at the status channels as the custom device may be in a state where it won't log anything but it doesn't consider it an error.

johndevera commented 12 months ago

@jacobson3 @buckd thanks for your replies!

@jacobson3 Can you confirm, is your host machine running windows? Your first reply seems like the host machine is windows and target is linux. Also, this is our output of /dev/vcs

image

@buckd Is that just a UI bug? You mention in #24 that its "difficult". Does it in fact record files on the linux target when your host machine is windows? We tried specifying the record folder on the linux system as /home/admin/stream/ and we still did not see any .tdms.

jacobson3 commented 12 months ago

Yes, the host is my Windows 10 laptop and the target is an 8861 running LinuxRT.

rtzoeller commented 12 months ago

We tried specifying the record folder on the linux system as /home/admin/stream/ and we still did not see any .tdms.

I think you're just hitting an unfortunate quirk at the intersection of how LabVIEW runs, the default users on NILRT, and Linux filesystem permissions.

LabVIEW and therefore VeriStand run as lvuser, and can't write to /home/admin unless you modify the permissions. I'm not sure we do a good job reporting errors on this today.

Can you try writing to /home/lvuser/ instead?

johndevera commented 12 months ago

Thanks @rtzoeller I tried writing it to /home/lvuser but it didn't work. See how the path got entered in the EDL

image
johndevera commented 11 months ago

@jacobson3 @rtzoeller @buckd Thanks for your help!

The files are in fact at /C/test_folder/stream_data Somehow when i viewed it before i didn't see the C folder.

Closing this ticket. I still think it would be better to specify a linux path if it is being save to linux