Как протестировать RGBLED без подключения Raspberry Pi?

Я работал с gpiozero и хотел использовать MockFactory для отладки на локальном устройстве без подключения Raspberry Pi (4). В последний раз я использовал Mockfactory с объектом gpiozero.LED. Но на этот раз я использовал устройство вывода gpiozero.RGBLED. Когда я запускаю свою программу, я получаю следующую ошибку: gpiozero.exc.PinPWMUnsupported

import gpiozero
from gpiozero.pins.mock import MockFactory

gpiozero.Device.pin_factory = MockFactory()
led = gpiozero.RGBLED(4, 3, 2)

Я знаю, что MockFactory не поддерживает ШИМ, как указано в документации https://github.com/gpiozero/gpiozero/blob/master/gpiozero/pins/mock.py

Макет булавки, используемый в основном для тестирования. Этот класс не поддерживает ШИМ.

Как мне реализовать эту функциональность, чтобы протестировать мою программу без подключения к Raspberry Pi? Любая помощь или указатели в правильном направлении очень приветствуются!


person Mistel_Panda    schedule 08.11.2020    source источник


Ответы (1)


Поскольку RGB по своей сути является ШИМ (количество красного, зеленого и синего контролируется ШИМ), это не сработает.

Что вы могли бы сделать, так это просто создать фиктивный вывод на основе нужных вам значений. Вы не написали свое намерение, но вы могли бы сделать значения, которые вы хотите, чтобы ваш RGBLED имел, и просто распечатать их для отладки.

Дайте мне знать, если вам нужны другие советы!

person Zylvian    schedule 09.11.2020
comment
Пытаюсь сделать то же самое... Даже не уверен, что это правильный вариант использования для моего контекста (тестирование кода без подключения к RPi). Кажется, это классика, так как среда разработки на пи быстро перегружает ее :-). Было бы лучше/чище реализовать PinFactory, который просто возвращает постоянные значения и игнорирует ввод? - person Xan-Kun Clark-Davis; 09.11.2020