• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ytak01のブログ一覧

2020年12月15日 イイね!

GIMX with PS5

https://github.com/matlo/GIMX/issues/673

なんと、GIMXがPS5で動かないという報告あり・・・
自分はまだPS5持っていないので確認のしようがなく・・・
matloさん、頑張って!
Posted at 2020/12/15 18:07:08 | コメント(0) | トラックバック(0) | gimx | 日記
2018年12月24日 イイね!

GIMX再構築

GIMXをVersionUpしていたらどうにもこうにも動かなくなってしまったので再度作り直しました。

再度作り直すのが面倒なのでメモ

Raspbianが下記のVersionではないと何故かkernelモジュールが動作しないのでこれを使います。
https://downloads.raspberrypi.org/raspbian/images/raspbian-2016-11-29/2016-11-25-raspbian-jessie.zip
2016-11-25-raspbian-jessie.img
4.4.34-v7+

Raspbian設定
sudo raspi-config

gamecom-gpio-rpiのコンパイルに必要なものをインストール
sudo apt-get install bc dkms libwxbase3.0-0 libwxbase3.0-0 xterm avrdude

wget https://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-4.4.34-v7%2B_4.4.34-v7%2B-2_armhf.deb
dpkg -i linux-headers-4.4.34-v+_4.4.34-v7+-2_armhf.deb

gamecon-gpio-rpiのインストール
dpkg -i gamecon-gpio-rpi-dkms_1.2a_all.deb

gimxのインストール(2016-11-25では6.10ではないとインストール出来なかった)
(GIMX7系はstrechを要求?)
wget https://github.com/matlo/GIMX/releases/download/v6.11/gimx_6.10-1_armhf.deb
dpkg -i gimx_6.10-1_armhf.deb

その他設定等
sudo apt-get install xrdp tightvncserver samba vim-nox joystick jstest-gtk sleepenh

sudo service triggerhappy stop
sudo update-rc.d triggerhappy disable

kernelモジュールの設定
vi /etc/modprobe.d/gamecon.conf
options gamecon_gpio_rpi map=0,0,7,0,0,0 psx_delay=25 psx_com_pin=12 psx_sel_pin=17
Posted at 2018/12/24 11:36:05 | コメント(0) | トラックバック(0) | gimx | 趣味
2017年02月19日 イイね!

RPi3でのUART使用

RPi3でUARTを使おうとすると一手間かかります。
少しハマりました。

GIMXの公式では/dev/ttyAMA0を使うとありますが、これはRPi2まででRPi3だと/dev/ttyS0になります。
実際には/boot/cmdline.txtの変更も必要です。

ですが、RPi3でRPi2のようにUARTを使う設定が解ったので記しておきます。

/boot/cmdline.txt
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait plymouth.enable=0

/boot/config.txt
init_uart_clock=8000000
dtoverlay=pi3-miniuart-bt
の2行を最下部に追加

これでUART/dev/ttyAMA0として使用できるようになります。
Posted at 2017/02/19 02:20:14 | コメント(0) | トラックバック(0) | gimx | 趣味
2017年01月24日 イイね!

gamecon-gpio-rpi改をGitHubに公開しました

gamecon-gpio-rpi改をGitHubに公開しました

https://github.com/ytak01/gamecon-gpio-rpi
になります。

https://github.com/ytak01/gamecon-gpio-rpi/releases
にdpkgをリリースファイルとしておきました。
GPIO番号がCOMピンがGPIO12になっていますので注意してください。

実際にインストール時には使用しているkernelバージョンのkernel headersのインストールが必要になります。

これでほぼFixですが何かあったら今後はGitHubの方を修正していきます。
Posted at 2017/01/24 23:52:23 | コメント(0) | トラックバック(0) | gimx | 趣味
2017年01月23日 イイね!

gamecon_gpio_rpiのGPIO番号可変

neGT-USBを使わずにRPiにダイレクトにネジコンをつなぐ(Part4)
でgamecon_gpio_rpi.cの変更点を書いたのですが、GPIOの番号を可変出来るように修正したのでこれも載せておきます。

GC_PSX_COMMAND_PIN,GC_PSX_SELECT_PINで変更出来ますが、1X番台ではないと動作しませんでした。

--- gamecon_gpio_rpi_1.2_org.c  2015-12-28 07:27:26.000000000 +0900
+++ gamecon_gpio_rpi_1.2_new.c   2017-01-23 23:06:57.732432783 +0900
@@ -46,11 +46,11 @@

 #define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */

+static volatile unsigned *gpio;
+
 #define GPIO_SET *(gpio+7)
 #define GPIO_CLR *(gpio+10)

-static volatile unsigned *gpio;
-
 struct gc_config {
        int args[GC_MAX_DEVICES];
        unsigned int nargs;
@@ -619,8 +619,7 @@
  *
  */

-#define GC_PSX_DELAY   3               /* clock phase length in us. Valid clkfreq is 100kHz...500kHz. 2*udelay(3) results to ~250kHz on RPi1. */
-#define GC_PSX_DELAY2  25              /* delay between bytes. */
+#define GC_PSX_DELAY   10              /* 25 usec */
 #define GC_PSX_LENGTH  8               /* talk to the controller in bits */
 #define GC_PSX_BYTES   6               /* the maximum number of bytes to read off the controller */

@@ -630,13 +629,22 @@
 #define GC_PSX_ANALOG  5               /* Analog in Analog mode / Rumble in Green mode */
 #define GC_PSX_RUMBLE  7               /* Rumble in Red mode */

+#define GC_PSX_COMMAND_PIN     16              /* Pin 16 */
+#define GC_PSX_SELECT_PIN              17              /* Pin 17 */
+
+#define GC_GPIO(g) (((g)%10)*3)
+
 #define GC_PSX_CLOCK   (1<<18)         /* Pin 18 */
-#define GC_PSX_COMMAND (1<<14)         /* Pin 14 */
-#define GC_PSX_SELECT  (1<<15)         /* Pin 15 */
+#define GC_PSX_COMMAND (1<<GC_PSX_COMMAND_PIN)
+#define GC_PSX_SELECT  (1<<GC_PSX_SELECT_PIN)

 #define GC_PSX_ID(x)   ((x) >> 4)      /* High nibble is device type */
 #define GC_PSX_LEN(x)  (((x) & 0xf) << 1)      /* Low nibble is length in bytes/2 */

+static int gc_psx_delay = GC_PSX_DELAY;
+module_param_named(psx_delay, gc_psx_delay, uint, 0);
+MODULE_PARM_DESC(psx_delay, "Delay when accessing Sony PSX controller (usecs)");
+
 static const short gc_psx_abs[] = {
        ABS_HAT0X, ABS_HAT0Y, ABS_RX, ABS_RY, ABS_X, ABS_Y
 };
@@ -659,15 +667,14 @@

        for (i = 0; i < GC_PSX_LENGTH; i++, b >>= 1) {

-               GPIO_CLR = GC_PSX_CLOCK;
-
                if (b & 1)
                        GPIO_SET = GC_PSX_COMMAND;
                else
                        GPIO_CLR = GC_PSX_COMMAND;
-
-               udelay(GC_PSX_DELAY);
-        GPIO_SET = GC_PSX_CLOCK;
+
+               GPIO_CLR = GC_PSX_CLOCK;
+
+               udelay(gc_psx_delay);

                read = *(gpio+13);

@@ -678,10 +685,10 @@
                                data[j] |= (read & gc_status_bit[j]) ? (1 << i) : 0;
                }

-               udelay(GC_PSX_DELAY);
+               GPIO_SET = GC_PSX_CLOCK;
+
+               udelay(gc_psx_delay);
        }
-
-    udelay(GC_PSX_DELAY2);
 }

 /*
@@ -697,14 +704,14 @@
        unsigned long flags;
        unsigned char data2[GC_MAX_DEVICES];

-    local_irq_save(flags);
-
        /* Select pad */
        GPIO_SET = GC_PSX_CLOCK | GC_PSX_SELECT;
-
+       udelay(gc_psx_delay);
        /* Deselect, begin command */
        GPIO_CLR = GC_PSX_SELECT;
-       udelay(GC_PSX_DELAY2);
+       udelay(gc_psx_delay);
+
+       local_irq_save(flags);

        gc_psx_command(gc, 0x01, data2);        /* Access pad */
        gc_psx_command(gc, 0x42, id);           /* Get device ids */
@@ -1146,9 +1153,16 @@
        if (gc->pad_count[GC_PSX] ||
                gc->pad_count[GC_DDR]) {

-               /* set clk, cmd & sel pins to OUTPUT */
+               /* set clk, cmd & sel pins to OUTPUT
+                       12 = GPIO14(CMD)
+                       15 = GPIO15(SEL)
+                       24 = GPIO18(CLK)
+
                *(gpio+1) &= ~((7<<12) | (7<<15) | (7<<24));
                *(gpio+1) |= ((1<<12) | (1<<15) | (1<<24));
+               */
+               *(gpio+1) &= ~((7<<GC_GPIO(GC_PSX_COMMAND_PIN)) | (7<<GC_GPIO(GC_PSX_SELECT_PIN)) | (7<<24));
+               *(gpio+1) |= ((1<<GC_GPIO(GC_PSX_COMMAND_PIN)) | (1<<GC_GPIO(GC_PSX_SELECT_PIN)) | (1<<24));
        }

        return gc;
@@ -1190,6 +1204,9 @@
        if (gc_cfg.nargs < 1) {
                pr_err("at least one device must be specified\n");
                return -EINVAL;
+       } else if ((gc_psx_delay < 1) || (gc_psx_delay > 50)) {
+               pr_err("Invalid psx_delay (1-50 allowed)\n");
+               return -EINVAL;
        } else {
                gc_base = gc_probe(gc_cfg.args, gc_cfg.nargs);
                if (IS_ERR(gc_base))
Posted at 2017/01/24 00:01:29 | コメント(0) | トラックバック(0) | gimx | 趣味

プロフィール

「GIMXがPS5で動いた~~~!!! http://cvw.jp/b/1799061/45524956/
何シテル?   10/08 22:18
ytak01と言う者です。 貧乏な車好きのおっさんです。 この度86購入しました。 よろしくお願いします。
みんカラ新規会員登録

ユーザー内検索

<< 2025/6 >>

1234567
891011121314
15161718192021
22232425262728
2930     

ブログカテゴリー

リンク・クリップ

[トヨタ 86]スバル(純正) E型用 パワーステアリング コンピュータASSY 
カテゴリ:その他(カテゴリ未設定)
2022/06/13 15:24:19
実験君(ヘッドライト編 パート2) 
カテゴリ:その他(カテゴリ未設定)
2019/02/21 18:27:48
ブルーエリア / ネッツトヨタ東埼玉 リアスタビブラケット 
カテゴリ:その他(カテゴリ未設定)
2018/08/01 07:36:34

愛車一覧

トヨタ 86 トヨタ 86
5月M納車です
トヨタ シエンタハイブリッド トヨタ シエンタハイブリッド
4月納車です
トヨタ MR2 トヨタ MR2
MR2に乗っていました。
日産 シルビア 日産 シルビア
シルビアに乗っていました。

過去のブログ

2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation