это несколко иное... и печално что распрстанилось тут.... пример того ка заффлудить ЛЮБУЮ ТЕМУ
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Добрый день уважаемые форумчане, прошу помощи. Работаю инженером в бюджетном учреждении здравоохранения. Постигла беда- перестал работать дисплей Bolymin BL12864GEPNHn на хирургическом лазерном аппарате, изучив информацию в интернете решил попробовать заменить его на WEO01864JLPP3N00000 по доступной цене. С учетом того что у них разные контроллеры получил естественно зеркальное изображение. Прикупил плату Arduino NANO, скачал ПО и библиотеку u8g2, подключил 20 pin разъем интерфейса 8080 к Arduino и дальше темный лес...В Arduino IDE пытался загрузить встроенный пример -Hello World, кроме ошибок ничего не получил. Никогда с этим не сталкивался, в плане программирования.
Постигла беда- перестал работать дисплей Bolymin BL12864GEPNHn на хирургическом лазерном аппарате, изучив информацию в интернете решил попробовать заменить его на WEO01864JLPP3N00000 по доступной цене. С учетом того что у них разные контроллеры получил естественно зеркальное изображение.
А в чём помощи то просите, собственно? Если нужно перевернуть изображение, то можно попробовать включиться между управляющим контроллером и SSD1309 и перехватить и подкорректировать команду, задающую направление отображения пикселей. Если управляющий контроллер выполняет инит SSD1309 только в начале работы (а не периодически), то можно даже включаться не в разрыв, а параллельно. И в любой момент когда нет трансфера от основного контроллера - послать свои инициализирующие команды. Можно ли сделать такое на абдурине? Первое - вряд-ли; второе - вероятно возможно и несложно. Но если штатный управляющий контроллер вашего аппарата периодически отправляет команды инициализации (например - перед каждым кадром), то результата не добьётесь. Т.е. - сначала следовало бы при помощи лог.анализатора встать на ноги SPI и помониторить - как именно там передаются данные? И только затем решать - что и как делать.
PS: Ведь давно известно: "Семь раз измерь, один - отрежь". Вы, в своём "бюджетном учреждении здравоохранения", надеюсь тоже ему следуете, а не режете сразу пациента? И в электронике тоже так следует поступать.
jcxz, Так как это не мой профиль, для меня это темный лес... Кроме мультиметра и паяльника в хозяйстве ничего нет. Я предположил что с помощью arduino можно заставить (запрограммировать) контроллер дисплея обрабатывать передаваемую ему информация в правильном (читабельном виде). Дисплей распаян на плате с 20 пиновым разъемом (гребенка) по мануалу интерфейс по умолчанию 8080. В данном случае хирурги режут лазером с погашенным дисплеем, по наитию))
Я предположил что с помощью arduino можно заставить (запрограммировать) контроллер дисплея обрабатывать передаваемую ему информация в правильном (читабельном виде).
Запрограммировать можно чем угодно. Только настройка эта программируется в регистры ОЗУ. И действует до следующего такого программирования. А контроллер вашего устройства наверняка посылает такую команду программирования или в начале работы или периодически (может даже перед каждым новым обновлением экрана). Поэтому: заранее туда что-то "программировать" - бесполезно.
И поэтому, чтобы его перебороть, вам нужно как-то блокировать его "программирования". Или подменять их.
В данном случае хирурги режут лазером с погашенным дисплеем, по наитию))
Ну вот - с точки зрения хирурга, как удалить из крови пациента какие-то ненужные вещества? Наверное - сделать в пациенте две дырки: через одну выкачивать кровь из пациента; пропускать её далее через фильтр; а через другую - закачивать обратно. Вот здесь вам нужно сделать что-то подобное. Удалить вредное вещество (команды программирования ориентации) и заменить его нужным (своими командами ориентации). Не пролив по ходу дела кровь (передаваемое изображение).
Хотя - если рабочая прошивка вашего девайса отправляет команду ориентации только однократно - после старта, то всё будет гораздо проще.
если рабочая прошивка вашего девайса отправляет команду ориентации только однократно - после старта, то всё будет гораздо проще.
Да, возможно повезёт. Это только если в ТЗ разработчикам того аппарата стояло требование "Возможность горячей замены индикатора без выключения питания", то они обязаны отправлять команду ориентации периодически. Если такого пункта не было, то скорей всего она отправляется единожды - при старте. Хотя гарантий конечно нет. Только лог.анализатор внесёт ясность.
PS: Вообще-то есть ещё одна возможность: Возможно разработчики прошивки вообще никакую команду ориентации не отправляют. И оно работает с дефолтными значениями регистров. Но это если прошивку писали эээ.... не очень профессиональные люди. Тогда кстати приделать костыль будет проще всего - успеть записать нужную настройку сразу после включения, и до начала работы с экраном штатной прошивки. Можно даже просто - принудительно удерживая RESET на штатном контроллере. Но это всё нужно исследовать.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения