- Про смартфон — цены, обзоры и реальные отзывы покупателей
- Ps2 не работает джойстик
- Что делать, если система не реагирует на аналоговый контроллер DUALSHOCK 2.
- Что делать, если система не реагирует на аналоговый контроллер DUALSHOCK 2?
- Что делать, если функция вибрации аналогового контроллера DUALSHOCK 2 не работает?
- Порт и слот
- Работа с джойстиками
- Работа с DualShock и чувствительность нажатия кнопок
- Вибрация
- Асинхронные функции
- Ближе к концу
- Решено Sony PS2 SCPH-50008 Не работает первый порт джойстика
- Виктор М.Н.
- Виктор М.Н.
- Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки
- Справочная информация
- Неисправности
- О прошивках
- Схемы аппаратуры
- Справочники
- Marking (маркировка) — обозначение на электронных компонентах
- Package (корпус) — вид корпуса электронного компонента
- Краткие сокращения
- Частые вопросы
- Полезные ссылки
Про смартфон — цены, обзоры и реальные отзывы покупателей
На сайте Pro-Smartfon найдёте отзывы и обзоры топовых смартфонов 2017 года. Всё о плюсах и минусах мобильных телефонов. Свежие фотографии, цены и реальные отзывы покупателей о лучших смартфонах
Ps2 не работает джойстик
Что делать, если система не реагирует на аналоговый контроллер DUALSHOCK 2.
Что делать, если система не реагирует на аналоговый контроллер DUALSHOCK 2?
- Убедитесь, что контроллер подключен к системе.
- Убедитесь, что используется лицензированный аналоговый контроллер DUALSHOCK 2. На контроллере должен быть официальный логотип PlayStation. Sony Interactive Entertainment Europe (SIEE) не гарантирует правильной работы нелицензированных дополнительных устройств 1 .
- На работу дополнительных устройств, таких как контроллеры, могут влиять статическое электричество и другие факторы. Выключите систему при помощи выключателя на задней стенке и снова включите ее.
- Если есть возможность, проверьте работу контроллера 2 на другой системе PlayStation 2.
- Если контроллер работает неправильно, возможно, его придется заменить.
- Если контроллер работает нормально, возможно, система PlayStation 2 неисправна.
Что делать, если функция вибрации аналогового контроллера DUALSHOCK 2 не работает?
- Осмотрите упаковку программного продукта формата PlayStation 2, чтобы убедиться, что на ней присутствует значок функции вибрации. Если значок отсутствует, программный продукт не поддерживает функцию вибрации.
- Если на упаковке есть значок функции вибрации, проверьте, что эта функция включена в настройках игры. Если функция вибрации выключена, включите ее и сохраните настройки.
- Проверьте, включен ли аналоговый режим. Нажмите кнопку analog на контроллере, чтобы переключить его из аналогового режима в цифровой и наоборот.
1 Sony Interactive Entertainment Europe (SIEE) рекомендует использовать только оборудование, одобренное и официально лицензированное для использования с продукцией PlayStation. Такое оборудование не причинит вреда вашей системе, а его использование не аннулирует гарантию. Если вы используете оборудование, которое не выпущено и не лицензировано SIEE для использования с PlayStation 2, рекомендуем более не использовать это оборудование.
2 Оригинальный аналоговый контроллер DUALSHOCK может неправильно работать с системой PlayStation 2 при воспроизведении программных продуктов формата PlayStation 2.
Уже неоднократный случай, когда люди ходили в магазин со схожей жалобой, на что получали отказ.
Вот на примере переходника под параллельный порт PC (т. к. не нашел более подходящей схемы), этот контакт вовсе не использовался у «PS2» геймпадов.
Когда я начал писать эту статью, то понял, что глав выйдет на контроллер поболее:
Это сам джойстик, второй джойстик, вибрация и Мультитап (устройство для подключения 4 джойстиков в один порт) – он у меня есть.
Для самого джойстика существует две библиотеки, каждая из которых дает свою информацию.
Я использую 2 оригинальных джойстика Dual Shock 2, однако, у меня есть два не оригинальных джойстика (используются для подключения к компу через спец. Устройство или через мультитап для игры вчетвером), о которых я буду упоминать отдельно.
У каждого контроллера есть так называемый контроллер терминала – это собственно порт, через который вы обращаетесь к контроллеру.
Для управления контроллерами существует специальная библиотека libpad, которая обеспечивает получения данных с кнопок, изменение режима контроллера и вибрацию.
Также существует «обычная» библиотека libmtap. Обе библиотеки могут работать с multitap.
Библиотека поддерживает следующие контроллеры от PS1 и PS2:
Обычный цифровой контроллер (без аналогов): > Dual Shock 1 и Dual Shock 2: > NeGcon контроллер: > Обычный аналоговый джойстик: > Namco пистолет: > Jog контроллер и контроллер рыбалки (сюда, видимо, входит и гитара): Спец. расширенный ID.
Об остальных я буду пополнять информацию по пути.
Порт и слот
Понятия порт и слот – разные вещи в PS2.
Порт указывает на главные контроллеры – те самые для первого и второго джойстика на самой PS2.
Слот используется, в большинстве, когда у вас есть MultiTap. Мультитап нужен для подключения нескольких джойстиков в один порт (максимум — 4). Обычно, в играх это отображается как Joystick 1A, Joystick 1B и т.п.
Если у вас нет мультитапа, то, в принципе, вам и заморачиваться не стоит: порт 0, слот 0 – первый джойстик, порт 1, слот 0 – второй джойстик.
С мультитапом будет по другому: если у вас, скажем, вставлен во второй порт мультитап и к нему подключен джойстик в слот А, то вам требуется обратиться к нему с помощью порт 1, слот 0.
Достаточно подробно это видно на изображении:
На будущее скажу, что также происходит работа с картами памяти.
Работа с джойстиками
Для использования libpad нужно подключить библиотеку «libpad.a» и заголовочный файл «libpad.h».
Для запуска следует использовать во время старта приложения функцию «sceSifLoadModule()».
В makefile должен быть добавлен параметр «–lpad».
Основные процедуры для использования контроллеров:
scePadInit() – инициализация библиотеки. Параметром является 0.
scePadPortOpen() – открытие порта контроллера. Возвращает Его параметрами являются: порт, слот, буфер, который будет использоваться. Должен быть размером 64 байта. Объявляется видом:
static u_long128 pad_dma_buf[scePadDmaBufferMax] __attribute__((aligned (64)));
Где scePadDmaBufferMax – константа, которую объявлять не надо.
Возвращает функция int, по которому вы можете проверить то, что джойстик вставлен – если его нет, то параметр будет равен 0;
Далее библиотека начинает автоматически общаться с контроллером когда контроллер включен и открыт. Далее есть две функции:
scePadRead() – используется для чтения кнопок.
Функция имеет 3 параметра: порт и слот и буфер для сохранения результата.
Буфер представляет из себя unsigned char buffer[32];
Также функция возвращает результат. И если он равен нулю, то чтение зафейлилось.
Далее нам просто надо читать буфер, хоть на самом деле это не просто.
scePadGetState() – с помощью нее можно проверять находится ли контроллер в спокойном состоянии. Принимает параметрами порт и слот.
Возвращает статус контроллера. Если статус больше и равен нулю, а также меньше или равен 7, то что-то произошло.
Для закрытия контроллеров используется функция scePadPortClose(), где параметры порт и слот, и после scePadEnd() выключает библиотеку. Обычно эти две функции не используются.
Добавлю, что все эти функции также используются для чтения аналогов, только если включен режим.
Самый банальный пример будет выглядеть так:
main()
scePadPortClose(0,0);
scePadEnd();
>
* This source code was highlighted with Source Code Highlighter .
Работа с DualShock и чувствительность нажатия кнопок
Для начала требуется включить режим аналогов функцией scePadSetMainMode(). Принимает параметры порт, слот, 1 и 0. Возвращает результат в виде 0 или 1, что значит не включен или включен, соответственно.
Чтобы убедиться, что контроллер действительно DualShock, требуется вызвать функцию scePadInfoPressMode(). Принимает параметры порт и слот, возвращает результат в виде 0 или 1.
Включение самого режима происходит функцией scePadEnterPressMode(). Принимает параметры и возвращает также как и предыдущая функция.
В дальнейшем, через функцию scePadRead() в буфере мы получаем дополнительно еще один байт, в котором степень нажатия кнопок отображены значениями от 0 до 255. Где 0 равен тому, что кнопка не нажата.
Скажу, на заметку, что мой первый джойстик иногда показывает сам силу нажатия до 3.
По спецификации вполне нормальная ошибка движения аналога является плюс-минус 25.
С помощью функции scePadExitPressMode() можно выйти из режима чувствительности клавиш. Принимает он порт и слот. Может понадобиться на переключение в меню.
Если пользователь во время чувствительного режима нажмет на кнопку аналога, то он переключится на обычный цифровой режим без чувствительности. Повторное нажатие на кнопку аналога не переключит джойстик обратно в режим чувствительности.
Вибрация
Вибрация в джойстике достаточно проста и в то же время нет.
Можно подключить для нее отдельную библиотеку, а можно использовать только две функции, которые входят в libpad.
Про другую библиотеку вибрации расскажу в следующий раз, тут же расскажу о достаточно простых двух функциях, это scePadSetActAlign() и scePadSetActDirect(), которые принимают, порт, слот и 6 байт о закручивании.
В первом байте вы указываете сильный мотор или слабый мотор.
Слабый мотор принимает во втором байте значения 0 или 1, что значит остановка или кручение. Сильный мотор принимает во втором байте значение от 1 до 255 или 0, что означает силу кручения или остановка.
Функция scePadSetActDirect() возвращает true или false, говорящие о выполнении операции вибрации. Остальные байты желательно заполнять значением 0xff, если вы их не используете.
После этого джойстик пользователя получит 10 единиц тока для работы вибрации.
Для увеличения количества единиц тока до 20 просто заполните остальные значения 0x00.
Важно!
Надо знать, что каждый порт ограничен максимальным числом единиц тока, равным 60. Если попробовать дать больше 60, то порт может быть заблокирован до перезагрузки консоли (срабатывает внутренний ограничитель).
Таким образом, если у меня стоит мультитап, и на джойстики 1А, 1B и 1C я подам по 20 единиц тока, то на джойстик 1D я не могу уже это сделать, иначе могу заблокировать порт. Поэтому использовать повышенную подачу тока я вам не советую.
Также добавлю, что эти функции не могут использоваться для долгой вибрации.
Асинхронные функции
Следующие функции являются асинхронными. Они могут не вернуть вам результат в тот же момент. В этом случае вы можете получить результат их исполнения через функции scePadGetState() или scePadGetReqState().
scePadSetMainMode – переключение режимов ввода;
scePadSetActAlign – функция вибрации;
scePadEnterPressMode — вход в режим чувствительности нажатия кнопок;
scePadExitPressMode – выход из режима чувствительности нажатия кнопок.
Ближе к концу
Вообще, в принципе, приложение будет дальше работать с портом и слотом, даже если джойстик удален (выключен). Программно проверить что джойстик удален можно с помощью scePadGetState(), которая вернет scePadStateDisconnect.
Перед каждым кадром советуется проверять состояние контроллера, дабы не возникло ситуации, когда джойстик случайно выключился.
Также, в зависимости от версии контроллеров DualShock или DualShock 2, спецификация аналогов может меняться и надеяться на автокалибровку джойстика не стоит. Поэтому чаще всего приходится делать поправки на то, что аналог не остановился в точке 127х127.
На этом все. Увидимся в следующей, более подробной статье о джойстиках.
P.S.: Видя актуальность темы, я писал эту статью пол ночи и утро. Если SDK будет готов к следующей статье, то вместо джойстиков будет описание установки.
Update: Функция scePadInit() нужна только в использовании EE, о котором я и веду речь. IOP инициализирует библиотеку сам.
Источник
Решено Sony PS2 SCPH-50008 Не работает первый порт джойстика
Виктор М.Н.
Виктор М.Н.
Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки
Справочная информация
Этот блок для тех, кто впервые попал на страницы нашего сайта. В форуме рассмотрены различные вопросы возникающие при ремонте бытовой и промышленной аппаратуры. Всю предоставленную информацию можно разбить на несколько пунктов:
- Диагностика
- Определение неисправности
- Выбор метода ремонта
- Поиск запчастей
- Устранение дефекта
- Настройка
Учитывайте, что некоторые неисправности являются не причиной, а следствием другой неисправности, либо не правильной настройки. Подробную информацию Вы найдете в соответствующих разделах.
Неисправности
Все неисправности по их проявлению можно разделить на два вида — стабильные и периодические. Наиболее часто рассматриваются следующие:
- не включается
- не корректно работает какой-то узел (блок)
- периодически (иногда) что-то происходит
Если у Вас есть свой вопрос по определению дефекта, способу его устранения, либо поиску и замене запчастей, Вы должны создать свою, новую тему в соответствующем разделе.
О прошивках
Большинство современной аппаратуры представляет из себя подобие программно-аппаратного комплекса. То есть, основной процессор управляет другими устройствами по программе, которая может находиться как в самом чипе процессора, так и в отдельных микросхемах памяти.
На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.
- Прошивки ТВ (упорядоченные)
- Запросы прошивок для ТВ
- Прошивки для мониторов
- Запросы разных прошивок
- . и другие разделы
По вопросам прошивки Вы должны выбрать раздел для вашего типа аппарата, иначе ответ и сам файл Вы не получите, а тема будет удалена.
Схемы аппаратуры
Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:
- Схемы телевизоров (запросы)
- Схемы телевизоров (хранилище)
- Схемы мониторов (запросы)
- Различные схемы (запросы)
Внимательно читайте описание. Перед запросом схемы или прошивки произведите поиск по форуму, возможно она уже есть в архивах. Поиск доступен после создания аккаунта.
Справочники
На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).
Marking (маркировка) — обозначение на электронных компонентах
Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.
Package (корпус) — вид корпуса электронного компонента
При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:
- DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
- SOT-89 — пластковый корпус для поверхностного монтажа
- SOT-23 — миниатюрный пластиковый корпус для поверхностного монтажа
- TO-220 — тип корпуса для монтажа (пайки) в отверстия
- SOP (SOIC, SO) — миниатюрные корпуса для поверхностного монтажа (SMD)
- TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
- BGA (Ball Grid Array) — корпус для монтажа выводов на шарики из припоя
Краткие сокращения
При подаче информации, на форуме принято использование сокращений и аббревиатур, например:
| Сокращение | Краткое описание |
|---|---|
| LED | Light Emitting Diode — Светодиод (Светоизлучающий диод) |
| MOSFET | Metal Oxide Semiconductor Field Effect Transistor — Полевой транзистор с МОП структурой затвора |
| EEPROM | Electrically Erasable Programmable Read-Only Memory — Электрически стираемая память |
| eMMC | embedded Multimedia Memory Card — Встроенная мультимедийная карта памяти |
| LCD | Liquid Crystal Display — Жидкокристаллический дисплей (экран) |
| SCL | Serial Clock — Шина интерфейса I2C для передачи тактового сигнала |
| SDA | Serial Data — Шина интерфейса I2C для обмена данными |
| ICSP | In-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования |
| IIC, I2C | Inter-Integrated Circuit — Двухпроводный интерфейс обмена данными между микросхемами |
| PCB | Printed Circuit Board — Печатная плата |
| PWM | Pulse Width Modulation — Широтно-импульсная модуляция |
| SPI | Serial Peripheral Interface Protocol — Протокол последовательного периферийного интерфейса |
| USB | Universal Serial Bus — Универсальная последовательная шина |
| DMA | Direct Memory Access — Модуль для считывания и записи RAM без задействования процессора |
| AC | Alternating Current — Переменный ток |
| DC | Direct Current — Постоянный ток |
| FM | Frequency Modulation — Частотная модуляция (ЧМ) |
| AFC | Automatic Frequency Control — Автоматическое управление частотой |
Частые вопросы
После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.
Кто отвечает в форуме на вопросы ?
Ответ в тему Sony PS2 SCPH-50008 Не работает первый порт джойстика как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.
Как найти нужную информацию по форуму ?
Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.
По каким еще маркам можно спросить ?
По любым. Наиболее частые ответы по популярным брэндам — LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.
Какие еще файлы я смогу здесь скачать ?
При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям — схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.
Полезные ссылки
Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.
Источник