реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Меню для RTC, Толкните уже куда нибудь
ILYAUL
сообщение Jan 13 2011, 15:57
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Всем добрый вечер! И с наступающим OLD NEW YEAR!!

"Ледяной" дождь и отключение электричества выявило одну проблемку в проекте , где часы синхронизировались от компа.
Решено было , дописать "МЕНЮ" внеся в него установку часов в MANUAL MODE.
Часы - DS1337 - код сжатый BCD
Вот никак не выберу решение из двух возможных ( по моему мнению)

1. Распоковать BCD на десятки и единицы и установить каждый отдельно. Но "вылезают" проблемы с часами и датой ( день месяца) и месяцем - не может быть 24 часа и выше и конечно 32 и выше дня.
Т.е. приходится отслеживать десятки , что бы задать диапазон изменения единиц - что "утяжеляет" программу
2. Перевести BCD to HEX ( элементарно). НО - если из 00:00 надо выставить 12:30 - 42 нажатия кнопок . Да забыл , кнопок is used всего 4 (+) (-) (MENU) (SET) Таймер 16 - свободен , можно конечно устроить "залипание" кнопки......
Вообщем за неделю так и не пришёл к окончательному пути. Help.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 13 2011, 16:21
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(ILYAUL @ Jan 13 2011, 21:57) *
Таймер 16 - свободен , можно конечно устроить "залипание" кнопки......
Вообщем за неделю так и не пришёл к окончательному пути. Help.

Делать так, как в наручных электронных часах (бывает по-разному, в данном случае вполне можно сделать с реверсом, т.е. больше/меньше). Крутить все поле целиком, с залипанием и, вполне возможно, с ускорением при длительном удержании. Если проскочит - всегда можно вернуться. По цифрам удобно, когда есть цифровая клавиатура, иначе удобство сомнительное.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 13 2011, 16:40
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Унутре микроконтроллера обычно используют время в UNIX/POSIX-формате - 32-х разрядное число секунд, прошедшее от 1 января 1970 года. Или чтобы избежать проблемы 2038 года, то 64-х разрядное число. Число это преобразуется в привычный для человека вид (ЧЧ:ММ:СС и ДД-ММ-ГГГГ) только при визуализации его во время отображения или при редактировании. Ну а вашем случае еще и при сохранении его в регистры м/с RTC. Для перевода даты/времени туда и обратно существуют уже готовые функции.
По поводу кнопок управления. При их ограниченном количестве используют функцию автоповтора, когда при удержании кнопки в нажатом состоянии некоторое время генерируется повторяющийся код этой кнопки. Иногда для дополнительного удобства при длительном удержании увеличивают скорость генерации повтора вдвое и вчетверо. Но опять же для вашего случая автоповтор следует сделать только для кнопок (+) и (-). Либо функцию автоповтора сделать отключаемой, включая ее в зависимости от текущего состояния меню.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 13 2011, 17:07
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(rezident @ Jan 13 2011, 22:40) *
Унутре микроконтроллера обычно используют время в UNIX/POSIX-формате - 32-х разрядное число секунд, прошедшее от 1 января 1970 года. Или чтобы избежать проблемы 2038 года, то 64-х разрядное число. Число это преобразуется в привычный для человека вид (ЧЧ:ММ:СС и ДД-ММ-ГГГГ) только при визуализации его во время отображения или при редактировании. Ну а вашем случае еще и при сохранении его в регистры м/с RTC. Для перевода даты/времени туда и обратно существуют уже готовые функции.
По поводу кнопок управления. При их ограниченном количестве используют функцию автоповтора, когда при удержании кнопки в нажатом состоянии некоторое время генерируется повторяющийся код этой кнопки. Иногда для дополнительного удобства при длительном удержании увеличивают скорость генерации повтора вдвое и вчетверо. Но опять же для вашего случая автоповтор следует сделать только для кнопок (+) и (-). Либо функцию автоповтора сделать отключаемой, включая ее в зависимости от текущего состояния меню.

Мне всегда нравились Ваши пояснения. biggrin.gif Но в данном проекте секунд , как таковых нет . Я всегда не понимал тех , кто выводя на экран минуты и часы , "дергал" проц каждую секунду. Поэтому и в данном проекте проц практически целую минуту просто спит. Через минуту просыпается ~ на 500 mc и снова спит. Я пишу на ASM , единственный мой проект на СИ(удачно) - кнопка и моргание светодиодов и то за последние 10 дней НГ- изучаю. На asm ,как я понял Вашу фразу (Для перевода даты/времени туда и обратно существуют уже готовые функции) т.е BCD- HEX и обратно , я даже не рассматриваю - это настолько элементарно , что и говорить не о чем.
Как я Вас понял ,Вы склоняетесь ко второму варианту .


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 13 2011, 17:16
Сообщение #5


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(rezident @ Jan 14 2011, 00:40) *
Или чтобы избежать проблемы 2038 года, то 64-х разрядное число.

На самом деле достаточно 32-х разрядного, но беззнакового.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 13 2011, 17:38
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(rezident @ Jan 13 2011, 22:40) *
Или чтобы избежать проблемы 2038 года, то 64-х разрядное число.

Кстати , дожить бы . Апокалипсис обещают уже 2012 в декабре, слабо верится , но ...... Конечно хорошо , если наши творения нас переживут , но кому они будут нужны ... Sorry bb-offtopic.gif


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 13 2011, 18:13
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ILYAUL @ Jan 14 2011, 01:07) *
На asm ,как я понял Вашу фразу (Для перевода даты/времени туда и обратно существуют уже готовые функции)
Нет, я имел в виду готовые функции на Си. Они используются, например, в Linux.
Цитата(ILYAUL @ Jan 14 2011, 01:07) *
Как я Вас понял ,Вы склоняетесь ко второму варианту .
Я не знаю полностью всей задачи, которую выполняет ваш МК. Если это просто часы, то нет ничего проще, чем считать текущее значение регистра из м/с RTC и в зависимости от типа поля (день, минута или месяц) гонять его по кольцу в заданном для данного типа поля диапазоне (секунды/минуты от 0 до 59, часы от 0 до 23, день от 1 до максимального в данном месяце и т.д.), инкрементируя или декрементируя значение на единицу при каждом нажатии клавиши. Чтобы не приходилось давить кнопку много раз, то лучше приделать к клавишам (+) и (-) функцию автоповтора.
Цитата(AHTOXA @ Jan 14 2011, 01:16) *
На самом деле достаточно 32-х разрядного, но беззнакового.
Это уже не будет UNIX/POSIX-формат. В UNIX используется 32-х битное знаковое число. Хотя лично мне тоже непонятно, зачем было для переменной времени использовать знаковое число? Ведь время назад не течет laughing.gif
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jan 14 2011, 09:27
Сообщение #8


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(ILYAUL @ Jan 13 2011, 21:57) *
1....приходится отслеживать десятки...


установка поразрядно. причём левые разряды сбрасывают правые. правые ограничиваются левыми. выставляют обычно с лева на право.

удачи вам
(круглый)
ЗЫ
Обожаю азм.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jan 14 2011, 12:09
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(ILYAUL @ Jan 13 2011, 21:57) *
1. Распоковать BCD на десятки и единицы и установить каждый отдельно. Но "вылезают" проблемы с часами и датой ( день месяца) и месяцем - не может быть 24 часа и выше и конечно 32 и выше дня.
Т.е. приходится отслеживать десятки , что бы задать диапазон изменения единиц - что "утяжеляет" программу
2. Перевести BCD to HEX ( элементарно). НО - если из 00:00 надо выставить 12:30 - 42 нажатия кнопок . Да забыл , кнопок is used всего 4 (+) (-) (MENU) (SET) Таймер 16 - свободен , можно конечно устроить "залипание" кнопки......
Вообщем за неделю так и не пришёл к окончательному пути. Help.


Только вчера закончил подменю настройки даты/времени в одном устройстве. 4 кнопки +, -, ENTER, BACK.
ENTER выбирает что настраиваем - день, месяц, год, час, минута, секунда - под соотв позицию подводится нижнее подчёркивание на LCD-индикаторе, +/- - инкремент/декремент параметра (для месяца учитывается кол-во дней (для февраля ещё и учёт високосного года)), по нажатию на BACK время сохраняется если было фактическое изменение. По нажатию и удержанию кнопки автоповтор инкремента/декремента соотв позиции. Получилось довольно удобно и оперативно настраивать время. По поводу кода - написал процедуры инкремента/декремента параметра с органичением:

Код
//----------------------------------
unsigned int incParam(unsigned int val, unsigned int low,unsigned int high)
{
  unsigned int result = val;
  
  if(result >= high) result = low;
  else result++;
  return result;
}
//----------------------------------

//----------------------------------
unsigned int decParam(unsigned int val, unsigned int low,unsigned int high)
{
  unsigned int result = val;
  
  if(result <= low) result = high;
  else result--;
  return result;
}
//----------------------------------


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

Пример инкремента по нажатию кнопки +

Код
              if(KEYBOARD.key_status & MENU_UP_KEY)
              {
                common_val = 1; //изменение параметра
                
                if(common_index == 0)
                {
                  //day
                  if( (LocalTime.RTC_Mon == 2) && ((LocalTime.RTC_Year % 4) == 0) )
                  {
                    //високосный год
                    LocalTime.RTC_Mday = incParam(LocalTime.RTC_Mday, 1, MONTH_LIMIT_DAY[LocalTime.RTC_Mon]+1);
                  }
                  else
                  {
                    LocalTime.RTC_Mday = incParam(LocalTime.RTC_Mday, 1, MONTH_LIMIT_DAY[LocalTime.RTC_Mon]);
                  }
                  
                }
                else if(common_index == 1)
                {
                  LocalTime.RTC_Mon = incParam(LocalTime.RTC_Mon, 1, 12);
                }
                else if(common_index == 2)
                {
                  LocalTime.RTC_Year = incParam(LocalTime.RTC_Year, 2011, 2099);
                }
                else if(common_index == 3)
                {
                  LocalTime.RTC_Hour = incParam(LocalTime.RTC_Hour, 0, 23);
                }
                else if(common_index == 4)
                {
                  LocalTime.RTC_Min = incParam(LocalTime.RTC_Min, 0, 59);
                }
                else if(common_index == 5)
                {
                  LocalTime.RTC_Sec = incParam(LocalTime.RTC_Sec, 0, 59);
                }
                
                RTC_Display_Time(&LocalTime);
                
                //задержка отображения
                setServiceTimeoutStatus(MENU_KEY_SHIFT_TIMEOUT, 35);
                  
                return;
              }
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 15 2011, 14:13
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(kolobok0 @ Jan 14 2011, 15:27) *
...причём левые разряды сбрасывают правые. правые ограничиваются левыми. выставляют обычно с лева на право.

Левые - это десятки ? Правые - единицы ?

Цитата
mempfis_ Только вчера закончил подменю настройки даты/времени в одном устройстве. 4 кнопки +, -, ENTER, BACK.
Спасибо! И поздравляю!
В общих чертах я понял подход.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 15 2011, 14:22
Сообщение #11


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(mempfis_ @ Jan 14 2011, 20:09) *
по нажатию на BACK время сохраняется если было фактическое изменение.

А как отменить ввод? Никак? Это неправильно, должна быть отмена. Имхо, конечно.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jan 15 2011, 15:26
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(AHTOXA @ Jan 15 2011, 20:22) *
А как отменить ввод? Никак? Это неправильно, должна быть отмена. Имхо, конечно.


Была мысль сделать по нажатию BACK запрос сохранять или нет, но отказался от этого - меню и так довольно разветвлённоеsm.gif
У нас не винда чтобы требовать подтверждение на каждое действие sm.gif
Если заказчик захочет подтверждение - введу, а пока что пусть будет так как есть.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 15 2011, 17:00
Сообщение #13


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(mempfis_ @ Jan 15 2011, 23:26) *
У нас не винда чтобы требовать подтверждение на каждое действие sm.gif

При чём тут винда? У пользователя должен быть путь отступления!
У меня так - кнопка ENTER передвигает на следующую позицию, а на последней позиции сохраняет изменения. А кнопка BACK - возвращает на предыдущую позицию, а на первой позиции - отменяет весь ввод.
Железобетонно, никаких подтверждений, и у пользователя есть куда убежать, если он заблудился sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 15 2011, 19:09
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Обработка событий клавиатуры в меню:
Код
        case evUp:
            if (rtc_adjustment)
            {    if (!(rtc_adjustment&1))
                    Change(    1);
                else
                    Change( 10);
            }
        break;

        case evDn:
            if (rtc_adjustment)
            {    if (!(rtc_adjustment&1))
                    Change(-1);
            else
                    Change(-10);
            }
        break;


Собственно изменение:
Код
const char max[13]    = {0,31,31,11,11,134,134,23,23,59,59,59,59};
const char min[13]    = {0,1 , 1, 0, 0, 109,109, 0, 0, 0, 0, 0, 0};

void Change(sint dif )
{    int    my_max=max[rtc_adjustment];
    int    my_min=min[rtc_adjustment];
     *rtc_ptr+=dif;
    if (dif>0)
        {    if (*rtc_ptr>my_max) *rtc_ptr=my_max;}
    else
        {    if (*rtc_ptr<my_min) *rtc_ptr=my_min; }
}



--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 16 2011, 07:40
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата
Dog Pawlowa Собственно изменение:


Код
const char max[13]    = {0,31,31,11,11,134,134,23,23,59,59,59,59};
const char min[13]    = {0,1 , 1, 0, 0, 109,109, 0, 0, 0, 0, 0, 0}


Зачем две таблицы? Это же высчитывание двух разных адресов для Z . Данные по мин и мах кратны 2 - их можно расположить друг за другом

Цитата
AHTOXA При чём тут винда? У пользователя должен быть путь отступления!
...а на первой позиции - отменяет весь ввод

Но и мозги тоже . См. что вводишь , не то вернись на эту позицию . А отменять весь предыдущий ввод , зачем ? Ну ошибся я в дне недели - вернусь поправлю.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 16 2011, 09:48
Сообщение #16


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(ILYAUL @ Jan 16 2011, 15:40) *
Но и мозги тоже .

Мозги пользователь иметь не обязан. Это прерогатива программиста.
Цитата(ILYAUL @ Jan 16 2011, 15:40) *
А отменять весь предыдущий ввод , зачем ? Ну ошибся я в дне недели - вернусь поправлю.

А если человек случайно зашёл в это меню? Что ему делать? Вводить 14 цифр просто потому, что программист не предусмотрел отмены?
Ну и вообще, это хороший тон в программировании пользовательских интерфейсов - дать пользователю возможность выбора -- принять сделанные изменения или отказаться.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 16 2011, 10:48
Сообщение #17


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Dog Pawlowa @ Jan 16 2011, 01:09) *
Код
const char max[13]    = {0,31,31,11,11,134,134,23,23,59,59,59,59};
const char min[13]    = {0,1 , 1, 0, 0, 109,109, 0, 0, 0, 0, 0, 0};

Мысль Ваша ясна, за исключением года.
Смею предположить, что отсчёт Вы ведёте от 1900 года, тогда Вы рассчитываете что после 2034=(1900+134) года прибор будет уже никому не нужен. Мне тогда стукнет лишь 54 года - даже не пенсионный возрастsm.gif С чего такой пессимизм? :-)


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 16 2011, 11:15
Сообщение #18


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(ILYAUL @ Jan 16 2011, 13:40) *
Но и мозги тоже . См. что вводишь , не то вернись на эту позицию . А отменять весь предыдущий ввод , зачем ? Ну ошибся я в дне недели - вернусь поправлю.

Человек дело говорит, прислушайтесь. Отмена всего ввода - удобная и правильная вещь.
Go to the top of the page
 
+Quote Post
forever_student
сообщение Jan 16 2011, 12:26
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(rx3apf @ Jan 16 2011, 17:15) *
...Отмена всего ввода - удобная и правильная вещь.

Удобно или нет - это еще и от всего интерфейса зависит. Если в других настройках её нет,
то в часах отмена ввода будет выглядеть несколько странно. (imho)

Цитата(AHTOXA @ Jan 16 2011, 15:48) *
...А если человек случайно зашёл в это меню? Что ему делать? Вводить 14 цифр просто потому, что программист не предусмотрел отмены?...

Нажать кнопку "Выход" rolleyes.gif

Цитата(AHTOXA @ Jan 15 2011, 23:00) *
...У меня так - кнопка ENTER передвигает на следующую позицию, а на последней позиции сохраняет изменения. А кнопка BACK - возвращает на предыдущую позицию, а на первой позиции - отменяет весь ввод.
..

А если человеку нужно только минуты подправить? Для сохранения изменений потом сколько раз еще "ENTER" нажимать?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 16 2011, 13:30
Сообщение #20


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(forever_student @ Jan 16 2011, 20:26) *
А если человеку нужно только минуты подправить? Для сохранения изменений потом сколько раз еще "ENTER" нажимать?

Это ему по-любому придётся сделать.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 16 2011, 14:23
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(demiurg_spb @ Jan 16 2011, 16:48) *
...С чего такой пессимизм? :-)

sm.gif Дык мне уже почти столько, сколько Вам будет в 2034! crying.gif
Стандартный time - в 2034 все равно кирдык.
Я и у заказчика спрашивал - оставить или переделать, он тоже сказал, что не доживет.

Цитата(ILYAUL @ Jan 16 2011, 13:40) *
Зачем две таблицы? Это же высчитывание двух разных адресов для Z . Данные по мин и мах кратны 2 - их можно расположить друг за другом

Тю ...
если заниматься преждевременной оптимизацией, ничего в своей жизни не создашь, кроме превосходно работающего кода в 20 строк.
Оптимизацией должен заниматься компилятор, у него это получается быстрее и лучше.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
forever_student
сообщение Jan 16 2011, 19:57
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(AHTOXA @ Jan 16 2011, 16:30) *
Это ему по-любому придётся сделать.

А кнопка "Выход"?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 16 2011, 21:04
Сообщение #23


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(forever_student @ Jan 17 2011, 00:57) *
А кнопка "Выход"?

Я думал, вы пошутили. А вы, оказывается, просто не прочитали тему. Специально для вас процитирую исходные данные:
Цитата(mempfis_ @ Jan 14 2011, 17:09) *
4 кнопки +, -, ENTER, BACK.

Где здесь кнопка "Выход"?

---
Я кажется понял, вы про кнопку "BACK"? Да, она поможет выйти после редактирования, но добраться до редактируемого параметра (в данном случае - минут) она не поможет. А если это не минуты, а год? Ценность кнопки "BACK" в этом случае ниже? А на последнем параметре?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jan 17 2011, 08:24
Сообщение #24


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(ILYAUL @ Jan 15 2011, 17:13) *
Левые - это десятки ? Правые - единицы ?..


да
Go to the top of the page
 
+Quote Post
forever_student
сообщение Jan 17 2011, 10:36
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(AHTOXA @ Jan 17 2011, 00:04) *
...А вы, оказывается, просто не прочитали тему...

Тему прочитал. Да, конечно, я имел в виду кнопку "ВАСК". (I'm sorry, что непонятно сказал)

Цитата(AHTOXA @ Jan 17 2011, 00:04) *
Да, она поможет выйти после редактирования, но добраться до редактируемого параметра (в данном случае - минут) она не поможет.

Вариантов интерфейса ОЧЕНЬ много. Например, можно сделать кнопку "ВАСК" только на выход из меню (или на переход на один уровень вверх). "ENTER" гоняет по кругу параметры. И, по моему, для пользователя будет проще запомнить: одна кнопка - одна функция, чем помнить, что в каком-то положении кнопка еще сохраняет ввод, а в каком-то отменяет его ( последнее предложение - imho)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 23 2011, 11:54
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Вообщем получилось так. ВСЕМ СПАСИБО за ИДЕИ!!!


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
forever_student
сообщение Jan 24 2011, 19:54
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(ILYAUL @ Jan 23 2011, 14:54) *
Вообщем получилось так...

День недели вычисляется из даты?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jan 24 2011, 22:00
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(forever_student @ Jan 24 2011, 22:54) *
День недели вычисляется из даты?

Зачем - его передает DS1337 от 1-7 , а уж написать вместо цифры название дня недели - дело техники


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Jan 25 2011, 23:56
Сообщение #29


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



Вспомнил про две возможности я:

- нажимать одновремеменно две кнопки (и более);
- на дисплее показывать функционал кнопок в данный момент (за которое расплачиваться лишними знакоместами).

К названию темы с трудом подходит, но к содержанию.
Go to the top of the page
 
+Quote Post
forever_student
сообщение Jan 26 2011, 08:06
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(ILYAUL @ Jan 25 2011, 01:00) *
Зачем - его передает DS1337 от 1-7...

Просто подумал, если еще день недели выставлять кнопками, тогда все cranky.gif

Сообщение отредактировал forever_student - Jan 26 2011, 08:06
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.0173 секунд с 7
ELECTRONIX ©2004-2016