1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/RT-Thread-Mirror-rtt-littled

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

rtt-littled

Маленький демон управления светодиодами для RT-Thread

1. Введение

Littled — это очень простой и удобный в использовании пакет управления светодиодами, основанный на связях списков.

Название может показаться странным, но это сокращение от "Little LED Daemon", что означает маленький демон управления светодиодами. Этот пакет предназначен для помощи в управлении запросами от приложений по управлению светодiodами (включением, выключением, миганием и т.д.).

1.1 Основные характеристики

  • Реализация сервиса с помощью паттерна Singleton
  • Асинхронные операции
  • Простое API
  • Линеаризация задач
  • Надёжность многопоточности
  • Поддержка прерываний

1.2 Архитектура программного обеспечения

Схема littled

Дополнительно >> Блог CSDN

1.3 Структура каталогов

Имя Описание
examples Примеры
inc Каталог заголовочных файлов
src Каталог исходных файлов

1.4 Лицензия

Пакет Littled использует лицензию Apache License v2.0, подробнее см. файл LICENSE.

1.5 Зависимости

  • RT-Thread 3.0+
  • Модуль управления динамической памятью

2. Получение пакета Littled

Чтобы использовать пакет Littled, его следует выбрать в менеджере пакетов RT-Thread, следуйте указанному пути:

RT-Thread online packages --->
    Peripheral libraries and drivers --->
        [*] littled: Little LED Daemon for LED driver  --->
```Затем выполните автоматическое обновление менеджера пакетов RT-Thread или используйте команду `pkgs --update`, чтобы обновить пакет до BSP.


## 3. Использование пакета Littled

### 3.1 Версии

| Версия | Описание                    |
| ------ | --------------------------- |
| v0.2.0 | Первый выпуск, реализует все необходимые функции |
| latest | Дальнейшее улучшение         |

На данный момент находится в стадии бета-тестирования, рекомендуется использовать последнюю версию для разработчиков.


### 3.2 Настройки

- Интервал времени: `PKG_USING_LITTLED_PERIOD`
- Ширина импульса (время высокого уровня): `PKG_USING_LITTLED_PULSE`
- Время мигания: `PKG_USING_LITTLED_BELL_TIME`
- Частота мигания: `PKG_USING_LITTLED_BEEP_COUNT`

> Единицы измерения времени — миллисекунды (ms).


## 4. Описание API

### 4.1 Регистрация и отмена регистрации

Единственным требованием для использования службы littled является регистрация светодиода. Регистрационный интерфейс представлен ниже:

```c
int led_register(rt_base_t pin, rt_base_t active_logic);
```Вызов этого метода приводит к выделению динамического блока памяти для gp2y10_device_t и инициализации по указанным параметрам.

| Параметр       | Описание                                      |
| --------------- | --------------------------------------------- |
| pin            | Пин LED                                       |
| active_logic   | Эффективное логическое значение (PIN_HIGH/PIN_LOW) |
| **Возврат**    | ——                                            |
| Дескриптор LED | Успешная регистрация, возвращается дескриптор LED, который больше либо равен 0 |
| < 0            | Несоответствие регистрации, возвращается код ошибки |Примечание: В данном контексте `PIN_HIGH` и `PIN_LOW` являются специфическими значениями констант, поэтому они остаются без изменения. Если вы больше не нуждаетесь в управлении определенной светодиодной лентой, можно вызвать следующий интерфейс для отмены регистрации. После отмены регистрации повторное использование управления будет недействительным.

```c
void led_unregister(int ld);
Параметры Описание
ld Дескриптор LED
Возвращаемое значение ——

4.2 Управление режимами

После успешной регистрации можно использовать функцию led_mode, чтобы контролировать работу LED.

int led_mode(int ld, rt_uint32_t period, rt_uint32_t pulse, rt_uint32_t time, rt_uint32_t count);
Параметры Описание
ld Дескриптор LED
period Время периода, единицы – мс
pulse Ширина импульса (время высокого уровня), единицы – мс
time Время мигания, единицы – мс
count Количество миганий
Возвращаемое значение ——
RT_EOK Поскольку используется асинхронное управление, возврат RT_EOK не означает завершение управления LED, поэтому можно игнорировать возвращаемое значение

4.3 Макросы

Для удобства работы определены некоторые часто используемые режимы управления, рекомендуется использовать их напрямую:- Включение LED

```c
#define LED_ON(ld)
```
  • Выключение LED

    #define LED_OFF(ld)
  • Переключение состояния LED

    #define LED_TOGGLE(ld)
  • Уведомление через LED

    #define LED_BEEP(ld)
  • Звуковой сигнал через LED

    #define LED_BELL(ld)
  • Постоянное мигание LED

    #define LED_BLINK(ld)
  • Быстрое постоянное мигание LED

    #define LED_BLINK_FAST(ld)
  • Медленное постоянное мигание LED

    #define LED_BLINK_SLOW(ld)

По умолчанию период мигания составляет 1 секунду, Duty Cycle равен 50%. Вы можете изменить соответствующие значения по умолчанию пакета littled с помощью команды scons --menuconfig.

5. Внимание

  1. Pulse не может превышать Period.
  2. Новый режим управления заменяет старый и остается активным до следующего изменения режима управления.

6. Связанные документы

Смотрите каталог docs.

7. Контактная информация

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

littled — это очень простой и удобный пакет программного обеспечения для управления LED на основе связного списка. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/RT-Thread-Mirror-rtt-littled.git
git@api.gitlife.ru:oschina-mirror/RT-Thread-Mirror-rtt-littled.git
oschina-mirror
RT-Thread-Mirror-rtt-littled
RT-Thread-Mirror-rtt-littled
master