Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Имеется некое стороннее приложение, которое взаимодействует со внешним устройством через DLL файл. Этот DLL файл имеет 14 экспортируемых функций. При помощи сторонней программы был записан лог файл взаимодействия между приложением и этой DLL c расшифровкой всех передаваемых и возвращаемых параметров. Задача состоит в том, чтобы повторить работу стороннего приложения, путем вызова функций DLL через Python.

Задачу нужно разбить на несколько этапов:

  • Преобразование лог файла в файл формата JSON
  • Проигрывание полученного JSON файла для имитации работы стороннего приложения
Преобразование лог файла в файл формата JSON

Некоторые данные, которые передаются или принимаются из DLL находятся в виде указателей на структуры данных (описаны в файле j2534.h), в лог файле они расшифрованы. В JSON файле должны быть отображены все передаваемые и возвращаемые данные/структуры, включая относительное время вызова функции DLL.

Проигрывание полученного JSON файла

На основе полученного в предыдущем этапе JSON файла программа должна уметь его воспроизвести, путем вызова DLL функций (имя DLL задается пользователем). При этом, должны быть соблюдены временные интервалы между вызовом DLL функций.

Некоторые DLL функции возвращают следующие указатели: pDeviceID, pChannelID. В последствии эти значения передаются в качестве входных параметров DLL функции. Однако, проблема в том, что возвращаемые pDeviceID, pChannelID в разные моменты времени могут быть разными, и чтобы все корректно работало, при проигрывании лога необходимо сохранять полученные значения указателей pDeviceID, pChannelID, и использовать именно их при вызове функций DLL, в которые они передаются, игнорируя данные из JSON файла

Также учесть возможность контроля (задается пользователем при необходимости) выходных значений DLL функции, путем сравнения с данными о выходных значениях из JSON файла. Если данные не совпадают, выводить в лог файл подробную информацию о месте возникновения проблемы в отдельный файл. Предусмотреть параметр в JSON файле, по которому можно принудительно отключить данный контроль для каждого конкретного вызова DLL функции.

Файл j2534.h можно скачать отсюда: https://github.com/fenugrec/oj2534-fw/blob/master/src/j2534.h

Один из примеров лог файла я прикрепил. Выбранному исполнителю будет предоставлено большое количество подобных файлов для теста.

Оплата WebMoney по договоренности.

7 лет назад
wertex76
47 летУкраина
16 лет в сервисе
Был
4 года назад
  • Похожие заказы
  • вставил флешку USB-2.0 пошло автоматическое копирование на ПК в указанную папку ПК ( на любом ПК без доп прог установленных на ПК) должно работать на ХР и 7-ке Прошу не путать с автозапуском файла размер переносимого файла ...

    Закрыт
    6 лет назад
  • Программа синонимайзер для перефразировки текста. Нужна программа для большого количества текста.  Нужно что бы программа имела API.  Будет поступать готовый текст и потом перефразированый будет загружен на мой сайт.

    Закрыт
    7 лет назад
  • Есть недоделанная программа по ведению истории болезни и базы данных пациентов, исходного кода нет. Необходимо довести до ума или заново сделать. Подробности исполнителю.   Одновременный доступ для 2 врачей.   Номера палаты -в ней текущие пациенты   Архив пациентов   Сортировка по нозологии   Список ...

    Закрыт
    7 лет назад
  • Нужен аналогичный вэб чат https://ezochat.com/ как в прямом эфире https://ezochat.com/profile/maria-noth https://ezochat.com/profile/christina-mirskaya

    Закрыт
    7 лет назад
  • Хочется понять возможности Mashine Learning по прогнозированию продаж ресторана. Необходимо сделать пилотную модель и посмотреть какие будут результаты.  Оставить комментарий для всех

    Закрыт
    7 лет назад
  • В заведении общественного питания, нужно реализовать процесс: При установке тарелки с едой на весы, ПО должно предложить выбрать тип тарелки, после выбора тарелки, система должна рассчитать вес еды (отнимая от взвешиваемой тарелки с едой заданный вес ...

    Прикладное ПОнет заявок
    Закрыт
    7 лет назад
  • $3

    Здравствуйте, имеется библиотечный элемент Archicad (Ванна), написанный на языке GDL. Нужно переделать его таким образом что бы на 2D виде отсутствовали кривые (т.е что бы все линии были прямые).

    Прикладное ПОнет заявок
    Закрыт
    7 лет назад