Показания встают либо на место одного датчика либо на место другого ?
или вообще куда угодно? т.е. на любое место "экрана"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Доброго времени суток.Danko писал(а):А можно поточнее?
Показания встают либо на место одного датчика либо на место другого ?
или вообще куда угодно? т.е. на любое место "экрана"
На одном экземпляре часов, около пол года один датчик всегда с номером 1, и всегда на месте.m169 писал(а):... Показания температуры, встают куда угодно...
Доброго времени суток.Danko писал(а):Отрублю один датчик и посмотрю.
Будут изменения в коде отпишусь.
Данил.
Код: Выделить всё
// показать темп.первого датчика в указанных координатах
if (... && (devices > 0)) {
...
}
// показать темп.второго датчика в указанных координатах
if (... && (devices > 1)) {
...
}Доброго времени суток.Danko писал(а):координаты каждого информационного поля (будь то время или дата или ...) хранятся в EEPROM памяти микроконтроллера и это не зависит ни от скина ни от языка скина.
приведу кусок кодав devices хранится количество датчиков найденных при включении часовКод: Выделить всё
// показать темп.первого датчика в указанных координатах if (... && (devices > 0)) { ... } // показать темп.второго датчика в указанных координатах if (... && (devices > 1)) { ... }
часы должны работать и при одном датчике и при отсутствии датчиков вообще.
После прошивке сделайте верификацию содержимого EEPROM.
А перед прошивкой Вы наверняка делаете полное стирание памяти МК.
В скинах, по умолчанию, которые идут с программой SkinEdit датчик №1 - улица. Не обязательно, просто как рекомендация: При редактировании скинов, учесть, что датчик, который будет подключен постоянно рано или поздно (перезагрузка, пропадания питания, e.t.c.) получит номер 1! Соответственно его расположение физическое приписывать туда же. При подключении второго датчика, если вдруг они поменяются местами в меню предусмотрен пункт "Номер датчика", где их можно поменять местами. Если у Вас датчик один и ему присвоен номер 1 то сдвинуть его с места сложновато.m169 писал(а):...С вероятностью в 50% показания поменяются местами (датчик, который показывал дом, будет показывать улицу).
Вот теперь я понял, что за эксперименты Вы проводите с часами. А я считал, что у Вас всего один датчик.m169 писал(а):Доброго времени суток.
Часы работают как с одним датчиком, так и с двумя. Но подключив оба датчика и все, настроив, отключаем один датчик. Выключаем питание. Включаем питание. С вероятностью в 50% показания поменяются местами (датчик, который показывал дом, будет показывать улицу).
Доброго времени суток.Danko писал(а):Вот теперь я понял, что за эксперименты Вы проводите с часами. А я считал, что у Вас всего один датчик.m169 писал(а):Доброго времени суток.
Часы работают как с одним датчиком, так и с двумя. Но подключив оба датчика и все, настроив, отключаем один датчик. Выключаем питание. Включаем питание. С вероятностью в 50% показания поменяются местами (датчик, который показывал дом, будет показывать улицу).
Николай уже все пояснил, а я от себя могу добавить, что поиск датчиком производится при включении (перезагрузке) часов и если будет найден один датчик пункт меню "номер датчика" будет неактивен (или попросту он исчезнет). И даже если при наличии двух датчиков через пункт меню Вы их поменяли местами, то при удалении одного после перезагрузки единственный датчик который принудительно был выставлен вторым программой будет установлен первым. И если в результате это у пользователя возникают неудобства, то для этого и была придумана программа редактор скинов.
Доброго времени суток.NickNI писал(а):В скинах, по умолчанию, которые идут с программой SkinEdit датчик №1 - улица. Не обязательно, просто как рекомендация: При редактировании скинов, учесть, что датчик, который будет подключен постоянно рано или поздно (перезагрузка, пропадания питания, e.t.c.) получит номер 1! Соответственно его расположение физическое приписывать туда же. При подключении второго датчика, если вдруг они поменяются местами в меню предусмотрен пункт "Номер датчика", где их можно поменять местами. Если у Вас датчик один и ему присвоен номер 1 то сдвинуть его с места сложновато.m169 писал(а):...С вероятностью в 50% показания поменяются местами (датчик, который показывал дом, будет показывать улицу).
m169 писал(а):Уважаемый Николай, а Вы сами это проверяли? Я проверял. Результат ноль.
Доброго времени суток.NickNI писал(а):m169 писал(а):Уважаемый Николай, а Вы сами это проверяли? Я проверял. Результат ноль.Да! Последний раз вчера. Первый примерно в марте месяце за 4 месяца до публикации статьи тут.
А еще точнее, тогда, когда было принято решение
не отображать пункт меню смены датчиков если датчик один. Вы сомневаетесь?
Давайте попробуем решить проблему...
Откорректировал скин для русского языка под первый датчик - комнатный. Если есть желание проверяйте.
Для чистоты, желательно скачать файл hex для русского языка из приведенного выше ресурса,
чтобы быть уверенным что используете последнюю версию.
После прошивки проверите на соответствие моему предыдущему сообщению. Предупреждая Ваш вопрос, о дате eep файла, отвечу сразу: Я использую украинский язык в часах.
Отлично!m169 писал(а): Залил ваши файлы, всё встало на свои места...
Доброго времени суток.NickNI писал(а):Отлично!m169 писал(а): Залил ваши файлы, всё встало на свои места...Повторюсь: У Вас один датчик "прикручен" намертво к часам и Вы предполагаете использовать его, чаще всего, один.
Тогда в SkinEdit ставите возле записи "Дом" датчик #1 и не важно что там, для примера, -10. Если в процессе эксплуатации подключите второй и датчики поменяются местами, то поменяете в меню. Если один отключите, то достаточно выключить/включить и впаяный снова будет отображать квартиру. Я подкорректировал Ваш eep. Можете его использовать, все должно быть хорошо...
Код: Выделить всё
//Макрос компонента
//Макрос компонента: LCDDisplay(0)::Старт
FCD_LCDDisplay0_Start();
FCD_LCDDisplay0_Command(0x2A);
//Макрос компонента
//Макрос компонента: LCDDisplay(0)::Вывод строки("±pe!")
FCD_LCDDisplay0_PrintString("±pe!",7);