void callback(char* topic, byte* payload, int new_pwm, unsigned int length) {
Serial.println();
Serial.print(topic); // выводим в сериал порт название топика
Serial.print(" => ");
static int delta = +1;
static const int pwm_step = 2; // шаг изменения ШИМ
static const int pwm_step_time = 100; // время одного шага изменения ШИМ
static int stled;
int pwm = stled;
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
} // выводим в сериал порт значение полученных данных
String strTopic = String(topic); //получаем название топика
if (strTopic == "home/kinozal/led") //проверяем из нужного ли топика пришли данные
{
payload[length] = 0; //чистим от мусора, длинна строки
String strPayload = String((char*)payload); //считываем значение топика
int val = strPayload.toInt(); //конвертируем для шим
int stled = map(val, 0, 100, 0, 255); //приводим значение 0-100 в значение 255-0
while (pwm != new_pwm) {
int next_pwm = pwm + (pwm < new_pwm ? pwm_step : -pwm_step);
if ((pwm < new_pwm && next_pwm > new_pwm) ||
(pwm > new_pwm && next_pwm < new_pwm))
pwm = new_pwm;
else
pwm = next_pwm;
analogWrite(LEDPIN, pwm);
delay(pwm_step_time);
}
stled = new_pwm;
Serial.print(" => ");
Serial.print(pwm); // для отладки
}
}$(function () {
$('.real-show-hint').once().on( 'click', function(e) {
e = e || window.event;
e.preventDefault();
var ypos = $(this).offset().top-270;
var xpos = $(this).offset().left+150;
var RealHint = $(this).data('hint');
$(RealHint).css('top',ypos);
$(RealHint).css('left',xpos);
$(RealHint).toggle('fast');
return;
});
});{{ kint(view.field.field_object_label_x.original_value) }}view.field.field_object_label_x.original_value Drupal\Core\Render\Markup(1)
contents
protected string -> string(5) "40495"Creates a Markup object if necessary.
If $string is equal to a blank string then it is not necessary to create a
Markup object. If $string is an object that implements MarkupInterface it
is returned unchanged.
@param mixed $string
The string to mark as safe. This value will be cast to a string.
@return string|\Drupal\Component\Render\MarkupInterface
A safe string.
Defined in .../core/lib/Drupal/Component/Render/MarkupTrait.php:34 {{ view.field.field_object_label_x.original_value }} выводит как раз то что нужно, значение моего поля - число, но только один раз, если вставляю в цикл то выводит одинаковое число из последней ноды столько раз сколько количество этих нод<div><image x="{{ field_object_label_x }}" y="{{ field_object_label_x }}" width="5200" height="6800" xlink:href="{{ field_icon }}"/></div>{{ kint(fields) }}, {{ kint(rows.content) }}, {{ kint(rows.content.fields) }}, {{ kint(rows.content.fields.field_object_label_x) }}.rows array(3)
fields NULL
или
rows array(3)
rows.content.fields.field_object_label_x NULL<ol>
{% for key, value in _context %}
<li>{{ key }}</li>
{% endfor %}
</ol>view
rows
title
options
theme_hook_original
attributes
title_attributes
content_attributes
title_prefix
title_suffix
db_is_active
is_admin
logged_in
user
directory
default_row_class
#cache
theme_hook_suggestions
theme_hook_suggestion
_parent{% for row in rows %}
{% if row %}
{% if fields.field_object_label_y %}
{{ row.content.fields.field_object_label_y }}
{% endif %}
{% endif %}
{% endfor %}Посмотрите views-view-unformatted.html.twig, его препроцессор и views-view-fields.html.twig, функция. Для начала нужно проинспектировать некоторые значения, чтобы лучше понимать работу.простите тут что то я Вас не понимаю)
{{ view.field.field_object_label_x.original_value }} выводит то значение поля что нужно, осталось только правильно в цикл засунуть, неужели тут надо подключать еще препроцессоры? public table -> string(26) "node__field_object_label_x"
public tableAlias -> NULL
public realField -> string(26) "field_object_label_x_value"
public field -> string(20) "field_object_label_x"<div><image x="{{ field_object_label_x }}" y="{{ field_object_label_x }}" width="5200" height="6800" xlink:href="{{ view.field.field_icon.original_value }}"/></div>[field_object_label_x] => Array
(
[id] => field_object_label_x
[table] => node__field_object_label_x
[field] => field_object_label_x
[relationship] => none
[group_type] => group
[admin_label] =>
[label] =>
[exclude] =>
[alter] => Array(26)
[element_type] =>
[element_class] =>
[element_label_type] =>
[element_label_class] =>
[element_label_colon] =>
[element_wrapper_type] =>
[element_wrapper_class] =>
[element_default_classes] => 1
[empty] =>
[hide_empty] =>
[empty_zero] =>
[hide_alter_empty] => 1
[click_sort_column] => value
[type] => number_integer
[settings] => Array(2)
[group_column] => value
[group_columns] => Array(0)
[group_rows] => 1
[delta_limit] => 0
[delta_offset] => 0
[delta_reversed] =>
[delta_first_last] =>
[multi_type] => separator
[separator] => ,
[field_api_classes] =>
[plugin_id] => field
)
[tags] => Array
(
[0] => config:field.storage.node.field_icon
[1] => config:field.storage.node.field_object_label_x
[2] => config:field.storage.node.field_object_label_y
вместо set_pwm_smooth(stled); цикл с переменными засунуть надо, верно?