Errors trying to run demo on X4

Hi,

I am just getting started with the X4 Starter Kit.

I have gone through the process of running the dia
demo on the PC, via the CLI and the web interface.

I ran make.py, then transferred the dia.zip file to the
X4.

When I tried to execute

python dia.py dia.yml

I saw a message telling me that the 40002643_A.zip level
of Python was old and I should use 40002643_B.zip,
downloading, renaming to python.zip, then copying to
the X4.

Which I did. Now when I try again:

#> python dia.py dia.yml

Traceback (most recent call last):
File “”, line 35, in ?
File “WEB/python/python.zip/os.py”, line 1
m≥
^
SyntaxError: invalid syntax


Any thoughts? My apologies if I am doing something
incredibly stupid.

  • C

Hello,

Could you try to restart the device, upload the zip file again, and then try running it?

It’s often necessary to restart the device when you’re dealing with modifications to the zip files, so that could be the case here.

Thanks,
Chris

My problem appears to be closely related to the problems in this topic.

I am getting this text on the X4, I have rebooted the X4 after every upload sequence.

#> python dia.py dia.yml

Determining platform type…Digi Python environment found.

iDigi Device Integration Application Version 1.1.15
Using settings file: dia.yml
Core: initial garbage collection of 0 objects.
Initial settings file not found, aborting start up…

This is not what the “Dia Getting Started Guide” shows on page 9.
SO, a little help please.

Thanks, Chris,

That helped…a little, but not much:

#> python dia.py dia.yml

Determining platform type…Digi Python environment found.

Traceback (most recent call last):
File “”, line 161, in ?
File “”, line 82, in main
zipimport.ZipImportError: bad local file header in WEB/python/dia.zip


How picky is this stuff about Python version? It wants 2.4.3, but I was only able to find 2.4.4.

Thanks,

  • C

Hello,

I haven’t tried it myself with 2.4.4, so I’m not sure if it will work or not (I think it should though…). Here’s a link to 2.4.3

http://python.org/download/releases/2.4.3/

When you’re uploading dia.zip, make sure that it uploaded fully before attempting to start the Dia. It might be a good check to download the zip file from the device to your PC, and make sure it can still be extracted/read there.

Chris

The Python on the Digi device isn’t picky enough to care between versions 2.4.3 and 2.4.4

The “bad loacl file header” is caused when you upload the dia.zip after having already started the iDigi Dia. Is it possible that you have the iDigi Dia configured to auto-start?

Have a look under Applications->Python and then click on the “Auto-Start Settings” heading on the ConnectPort X4’s Web UI.

If there is something configured to auto-start, disable it for now. If there is nothing that is configured to auto-start dive your ConnectPort X4 a reboot one more time and then try and start your Dia application manually once again.

Jordan

Thanks, Jordan,

No autostarts are configured.

However, I’ve realized that I really do have to reboot the unit after every .zip file upload (why would this be?..and, that would be a good piece of advice to put in the tutorial).

I am getting much farther, but am still not out of the woods.

dia.py is unable to find the settings file. I can see it there in dia.zip. Will go back later and reverify that there is really a good version of that file in there.

Thanks,

  • C

You must restart due to a techincal implementation detail of the ConnectPort X device’s filesystem.

The filesystem on the ConnectPort X does not support timestamps. Since there are no timestamps it is difficult to tell when a file has changed. Python caches the structure of a given .zip file for speed. If you replace the file this cached representation of internal structure becomes invalid and hence you must reboot.

Keep us posted on what you discover. Feel free to attach your generated dia.zip file. We’ll get you running!

Jordan

As for the problem with it not finding the settings file…

If you run “python dia.py” it will try to use the default settings file in dia.zip.

You were specifying the settings file with “python dia.py dia.yml”. In this case I believe it won’t look for it in dia.zip, and you would have to upload it separately to the device.

Give it another try running it without the configuration file specified and see how that works for you.

Chris

Being brand new I was happy to see this thread since I was having the exact series of problems that chuckw was describing. I too was using 2.4.4 because it was easy to spot and then downloaded 2.4.3 after looking for it and this didn’t make a difference…

I just tried this last suggestion of uploading the dia.yml along with the dia.zip file and I have gotten through it all the way now. I would recommend changing the documentation in the “idigi-dia-102.pdf” file to reflect this solution.

I was wondering why timestamps don’t appear on the Python Configuration/Manage files Section of ConnectPortX4 but Jordan answered this one too.

My only question is why is there this warning when running the command “python dia.py dia.yml” -

Transform(count_by_two):warning: cannot update property, it does not exist

Everything seems to be fine now for me but I am just curious about this.

Marty

Hi Marty,

That warning is a peculiarity of the transform driver. The transform driver takes an input channel and modifies a sample by the defined equation and places the result into a different channel.

Because of the way the DIA starts up, it is not guaranteed that the input channel will exist before the transform driver attempts to read and process it. The warning itself is not an issue unless the DIA fully starts up and you continue to see the warning. That would then indicate the DIA is misconfigured.

OK, that makes a lot of sense. Thanks for the quick response.

Marty

Hi,

Try running with “python dia.py”

See this thread: http://www.digi.com/support/forum/viewthread_thread,1003#3855

Chris

What am I missing? I got the telnet session to work, but the web page does not.

The getting started guide is a bit cryptic on this.