mirror of
https://github.com/gunner47/GyverLamp.git
synced 2025-08-07 17:10:30 +03:00
Добавлена точная настройка яркости, скорости и масштаба эффектов; Добавлено управление будильниками
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -42,7 +42,11 @@ MainScreen
|
||||
BrightnessSliderPositionChanged метод (событие): действия при изменении слайдера яркости
|
||||
SpeedSliderPositionChanged метод (событие): действия при изменении слайдера скокрости
|
||||
ScaleSliderPositionChanged метод (событие): действия при изменении слайдера масштаба
|
||||
BrightnessListPickerAfterPicking метод (событие): действия при выборе точного значения яркости из контекстного списка
|
||||
SpeedListPickerAfterPicking метод (событие): действия при выборе точного значения скорости из контекстного списка
|
||||
ScaleListPickerAfterPicking метод (событие): действия при выборе точного значения масштаба из контекстного списка
|
||||
UpdateControls метод: обновить отображение элементов управления (статусы enabled/disabled) в зависимости от сохранённых свойств (модели данных)
|
||||
PopulateListPickerElements метод: заполнить контекстный список яркости/скорости/масштаба эффектов значениями, близкими к текущей позиции соответствующего слайдера
|
||||
SetDebugText метод: установить отладочный текст основной отладочной текстовой метке
|
||||
|
||||
ConnectivityScreen
|
||||
@@ -71,7 +75,27 @@ FavoritesScreen
|
||||
|
||||
AlarmScreen
|
||||
Visible свойство: "Видимость экрана устройств"
|
||||
Initialized свойство: "Экран управления будильниками инициализирован"
|
||||
BlockControlEventsEmitting свойство: "Не генерировать события от элементов управления" (переключателей, тайм пикеров и т.д.); нужно, например, чтобы предотвратить switch.changed при его enable/disable
|
||||
BaсkButtonClick метод (событие): действия при UI кнопки "Назад" на "экране" будильника
|
||||
MonSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
TueSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
WedSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
ThuSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
FriSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
SatSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
SunSwitchChanged метод (событие): действия при установке/снятии переключателя включения будильника
|
||||
MonTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
TueTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
FriTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
WedTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
ThuTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
SatTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
SunTimePickerAfterTimeSet метод (событие): действия при выборе времени будильника
|
||||
TimeBeforeAlarmListPickerAfterPicking метод (событие): действия при выборе времени срабатывания будильника перед "рассветом"
|
||||
ResetAlarmState метод: "забыть" состояние будильников в android приложении (перед последующим запросом этого состояния)
|
||||
UpdateScreen метод: обновить все элементы управления на "экране" управления будильниками согласно модели данных
|
||||
UpdateControls метод: обновить отображение элементов управления (статусы enabled/disabled) в зависимости от сохранённых свойств (модели данных)
|
||||
|
||||
TimerScreen
|
||||
Visible свойство: "Видимость экрана устройств"
|
||||
@@ -82,6 +106,7 @@ DeviceManager
|
||||
State свойство: полученное командой GET состояние устройства (CURR...), список (не строка)
|
||||
Devices свойство: список устройств (хранимое свойство)
|
||||
CurrentDeviceSocket свойство: текущее устройство (хранимое свойство)
|
||||
AlarmState свойство: текущее состояние будильников по дням (вкл/выкл, время каждого, время срабатывания перед "рассветом")
|
||||
Modes свойство: список доступных режимов, захардкожен одновременно в лампе и в приложении, должен совпадать
|
||||
Initialize метод: вычитывание хранимых свойств и инициализация соответствующих переменных
|
||||
ConnectDeviceSocket метод: стартовать таймер (polling timer) с регулярной отправкой команд GET/DEB на устройство
|
||||
@@ -100,6 +125,15 @@ DeviceManager
|
||||
ResetCurrentDevice метод: установить свойство CurrentDeviceSocket в начальное состояние (очистить), соответствует состоянию "устройство не выбрано"
|
||||
ResetCurrentDevices метод: установить свойство Devices в начальное состояние (очистить), соответствует состоянию "профили устройств не заданы"
|
||||
ValidateIpPort метод: валидировать переданное в качестве параметра значение IP адреса или порта
|
||||
SendUdpCommand метод: отправить команду, приянтую в качестве входного аргумента, на подключенное устройствоС (обобщённый метод)
|
||||
HandleDeviceResponse метод: обработать ответ от подключенного устройства на отправленные команды
|
||||
GetAlarms метод: отправить команду запроса состояния будильников ALM_GET на устройство
|
||||
GetAlarmOnOff метод: получить состояние вкл/выкл будильника для указанного во входном аргументе дня (из свойства AlarmState)
|
||||
GetAlarmTime метод: получить время срабатывания будильника для указанного во входном аргументе дня (из свойства AlarmState)
|
||||
GetTimeBeforeAlarmIndex метод: получить время срабатывания будильника перед "рассветом"
|
||||
SetAlarmOnOff метод: отправить команду вкл/выкл будильника для заданного дня ALM_SET на устройство
|
||||
SetAlarmTime метод: отправить команду установки времени срабатывания будильника для заданного дня ALM_SET на устройство
|
||||
SetTimeBeforeAlarm метод: отправить команду установки времени срабатывания будильника перед "рассветом" DAWN на устройство
|
||||
|
||||
DiscoverManager
|
||||
TimeoutMs свойство: время ожидания ответа от устройств на multicast команду DISCOVER
|
||||
@@ -128,10 +162,10 @@ PollingManager
|
||||
SendSetBrightnessCommandToDevice метод: отправить команду установки яркости на подключенное устройство
|
||||
SendSetSpeedCommandToDevice метод: отправить команду установки скорости на подключенное устройство
|
||||
SendSetScaleCommandToDevice метод: отправить команду установки масштаба на подключенное устройство
|
||||
HandleDeviceResponse метод: обработка ответа от подключенного устройства на отправленные команды
|
||||
SendUdpCommand метод: отправить команду, приянтую в качестве входного аргумента, на подключенное устройствоС (обобщённый метод)
|
||||
|
||||
StringHelper
|
||||
GetIpPortString метод: получить строку формата IP:PORT из входных параметров IP и PORT
|
||||
GetIpFromIpPortString метод: получить IP из входного параметра формата IP:PORT
|
||||
GetPortFromIpPortString метод: получить PORT из входного параметра формата IP:PORT
|
||||
GetFormattedTimeFromMinutes метод: получить строку с временем в формате hh:mm из входного аргумента (количество минут)
|
||||
GetMinutesFromFormattedTime метод: получить количество минут из форматированной строки (hh:mm), переданной в качестве входного аргумента
|
||||
|
@@ -37,6 +37,11 @@
|
||||
- Добавлены 2 эффекта: Светлячки со шлейфом и Белый свет
|
||||
- При запросе обновления по воздуху (2 четверных касания к кнопке) лампа переключается в режим "Матрица" для визуального подтверждения готовности к прошивке
|
||||
- В android приложение добавлена функция сканирования сети и добавления ламп с помощью multicast пакетов, доработка прошивки под это
|
||||
--- 03.08.2019
|
||||
- Исправлены ошибки взаимодействия android приложения с лампой, в вывод команды CURR добавлено текущее время (или millis(), если время не синхронизировано)
|
||||
--- 10.08.2019
|
||||
- Добавлена точная настройка яркости, скорости и масштаба эффектов
|
||||
- Добавлено взаимодействие с android приложением по управлению будильниками
|
||||
*/
|
||||
|
||||
// Ссылка для менеджера плат:
|
||||
|
@@ -213,7 +213,7 @@ class OtaManager
|
||||
Serial.printf("Для обновления в Arduino IDE выберите пункт меню Инструменты - Порт - '%s at ", espHostName);
|
||||
Serial.print(WiFi.localIP());
|
||||
Serial.println("'");
|
||||
Serial.printf("Затем нажмите кнопку 'Загрузка' в течение %u секунд и по запросу введите пароль '%ы'\n", ESP_CONF_TIMEOUT, AP_PASS);
|
||||
Serial.printf("Затем нажмите кнопку 'Загрузка' в течение %u секунд и по запросу введите пароль '%s'\n", ESP_CONF_TIMEOUT, AP_PASS);
|
||||
Serial.println("Устройство с Arduino IDE должно быть в одной локальной сети с модулем ESP!");
|
||||
#endif
|
||||
}
|
||||
|
@@ -4,8 +4,6 @@ void parseUDP()
|
||||
|
||||
if (packetSize)
|
||||
{
|
||||
Serial.print("income");
|
||||
|
||||
int32_t n = Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);
|
||||
packetBuffer[n] = 0;
|
||||
inputBuffer = packetBuffer;
|
||||
@@ -89,12 +87,12 @@ void parseUDP()
|
||||
if (inputBuffer.indexOf("ON") != -1)
|
||||
{
|
||||
alarm[alarmNum].state = true;
|
||||
inputBuffer = "alm #" + String(alarmNum + 1) + " ON";
|
||||
sendAlarms();
|
||||
}
|
||||
else if (inputBuffer.indexOf("OFF") != -1)
|
||||
{
|
||||
alarm[alarmNum].state = false;
|
||||
inputBuffer = "alm #" + String(alarmNum + 1) + " OFF";
|
||||
sendAlarms();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -102,9 +100,7 @@ void parseUDP()
|
||||
alarm[alarmNum].time = almTime;
|
||||
byte hour = floor(almTime / 60);
|
||||
byte minute = almTime - hour * 60;
|
||||
inputBuffer = "alm #" + String(alarmNum + 1) +
|
||||
" " + String(hour) +
|
||||
":" + String(minute);
|
||||
sendAlarms();
|
||||
}
|
||||
saveAlarm(alarmNum);
|
||||
}
|
||||
@@ -118,6 +114,7 @@ void parseUDP()
|
||||
{
|
||||
dawnMode = inputBuffer.substring(4).toInt() - 1;
|
||||
saveDawnMmode();
|
||||
sendAlarms();
|
||||
}
|
||||
|
||||
else if (inputBuffer.startsWith("DISCOVER")) // обнаружение приложением модуля esp в локальной сети
|
||||
|
Reference in New Issue
Block a user