1. Вступ
У наступних розділах наведено контакти, параметри та функції, що надаються «канонічними пристроями». Усі драйвери пристроїв HAL повинні надавати однакові контакти та параметри і реалізовувати однакову поведінку.
Зверніть увагу, що для канонічного пристрою визначені лише поля _<io-type>_ та _<specific-name>_. Поля _<device-name>, _<device-num>_ та _<chan-num>_ встановлюються на основі характеристик реального пристрою.
2. Цифровий вхід
The canonical digital input (I/O type field: digin) is quite simple.
2.1. Піни
(біт) in:: Стан апаратного входу. (біт) in-not:: Інвертований стан входу.
2.2. Параметри
None
2.3. Функції
(funct) read:: Зчитування апаратного забезпечення та встановлення контактів HAL «in» та «in-not».
3. Цифровий вихід
The canonical digital output (I/O type field: digout) is also very simple.
3.1. Піни
(bit) out:: Значення, яке буде записано (можливо, інвертовано) на вихід обладнання.
3.2. Параметри
(bit) invert:: Якщо значення TRUE (ИСТИНА), out інвертується перед записом на обладнання.
3.3. Функції
(funct) write:: Зчитайте out та invert, і відповідно встановіть апаратний вихід.
4. Аналоговий вхід
The canonical analog input (I/O type: adcin). This is expected to be used for analog to digital converters, which convert e.g. voltage to a continuous range of values.
4.1. Піни
(float) value:: Показник апаратного забезпечення, масштабований відповідно до параметрів scale та offset.
value = ((вхідний показник, в одиницях, що залежать від апаратного забезпечення) * scale) - offset
4.2. Параметри
(float) масштаб:: Вхідна напруга (або струм) буде помножена на масштаб, перш ніж буде виведена у вигляді значення. (float) зміщення:: Це буде віднято від вхідної напруги (або струму) обладнання після застосування множника масштабу. (float) біт_вага:: Значення одного найменш значущого біта (LSB). Це фактично ступінь гранулярності вхідного зчитування. (float) hw_offset:: Значення, що присутнє на вході, коли на вхідний(і) контакт(и) подається 0 вольт.
4.3. Функції
(funct) read:: Зчитувати значення цього аналогового вхідного каналу. Це може бути використано для зчитування окремих каналів або може призвести до зчитування всіх каналів.
5. Аналоговий вихід
The canonical analog output (I/O Type: adcout). This is intended for any kind of hardware that can output a more-or-less continuous range of values. Examples are digital to analog converters or PWM generators.
5.1. Піни
(float) value:: Значення, яке потрібно записати. Фактичне значення, що виводиться на апаратне забезпечення, залежатиме від параметрів масштабу та зміщення. (bit) увімкнути:: Якщо значення false (хибне), то вивести 0 на обладнання, незалежно від виводу value.
5.2. Параметри
(float) зміщення:: Це буде додано до значення перед оновленням обладнання.
(float) масштаб:: Це слід встановити таким чином, щоб вхідний сигнал 1 на виводі value призводив до того, що аналоговий вихідний вивід зчитуватиме 1 вольт.
(float) high_limit (необов’язково):: Під час обчислення значення для виведення на обладнання, якщо value
offset більше за high_limit, тоді замість нього буде використано
high_limit.
(float) low_limit (необов’язково):: Під час обчислення значення для виведення на обладнання, якщо value
offset менше за low_limit, тоді замість нього буде використано
low_limit.
(float) bit_weight (необов’язково):: Значення одного найменш значущого біта (LSB) у вольтах (або мА для струмових виходів).
(float) hw_offset (необов’язково):: Фактична напруга (або струм), яка буде виведена, якщо в апаратне забезпечення записати 0.
5.3. Функції
(funct) write:: Це призводить до виведення обчисленого значення на апаратне забезпечення. Якщо enable має значення false, то вихідним значенням буде 0, незалежно від value, scale та offset. Значення «0» залежить від апаратного забезпечення. Наприклад, двополярний 12-бітний ADC може потребувати запису 0x1FF (середня шкала) в DAC, щоб отримати 0 вольт з виводу апаратного забезпечення. Якщо enable має значення true, зчитайте scale, offset і value та виведіть на adc (scale * value) + offset. Якщо enable має значення false, виведіть 0.