| Форум РадиоКот https://radiokot.ru/forum/ |
|
| ATtiny2313 + Sony PlayStation https://radiokot.ru/forum/viewtopic.php?f=20&t=12401 |
Страница 1 из 3 |
| Автор: | VenomXP [ Пн дек 15, 2008 23:12:38 ] |
| Заголовок сообщения: | ATtiny2313 + Sony PlayStation |
Доброго времени суток всем котам... Встретил статеюку про прикошачивания Джоя от SPS к USB... Собрал - не заработало... Загуглил... Переделал - заработало... Но это не суть... Все дело в том что у ATmega'и очень много ног лишних тогда остается да и стоит она скажем для студента не дорого но жалко денюшку на ветер бросать... Возникла идея... Имеется ATtiny2313 что если в прошивке переделать библиотеки (mega8.h и прочие связанные с этим МК еси таковые имеются) на соответствующие библиотеки для tiny2313 ну там еще скорректировать назначения портов и тд и тп... Как бы и стоит дешевше и портов поменьше и плата меньше вобщем экономия только в плюсе... Возникает вопрос... Возможна ли такая замена... Не произойдет ли переполнение памяти (FLASH) не будеь ли каких багов вобщем? |
|
| Автор: | s_black [ Пн дек 15, 2008 23:30:15 ] |
| Заголовок сообщения: | Re: ATtiny2313 + Sony PlayStation |
Возникает вопрос... Возможна ли такая замена... Не произойдет ли переполнение памяти (FLASH) не будеь ли каких багов вобщем?[/quote] Если памяти ATtiny2313 хватит, то, конечно возможна. А не будет ли в программе багов, зависит от того, насколько внимательно Вы её (программу) перепишите. Только нужно ли это? Разница в цене указаных МК не настолько большая, а вот возможность дальшейшей модернизации уст-ва может пострадать. Удачи! |
|
| Автор: | VenomXP [ Вт дек 16, 2008 16:53:15 ] |
| Заголовок сообщения: | |
А зачем модернизировать.... Все и так уже сделанно просто хочеться пересадить на другой контроллер... Пы.Сы. Народ еси кто работал с WinAVR помогите... |
|
| Автор: | smac [ Вт дек 16, 2008 17:22:32 ] |
| Заголовок сообщения: | Re: ATtiny2313 + Sony PlayStation |
VenomXP писал(а): Доброго времени суток всем котам... Встретил статеюку про прикошачивания Джоя от SPS к USB... Собрал - не заработало... Загуглил... Переделал - заработало... Но это не суть...
Все дело в том что у ATmega'и очень много ног лишних тогда остается да и стоит она скажем для студента не дорого но жалко денюшку на ветер бросать... Возникла идея... Имеется ATtiny2313 что если в прошивке переделать библиотеки (mega8.h и прочие связанные с этим МК еси таковые имеются) на соответствующие библиотеки для tiny2313 ну там еще скорректировать назначения портов и тд и тп... Как бы и стоит дешевше и портов поменьше и плата меньше вобщем экономия только в плюсе... Возникает вопрос... Возможна ли такая замена... Не произойдет ли переполнение памяти (FLASH) не будеь ли каких багов вобщем? Вы бы хоть ссылку на статью выложили. Учтите, что в тини2313 нет АЦП, поэтому если с джойстика аналоговые сигналы какие-либо идут, то переделать программу под тини будет проблематично. |
|
| Автор: | TechMike [ Вт дек 16, 2008 17:46:52 ] |
| Заголовок сообщения: | |
Сначало нужно попробовать перекомпилить прошивку под tiny2113, если памяти хватит, то большая вероятность, что можно будет перетащить проект на нее. Придется конечно поправить название регистров и т.д.(открывается два даташита и вперед)... Исходник бы помог..... |
|
| Автор: | VenomXP [ Вт дек 16, 2008 20:49:59 ] | |||||
| Заголовок сообщения: | ||||||
Исходники... Схема... Да не проблема Пы.Сы. Я думаю из кода нужно убрать 2 джойстик... Лишняя память как никак...
|
||||||
| Автор: | VenomXP [ Вт дек 16, 2008 23:15:21 ] | ||
| Заголовок сообщения: | |||
Вот, посидел подкорректировал прошивочку для одного джоя, а в частности изменил 3 файла: common.h in_psx.c out_psx.c Схема осталась пока что оригинальная... Проверьте кто работает с WinAVR плиз...
|
|||
| Автор: | Alexeus [ Ср дек 17, 2008 14:44:51 ] |
| Заголовок сообщения: | |
Выше написали же, что на тини нет АЦП, на Меге8 есть. Как раз порты PC0-PC5 на меге8 имеют второе свойство- это АЦП. Соответственно если они пользуются в этом режиме, ничего на тини ты не получишь... |
|
| Автор: | VenomXP [ Ср дек 17, 2008 15:57:01 ] |
| Заголовок сообщения: | |
Покажите мне пожалста где в исходном коде вообще включаеться АЦП оно там в принципе не нужно так как джойстик вообще робит по SPI интерфейсу Ссылка на статью на радиокоте (прошивка и схема НЕ РАБОЧИЕ) с описанием протокола работы джойстика http://radiokot.ru/lab/controller/17/ |
|
| Автор: | Alexeus [ Ср дек 17, 2008 16:52:18 ] |
| Заголовок сообщения: | |
Особо не вникал в тему, но в статье упоминается два вида джойстиков, 1) цифровой и 2) с аналоговыми манипуляторами... если просто цифровой, то без проблем с мк состыковать, если добавляются аналоговые ман.- то АЦП пригодиться... Опять же, если собирать переходник, то АЦП не пригодиться наверное, мк в самом джойстике скорее всего будет иметь АЦП и выдавать уже цифру на выходе... |
|
| Автор: | VenomXP [ Ср дек 17, 2008 17:16:23 ] |
| Заголовок сообщения: | |
Дык там так и есть... Джой уже выдает цифровой сигнал по байтам а нам его остается только преобразовать Вы на исходники то хоть глянте особенно вот на эти 3 файла common.h in_psx.c out_psx.c В них то вся суть и вы сразу поймете что к чему... Они то как раз и занимаються чтением и обработки информации от джоя... |
|
| Автор: | VenomXP [ Ср дек 17, 2008 21:23:40 ] |
| Заголовок сообщения: | |
Помогите разобраца что значит эта строка Код: #define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH 110 /*Изменено total length of report descriptor */ /* Define this to the length of the HID report descriptor, if you implement * an HID device. Otherwise don't define it or define it to 0. */ Везде пишут почему то по разному... Что ето значит... В статье которую писал Spider там стоит Код: #if PSX > 1
#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH 55 /*Изменено total length of report descriptor */ #else #define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH 51 /*Изменено total length of report descriptor */ #endif /* Define this to the length of the HID report descriptor, if you implement * an HID device. Otherwise don't define it or define it to 0. */ Обьясните плиз... |
|
| Автор: | VenomXP [ Ср дек 17, 2008 22:02:13 ] |
| Заголовок сообщения: | |
Уф... Разобрался... Вот в чем дело Код: //HID дескриптор репорта PROGMEM const char usbHidReportDescriptor[USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH] = { //Джойстик-1 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x04, // USAGE (Joystick) 0xa1, 0x01, // COLLECTION (Application) 0x09, 0x01, // USAGE (Pointer) 0xa1, 0x00, // COLLECTION (Physical) 0x85, 0x01, // REPORT_ID (1) 0x09, 0x30, // USAGE (X) 0x09, 0x31, // USAGE (Y) 0x09, 0x32, // USAGE (Z) 0x09, 0x33, // USAGE (Rx) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x04, // REPORT_COUNT (4) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x01, // LOGICAL_MAXIMUM (1) 0x95, 0x0c, // REPORT_COUNT (12) 0x75, 0x01, // REPORT_SIZE (1) 0x05, 0x09, // USAGE_PAGE (Button) 0x19, 0x01, // USAGE_MINIMUM (Button 1) 0x29, 0x0c, // USAGE_MAXIMUM (Button 12) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x75, 0x01, // REPORT_SIZE (1) 0x95, 0x04, // REPORT_COUNT (4) 0x81, 0x01, // INPUT (Constant) - 4 bit padding 0xc0, // END_COLLECTION 0xc0, // END_COLLECTION }; Поетому у меня мдесь должно быть так Код: #define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH 55 /*Изменено total length of report descriptor */
Так как еси посчитать количество элементов в массиве usbHidReportDescriptor их как раз получаеться 55 |
|
| Автор: | VenomXP [ Ср дек 17, 2008 22:04:06 ] |
| Заголовок сообщения: | |
Цитата: Придется конечно поправить название регистров и т.д.(открывается два даташита и вперед)...
Не могли бы вы про ето поподробнее сказать... Я просто не слишком часто сталкивался с регистрами и сути не понимаю |
|
| Автор: | VenomXP [ Чт дек 18, 2008 14:59:43 ] | ||
| Заголовок сообщения: | |||
Разобрался с регистрами... Тока вот проблема код не компилируеться... Вот файл проверьте ктонить (Пока прошивка для ATmega8) Плиииииз... Вот такую ошибку выдает Код: > "make.exe" all
-------- begin -------- avr-gcc (GCC) 4.2.2 (WinAVR 20071221) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. make.exe: *** No rule to make target `main_psx.elf', needed by `elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:02 Я уже запарился... Че никто не поможет...
|
|||
| Автор: | VenomXP [ Чт дек 18, 2008 17:00:38 ] |
| Заголовок сообщения: | |
Проблема решилась так Было вобщем сначало вот как Код: # List C source files here. (C dependencies are automatically generated.) SRC = usbdrv.c in_psx.c out_psx.c oddebug.c main_psx.c Потом убрал из списка oddebug.c так же как и у Spider'a... стало вот как Код: # List C source files here. (C dependencies are automatically generated.)
SRC = usbdrv.c in_psx.c out_psx.c main_psx.c Все скомпилировалось... Кто нибудь здесь знает почему так? |
|
| Автор: | VenomXP [ Чт дек 18, 2008 20:39:23 ] |
| Заголовок сообщения: | |
Ну что мне никто не помог за что вам ОГРОМНОЕ спасибо Все же мне ктонить расскажет че нить про регистры? |
|
| Автор: | VenomXP [ Чт дек 18, 2008 22:16:57 ] | ||
| Заголовок сообщения: | |||
Вот выкладываю исходный код для этого девайса... Работает на все 100... Схема пока что на ATmega8 выше выкладывал... Кому надо готовую скомпилированную прошивку или фьюзы обращайтесь Пы.Сы.: Для ATtiny2313 код не будет готов пока я с этими регистрами не разберусь
|
|||
| Автор: | VenomXP [ Сб дек 20, 2008 21:52:10 ] |
| Заголовок сообщения: | |
Ну кто нить отпишитесь... У всех работает кто скачал? |
|
| Автор: | kamikadze [ Сб дек 20, 2008 22:02:57 ] |
| Заголовок сообщения: | |
Вы говорите что у спайдера в коде много ошибок, но код то работоспособен, наверное все же ошибки не критичны, да и откуда такие утверждения? Факты прошу Причем есть люди у кого даное чудо работает. 1) Аналоговый джойстик не работает 2) Выбрали ли PSX 1 или 2 Опять же факты прошу |
|
| Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


