Android-приложение
для управления
USB-программатором
 
 
 
 
Главная  |  Скачать  |  Контакты и заказ
     
 
   
 

Вопрос №1:
После закрытия приложения его значок продолжает висеть в шторке уведомлений, а сообщение «ожидает подключения программатора» не пропадает. Реально закрывается только через [Приложения -> Остановить]. Это баг? Или так и задумывалось?

Ответ:

Это не причуда разработчика, не баг, а необходимость.
Строго говоря, ОС Андроид не закрывает приложения по запросу пользователя на завершение, подобно тому, как это делается при выходе из программ, например, в ОС Windows. После «выхода» из приложения образ его процесса остается в оперативной памяти до тех пор, пока ОС Андроид не решит, что пришло время чистить память от неактивных задач.
Андроид работает таким образом по ряду серьёзных причин, одна из которых — требование высокой «отзывчивости» приложений в условиях ограниченных ресурсов мобильного устройства. Проще говоря, «завершенные» пользователем приложения должны всегда оставаться готовыми моментально запуститься вновь по первому клику пользователя.
Для «WizardProg Mobile» быстрый отклик необходим ещё и в момент подключения программатора! Поэтому в составе «WizardProg Mobile» предусмотрен постоянно активный компонент, который и обеспечивает оперативную реакцию на подключение внешней аппаратуры! Такой компонет приложений Андроид называется Служба. Подобные службы входят в состав многих известных и популярных приложений для Андроид и выполняют разнообразные задачи, при этом обычно не сообщают пользователю о себе явным образом. Приложение «WizardProg Mobile» наоборот, явно информирует пользователя значком и сообщением на панели уведомлений о том, что служба, реагирующая на подключение программатора активна.
Другими словами, если бы такой службы не было, или она бы работала «молча», то при подключении программатора к мобильному устройству задержка активизации связи с аппаратурой стала бы неприемлема. Каждый раз ОС Андроид приходилось бы готовить приложение к запуску «с нуля», что занимает немало времени и портит картину «отзывчивости». Разумеется, такое поведение приложения привело бы к негативным ощущениям у пользователя, что в рамках парадигмы разработки для мобильных устройств — недопустимо.


Вопрос №2:
Я постоянно работаю с одной и той же ИМС. Как избежать её повторного поиска и выбора из списка микросхем при очередных запусках программы?

Ответ:

Список истории последних 6 различных выбранных ИМС доступен в панели «Закладки», которая выдвигается жестом из-за левого края экранов Главного списка и Консоли ИМС. Самая последняя из выбиравшихся ранее ИМС будет в первой позиции списка «Недавние устройства». Нужную ИМС можно также добавить в список «Избранное», при помощи:

  • контекстного меню (долгое нажатие и «Добавить в Избранное») в требуемой позиции списка чипов;
  • кнопки «Звездочка» на панели действий Консоли ИМС, когда чип уже выбран из списка.

Список «Избранное» может содержать до 4 различных выбранных ИМС. Повторный выбор одной и той же ИМС не создаёт дублирующих позиций в списках закладок и истории.


Вопрос №3:
Я экспериментирую с настройками микроконтроллера и хочу записывать на чип только очередное изменение его фузов. Однако, операция записи каждый раз предлагает прошивать сразу все области памяти контроллера, и мне всё время приходится отключать ненужные области. Можно ли один раз отметить только нужные мне области (в частности, только Конфиг.фузы) и запомнить эту настройку для очередных операций записи?

Ответ:

Да, можно. В «Настройках» приложения в разделе «Обработка ИМС» есть опция «Сохранять Опции Записи». Если она включена, то выбор областей программирования будет сохраняться после любой выполненной операции записи, и вплоть до завершения сеанса работы с выбранной ИМС. И наоборт, если опция выключена, то каждая операция записи будет начинаться с типовых установок по умолчанию для областей программирования данной ИМС.


Вопрос №4:
Как вернуть настройки по умолчанию напряжений и задержки программирования для 27/87 серий EPROM, если я их менял и не запомнил начальные?

Ответ:

Выберите эту же ИМС заново из левой панели «Закладок» (см. Вопрос №2). И не забудьте перед этим сохранить данные из буфера в файл, если это важно, поскольку повторный выбор даже той же самой ИМС очистит все буферы памяти!

Примечание: Настройками по умолчанию являются подчеркнутые значения в списках выбора параметров программирования для данной серии ИМС.


Вопрос №5:
Я прочитал с ИМС важные данные, но не сохранил их сразу. Прочитать их снова у меня нет возможности (чип с этими данными теперь недоступен). Эти данные потеряны безвозвратно? Или что-то можно предпринять?

Ответ:

Если после последнего чтения важных и уникальных данных Вы больше ни разу ничего не читали с других ИМС, то восстановить данные последнего чтения можно! Результаты последней операции чтения с ИМС кэшируются во внутренней памяти программы. Извлечь последнее прочитанное в нужный буфер можно, находясь в Редакторе буферов и используя его левую панель «Закладки» (см. Вопрос №2; Редактор буферов хранит в этой панели историю работы с данными). Раздел «Последние чтения с ИМС» будет содержать последние двоичные образы данных для трех (или менее) типов областей памяти из всех ранее прочитанных ИМС. Для образов указаны размер данных, номинал исходной ИМС, а также тип прочитанной области: BASE/CODE - основная память программ, DATA/OTP - вторичная область данных или защиты, EXTRA - прочие доп.области памяти некоторых типов ИМС.


Вопрос №6:
Я поменял языковые настройки у своего мобильного устройства. Вернувшись в программу WizardProg увидел, что некоторые фразы остались без перевода на выбранный язык. Это ошибка или так задумано?

Ответ:

Нет, так не задумано! Дело в том, что некоторые строки локализуются в момент первичного старта приложения «WizardProg Mobile». Чтобы увидеть полный перевод после смены языка следует перезапустить приложение «с нуля». Для этого нужно вызвать Настройки мобильного устройства, в разделе Приложения выбрать в списке WizardProg и нажать кнопку «Остановить». После этого вернитесь в Домашний экран и запустите приложение снова (с иконки). Не забывайте сохранить важные данные перед сменой языка или перед остановом для нового запуска! Перезапуск приложения очистит все буферы с данными. Если всё же что-то важное было прочитано с ИМС до момента перезапуска, и не было сохранено вовремя, то см. Вопрос №5.

Примечание: Названия областей памяти для обслуживаемых ИМС не локализованы преднамеренно! Это сделано для единства используемой терминологии. В программе используется отраслевое название области памяти на английском языке, по мере возможности согласованное с оригинальным паспортом/datasheet устройства.


Вопрос №7:
Программа «зависла» после выбора очередного устройства. Консоль ИМС выводит красный текст «Вычисляется...» в поле контрольной суммы банка памяти и больше ничего не происходит. Что случилось?

Ответ:

Операционная система не смогла выделить достаточно оперативной памяти мобильного устройства для организации рабочего буфера. Увы, такое может случиться, если в течение одного сеанса работы с «WizardProg Mobile» интенсивно обрабатывать EEPROM максимальной поддерживаемой емкости (128Мбит). В подобной ситуации можно попробовать переключиться в кэш задач Android и удалить из него не актуальные в данный момент приложения, либо каким-то другим доступным способом освободить дополнительную память в системе. Если это не помогает, то завершите приложение любым из возможных способов (при «глубоком зависании» воспользуйтесь рекомендацией по останову приложения из Вопроса №6) и перезапустите «WizardProg Mobile» снова.


Вопрос №8:
Как обновить прошивку моего программатора?

Ответ:

В настоящее время приложение «WizardProg Mobile» не поддерживает обновление микропрограммы программатора собственными средствами. Обновлять прошивку программатора нужно при помощи программы для платформы PC (Windows) и только на базе этой платформы. Последнюю версию программы для PC на русском языке можно, например, скачать здесь. Если Вы не впервые используете программатор TL866CS/A (или полностью совместимый с ним WizardProg 87/87i), то способы приобретения и применения его программной оболочки для платформы PC должны быть Вам уже хорошо знакомы.


Вопрос №9:
Мой программатор при подключении требует обновленной версии WizardProg и запускает приложение в «ДЕМО-режиме». Что делать?

Ответ:

Программатор, с которым работает приложение «WizardProg Mobile», постоянно совершенствуется. Мы очень стараемся успевать за темпом обновления аппаратуры и микропрограммы программатора, но, по объективным причинам, не всегда получается оперативно и синхронно вносить нужные изменения в нашу программу. Если ваша копия программы вдруг «устарела», то, очевидно, придётся подождать обновленной версии приложения «WizardProg Mobile». В официальных источниках распространения приложения всегда указан номер версии прошивки программатора, для которой предназначена распространяемая в этот момент сборка приложения «WizardProg Mobile». Отнеситесь к такой информации внимательно и заранее оценивайте последствия приобретения несовместимой версии. Если вы получили приложение «WizardProg Mobile» из анонимных или сомнительных источников, которые не публиковали информацию о совместимости версий оборудования, то в следующий раз имеет смысл обратиться к иным распространителям приложения, которые предоставляют как исчерпывающую информацию о совместимости, так и регулярные обновления приложения «WizardProg Mobile».

Примечание: Если Вы используете программатор как на мобильной платформе, так и на платформе PC (Windows), то очередная версия программы для PC может потребовать от Вас обновления прошивки программатора (см. Вопрос №8). В этом случае рекомендуем не спешить с этим обновлением без крайней необходимости. Вместо этого предлагаем Вам сначала уточнить в ожидаемые сроки выхода новой версии мобильного приложения, которое будет поддерживать последнюю распространяемую прошивку программатора.


Вопрос №10:
Во время программирования ИМС я случайно удалил образ WizardProg из списка фоновых задач. Как мне поступить дальше, если я вижу, что программатор продолжает работу (желтый LED не погас)?

Ответ:

Ситуация неприятная, и её, естественно, следует избегать. Но не всё потеряно! В большинстве случаев, если Вы работаете с исправной ИМС, то случайно прерванная Вами операция завершится успешно и в фоновом режиме, даже не смотря на то, что по её окончании Вы получите аварийное сообщение от системы. В успешности операции Вы сможете убедиться, когда заново запустите приложение и прочитаете с этой ИМС результат, например, предыдущей записи или очистки. Однако, не следует запускать новый экземпляр приложения до тех пор, пока фоновая операция с программатором не завершится (жёлтый LED на программаторе не погаснет): это может привести к непредсказуемым результатам! Если же исправность ИМС, с которой Вы работали в этот момент, вызывает сомнения, то ожидать успешного результата фоновой операции, разумеется, нельзя. В любом случае, запустив приложение заново после подобной неприятности, имеет смысл провести операцию сверки записанных на ИМС данных с загруженным в Редактор буфера образом целевой прошивки (если, конечно, такой образ был предварительно Вами сохранён).

Примечание: Содержимое рабочих буферов приложения в описываемой ситуации, конечно, пропадёт. Поэтому, если Вы прервали таким образом операцию чтения, то прочитать ИМС придётся заново после перезапуска приложения. Можно также воспользоваться рекомендацией из Вопроса №5.


Вопрос №11:
При подключении к мобильному устройству программатор начинает часто мигать желтым LED, а потом программа сообщает об ошибке подключения. Что делать?

Ответ:

Руководство к действиям для данного случая имеется в разделе Устранение проблем. Причина возникновения связана с несвоевременным откликом от низкоуровневого драйвера аппаратуры USB мобильного устройства с ОС Android. На мобильных устройствах с невысокой вычислительной мощностью такую ситуацию можно встретить чаще, поскольку они хуже справляются с пиковыми повышениями нагрузки многопоточности, возникающими при обработке асинхронных внешних событий. Однако, даже продвинутые устройства Android не застрахованы от такой проблемы.


Вопрос №12:
Почему ваша программа не работает в ландшафтной (альбомной) ориентации экрана?

Ответ:

Учитывая специфику сферы применения данного приложения и его весьма высокую связность с внешней аппаратурой во время рабочего цикла - надёжность эксплуатации такой программы, очевидно, имеет более высокий приоритет, чем удобство пользователя. Как известно, ОС Android перезапускает компоненты приложения при смене ориентации экрана мобильного устройства, что является потенциальным источником проблем, как в плане перерасхода ценных вычислительных ресурсов у маломощных устройств, так и в плане повышения затрат на обеспечение устойчивости работы некоторых синхронизированных процессов реального времени. В итоге мы решили пожертвовать относительным удобством пользователя (исключив возможность менять ориентацию экрана приложения), в пользу повышения надёжности и устойчивости работы приложения.


Вопрос №13:
Вы утверждаете, что ваша программа не работает на ландшафтных экранах, но у меня на планшете она запускается именно в ландшафтной ориентации! Работать можно, но крайне неудобно, и к тому же экран никогда не разворачивается при повороте планшета в портрет. Как справиться с проблемой?

Ответ:

В большинстве случаев на сертифицированных версиях Android этого происходить не должно. Однако, известны случаи, когда пользователи устанавливают на свои мобильные устройства сторонние менеджеры ориентации экрана, обычно, для подавления неадекватного поведения системной настройки Авто-поворота (случается в старых версиях Android а также у некоторых изготовителей устройств). Скорее всего Ваша проблема с ориентацией экрана связана именно с использованием на Вашем устройстве программы для особых настроек режимов ориентации. Советуем Вам или отключать использование такой программы на время работы с «WizardProg Mobile», или попытаться настроить её так, чтобы она позволяла приложению «WizardProg Mobile» выбирать для себя естественную, портретную ориентацию рабочего экрана.


Вопрос №14:
Иногда программу можно запустить только «со второго раза». Не успевает появиться заставка, как приложение прекращает работу. А потом запуск повторяешь - и уже всё нормально стартует. Как это понимать?

Ответ:

Программа демонстрирует такое поведение сразу после экстренного прерывания предыдущего сеанса работы, вследствие сбоя по какой-то непредусмотренной причине. В ходе очередного запуска после такого сбоя, (наблюдается как «первый старт вхолостую»), приложение выполняет восстановление среды для нормального функционирования после предшествующего сбоя. Последствия такого нетипичного поведения приложения Вы можете найти в рабочей папке «WizardProg Mobile», в файле crash.log. Этот файл можно отослать в техподдержку WizardProg для детального анализа сбоя, возникшего в работе приложения.


Вопрос №15:
Файл журнала операций, открытый программой просмотра текста, содержит неалфавитные символы! Этот журнал вообще можно использовать за пределами вашего приложения?

Ответ:

Файл журнала операций «WizardProg Mobile» записывается в кодировке UTF-8 в целях интернационализации. В качестве внешних инструментов работы с файлами журналов используйте редакторы или просмотрщики, умеющие понимать тексты в кодировке UTF-8.


Вопрос №16:
В чем отличия между предлагаемыми режимами ведения журнала операций?

Ответ:

Сеансовый режим
Файл журнала операций «WizardProg Mobile» создаётся заново при старте нового сеанса работы (начинается с демонстрации заставки при запуске «WizardProg Mobile»). Соответственно, журнал хранит данные только об одном сеансе работы, которые можно просмотреть в файле log.txt даже после завершения этого сеанса (однако, лишь до момента старта нового сеанса!) Данные журнала прежнего сеанса в этом режиме теряются безвозвратно. Прекращение сеанса работы (и завершение обновления текущего журнала), как правило, связано со следующими событиями:

  • штатное завершение работы приложения через меню «Выход»;
  • нештатное завершение работы приложения в результате сбоя функционирования;
  • прекращение работы приложения через список приложений в Настройках мобильного устройства (принудительная остановка или деинсталляция для позиции WizardProg в списке);
  • исключение приложения из списка приостановленных задач;
  • выключение мобильного устройства (завершение работы при разрядке батареи или намеренное).

Запуск «WizardProg Mobile» после перечисленных событий обязательно приведёт к созданию нового файла журнала. Поэтому, будьте внимательны в подобных обстоятельствах, и архивируйте (если требуется) журнал последнего завершенного сеанса перед очередным стартом приложения!

Циркулярный режим
Журналирование операций выполняется с использованием двух файлов. В отличие от сеансового режима - данный режим никак не привязан к отдельным сеансам работы и протоколирует каждый очередной сеанс нарастающим итогом в едином журнале. При включении данного режима основной файл журнала (log.txt) накапливает информацию до достижения размера, указываемого в настройках циркулярного режима (по умолчанию - 64Кб). После того, как установленный размер достигнут, текущий файл журнала закрывается и сохраняется под именем log.001. Затем создаётся новый log.txt, в котором продолжается прерванное журналирование. Данная схема работы будет повторяться и далее (до выключения циркулярного режима) с периодической заменой данных в файле log.001. При очередной замене содержимого log.001 его прежние данные будут утеряны. Однако, если необходимо накапливать данные журналирования, то этого можно добиться путем регулярного сохранения ряда копий файла log.001 в отдельном месте под удобными именами. Архивную копию файла под новым именем следует делать каждый раз при регистрации замены файлов журнала, о чем сообщается всплывающим напоминанием в ходе работы с приложением. Таким образом, при работе циркулярного режима возможно хранить актуальный журнал операций на глубину до 2-х файлов установленного в настройках размера. Данный режим также поможет организовать архивное хранение непрерывного протокола работы за неограниченный промежуток времени не перегружая файловую систему мобильного устройства значительными объёмами журналов.

 
 
 
Главная  |  Скачать  |  Контакты и заказ
© 2007-2017  www.wizardprog.com