DRAFT: add AD7173 family - #42
Conversation
* AD4111 12 channel (8 voltage/4 current) +1 temperature Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
| properties (Nontunable, Hidden) | ||
| Timeout = Inf | ||
| kernelBuffersCount = 1 | ||
| dataTypeStr = 'int32' |
There was a problem hiding this comment.
is int32 the best type available? most devices declare realbits to 24 and ad4113 is 16 bits
There was a problem hiding this comment.
For 16 bit resolution & less than that, dataTypeStr should be set to int16. For values higher than 16 (eg. 18/24 etc), the dataTypeStr has to be set to int32, which is the next value of powers of two.
| %% Check Voltage Scale | ||
| function rValue = get.VoltageScale(obj) | ||
| if obj.ConnectedToDevice | ||
| rValue = obj.getAttributeDouble('voltage0', 'scale', obj.isOutput); |
There was a problem hiding this comment.
the default of 'voltage0' might not exists depending on how the dtb is written, how to account for that? I see GetChannelAttrValue() exists in +Generic/Rx.m but I'm unsure how to get the chnID from the first enabled channel?
There was a problem hiding this comment.
If you have access to the hardware, the fastest way to get the channels names & attributes is running iio_info.
There was a problem hiding this comment.
I have access to the hardware, but if no voltage channels are declared in dts, there will be no voltage channels?
There was a problem hiding this comment.
I don't think they are named "voltage0" and so on in the dts. I think they are reffered to as "channels". I'm not very familiar with Linux, but if I'm not wrong, those namings are from iio.
| channel_names = {'voltage0','voltage1','voltage2','voltage3',... | ||
| 'voltage4','voltage5','voltage6','voltage7','current0', ... | ||
| 'current1','current2','current3','differential0', ... | ||
| 'differential1','differential2','differential3', 'temp'}; |
There was a problem hiding this comment.
the channels will not be named differentialX but something like in_voltage3-voltage5_raw
I'm unsure how to translate this here? other devices in the toolbox seems to use differentialX, not sure how this works?
There was a problem hiding this comment.
Right, as I mentioned above, if you can run iio_info it should ease the naming process. If you're using only the Linux drivers, you can take an example from previous similar scenarios.
In this PR there are both differential and non-differential parts.
There was a problem hiding this comment.
yes but, the number and naming of the differential channels depends on the device tree... and this is hardcoded... so should I hardcode all possible values in this PR!?
There was a problem hiding this comment.
Yes, if the values are hardcoded I think we should have separate files for each devicetree/ channels combinations.
|
Do we have any updates on this draft PR? |
Pull Request Description
Please replace this with a detailed description and motivation of the changes.
You can tick the checkboxes below with an 'x' between square brackets or just check them after publishing the PR.
If this PR contains a breaking change, list dependent PRs and try to push all related PRs at the same time.
PR Type
PR Checklist