I have git cloned the latest repo available in ep-ese-be-xtca/ipmc-project (v1.2.1 hash- 4422f1e4), and I only see two directories: ipmc-sensor and ipmc-user. The Firmware Documentation page (https://cern-ipmc.web.cern.ch/xmlDoc) says there should be 5, one of which is ipmc-tools.
When I run the compile.py file, it fails when making my sensors, specifically in trying to access ipmc-tools/sensor/raw.xml, which does not exist. Am I missing something, or is something out of date?
I am able to compile the provided sample files for the MCP9801 temperature sensor with just the ipmc-sensor and ipmc-user directories, so it is possible. I haven’t been able to get the compiler to succeed on any other sensor yet, including other sensors from the provided sample code. (Namely LTC2990)
Edit: to be clear, I have not successfully used the output to configure a board, I just got the compiler to complete.
Thank you for the response. I had not yet realized that the compiler was external to my system (at least I am pretty sure it is…). The error messages can also be a bit empty at times. It turned out I just had an error in my own code and for some reason it was spitting out error messages about the external files.
I have written my own device driver and have gotten it working.
Can you recall the bug that caused this error? I’m trying to figure out what is the cause behind this compilation error. I take from a working sample driver for the MCP9801 and it compiles. Then I change the name of the driver to another sensor that has a sample driver in the IPMC-sensors folder. I don’t see anything in config.xml that would prevent a driver for working for a random sensor.
Then I take the name of the MCP9801 in config.xml and change it to something arbitrary. I do this in both the .c and .h files in IPMC-sensors. I get the same error:
IOError: Error reading file ‘ipmc-tools/sensors/ABC123.xml’: failed to load external entity “ipmc-tools/sensors/ABC123.xml”
So I don’t know when this additional xml file is supposed to be generated. It sounds from your experience that an error in the code will prevent it, but I don’t see how.
I do not recall the bug, it’s one of those errors that is not very descriptive. If I had to guess I would say it has something to do with the config file. Are you using the templates available on https://cern-ipmc.web.cern.ch/sensors
The one on gitlab is out of date