Skip to content
5月 21 12

金環日食

by admin

曇ってたお陰で眼鏡なしでも見えたし写真も撮れた。

金環日食
金環日食 posted by (C)さがらみつお

金環日食
金環日食 posted by (C)さがらみつお

4月 18 12

羽田空港飛行機撮影ドライブの予定

by admin

10:00 横浜に集合し、出発。

パシフィコ横浜、赤レンガ地帯を通り、石川町JCTから高速道路に乗る。その後、本牧JCT、大黒JCT、川崎浮島JCTを通り、羽田空港を通り、東海JCTで高速道路を降りる。

下道でゲートブリッジへ向かい、ゲートブリッジ通過後、新木場でUターンして、もう一度スカイゲートを通り城南島海浜公園に駐車する。車を降りて、飛行機の撮影を開始する。

昼食をどこで食べるか未定。

持ち物は望遠レンズが必要。

 

4月 10 12

NBロードスター1600ccに一ヶ月半乗ってみて

by admin

MT車の運転初心者が、NBロードスター1600ccに700kmほど乗ってみて、運転のコツがつかめてきた気がするのでメモ。

発進時

1000rpm以下はアイドリング時以外使用禁止(笑)。
アイドリングで半クラッチしてアクセルを踏んでいくとノッキングを起こして振動することが多いので、このやり方は封印したほうがよさそう。
まずアクセルを吹かし1000rpm~2000rpmの間をキープして半クラッチにする。ただ回転数キープはかなり難しい。ニュートラルのときはアクセルにちょっと触れただけで1000rpmくらい動くので、ちょんちょんって触って1000rpm~2000rpmの間を行き来させ、その間に半クラッチにする。
クラッチがつながってくると回転数がすぐに落ち始めるので1000rpm以下にならないようにアクセルを踏み込みながらクラッチをつなげる。

これらの挙動はフライホイールが軽量であるためのようだ。

シフトチェンジは、アクセルを離してクラッチペダルを踏むとすぐに回転が落ちるのでクラッチペダルを踏んだらなるべく速くシフトノブを操作し、クラッチペダルを離す。これで回転がぴったり合えばよいのだが、自分の場合回転が落ちすぎてしまいクラッチペダルを離すとガクガクしてしまう。。仕方ないのでアクセルを踏みつつ半クラッチを使って回転数を合わせて、ゆっくりクラッチペダルを離す。クラッチペダルから左足を離した後は左側の置き場に足を置いておく。

半クラッチからゆっくり足を離していくときは、つま先の位置は変えずにかかとと甲を上げていく感じ。

オープンについて

幌をはずすよりも戻すほうが重くて大変。運転席に座っている状態で、幌を戻すときは手の力だけで上げようとすると失敗するので、取っ手を持ったら腕と肩を固定し体ごと引っ張っていく感じで引き上げる。
ちなみにオープンカーは女性受けがよくないとネットの記事に書いてあって、そうとは知らず勘違いして買ってしまった。

その他
ノーマルの機体だが、フォグランプとホーネットセキュリティが着いているのは、なかなかイケてる気がしてきた。

3月 26 12

Zombie Panic: Source, Invalid Steam Userid Ticket Error

by admin

久々にゾンビパニックやろうとしたら、サーバーにつなげられなかった。
いろいろ調べてみて、下の記事の通りにしたら直った。

http://zombiepanic.org/forums/showthread.php?p=194168#post194168

First of all, make sure Steam is shut down.
1. Browse to your Steam directory.
2. Locate and delete your “Config” folder.
3. Start Steam back up and it will re-download the files that were deleted.

Configフォルダを消してログインし直すと、メールでパスコード認証しろと言われ、その後サーバーに繋がるようになった。

2月 27 12

ロードスター納車

by admin

ロードスター納車
ロードスター納車 posted by (C)さがらみつお

GF-NB6C SP 1.6L 5MT 2001年のロードスターです。11年落ちだけど走行距離26000kmでそこそこ綺麗だったので買っちゃいました。ディーラーで買ったので、今のところ安心して乗れています。整備費を払って消耗品の交換もしてもらいました。バッテリーとブレーキパッドも新品に換えてもらえました。良かった。

納車から2日経ったところで、感想を書いてみます。

・目線が低い(スピードが出てる感じがする)
・暖かい(対バイク比500%UPみたいな)
・オープンにすると頭にだけ風が当たる(非日常な感じ)
・ノーマルマフラーでも吹け上がりはよいと思う
・低速トルクがスカスカで発進時エンストしやすい。(すでに何十回もエンストした。単に自分の運転が下手なだけだと思う)
・クラッチが重く、踏んでると左足が筋肉痛になった!(そのうち慣れるかな。)
・クラッチの位置が右足寄りにあって狭いような・・・(教習車の三菱ランサーはもっと左にあった気がする)
・エンジンブレーキはあまり効かない(Ninja250Rが効きすぎか)
・ミッションが硬い(ゴリゴリする感じ)
・ギアチェンジがギクシャクして、隣に人を乗せるレベルにないぞ(自分の運転レベルの問題)
・買ってから気づいた傷を発見すると凹む(中古車なので仕方ないが)
・ホーネットというセキュリティが付いているが、使い方がわからない
・iPhoneが挿せるFMトランスミッターを買ってシガーソケットに取り付けて満足(地図と音楽と充電)

とりあえず、こんな感じでした。

今後の予定としては

・次回車検までに横浜に引越して横浜ナンバーにする
・ハードトップを買う(悩み中)
・タイヤを燃費のよいエコタイヤに換える(まだ先の話か)

10月 27 11

中津峡ツーリング

by admin

posted by (C)さがらみつお

紅葉を見るのが目的だったが、紅葉にはまだ早かった。

中津峡に行くまでの県道53号は、信号がほとんどない、ヘアピンカーブがある峠越え、など、なかなか面白かった。

道の駅あらかわでコーヒーを飲んで休んだあと、きのこの写真展がやっていたので見たら写真が綺麗に撮れていて面白かった。CBR250RRに乗ってた人がいてちょっと話をした。やっぱり4気筒はエンジン音がかっこいい。ただエンジンの始動性は悪そうだった(セル3回目でエンジン始動)。

10月 23 11

中津峡へ紅葉ツーリングの予定

by admin

県道53号を通って行ってみよう。片道100km、3時間かかる。


大きな地図で見る

6月 23 11

ONKYO SE-U55SX 購入

by admin

USBサウンドプロセッサなる ONKYO SE-U55SX を購入した。

http://kakaku.com/item/05602610352/

TVとかオーディオとかは、PCの周辺機器として揃えたい思いがあり、今回PCの音質アップを狙ってUSB接続の外付けサウンドユニットを買った。
ポイントとしては、

  1. PC内蔵よりも外付けで別電源のほうがノイズがのりにくいだろう
  2. DACがTIバーブラウン製でブランド感がある(?)
  3. 価格が15,000円(安いはず!)

これら3点が購入を決めた。

とりあえずPCとサウンドユニットをUSBで接続して音質アップ。さらにMac mini のオーディオ出力が光デジタルも兼ねていることを知り、Mac mini とサウンドユニットをつなげ、こちらも音質アップ。

ちなみにスピーカーは、ロジクールZ523を使ってる。

 

値段の割りにいい音が出てるな。と自分を言い聞かせておこう。

3月 20 11

STM32マイコンのUSBバルク転送をダブルバッファーで使う方法

by admin

STM32マイコンのUSBバルク転送をダブルバッファーで使う方法が最近わかったのでメモ。

これまでの経緯

miqn.net で公開されている開発環境を用いて、STM32マイコンのVirtual COM Port で転送速度をどれだけ速くできるか調べていた。その結果は、1kBytes/sec. ! であった。これは1msec.のポーリングごとに1Byteずつ送っているためだ。そこでバッファにフルにつめてみたが、64kBytes/sec. で頭打ちであった。これは1フレームに1トランザクションしか使えていないためと思われる。しかしUSBFSのバルク転送はトランザクションを複数(最大18使えるらしい)使って、理論的には1152(=18*64)kBytes/sec. まで出るはず。その解決方法としてSTMが提供しているダブルバッファーの機能を使う方法があることがわかったが、サンプルがないため苦戦。試行錯誤した結果、約170kBytes/sec. で動いた。170kBytes/sec.は中途半端な値だが、ひとまず、そのときのコードを下に記す。

解決方法

元ねたはSTMのフォーラム

開発環境は、ボードはストロベリーリナックス社のSTBee。 ツールチェインは miqn.net で公開されている環境。Samples のadc_1ch_singleをベースにして、VCPのテストをした。

変更点は usb_conf.h, usb_prop.c, hw_config.h, hw_config.c, main.c, stm32f10x_it.c。以下に詳細を示す。

usb_conf.h変更後

#define ENDP0_RXADDR        (0x40)
#define ENDP0_TXADDR        (0x80)
#define ENDP1_TXADDR0       (0xC0)
#define ENDP1_TXADDR1       (0x100)
#define ENDP2_TXADDR        (0x140)
#define ENDP3_RXADDR0       (0x150)
#define ENDP3_RXADDR1       (0x190)

usb_prop.c変更後

/* Initialize Endpoint 0 */
SetEPType(ENDP0, EP_CONTROL);
SetEPTxStatus(ENDP0, EP_TX_STALL);
SetEPRxAddr(ENDP0, ENDP0_RXADDR);
SetEPTxAddr(ENDP0, ENDP0_TXADDR);
Clear_Status_Out(ENDP0);
SetEPRxCount(ENDP0, Device_Property.MaxPacketSize);
SetEPRxValid(ENDP0);

/* Initialize Endpoint 1 */
SetEPType(ENDP1, EP_BULK);
SetEPDoubleBuff(ENDP1);
SetEPDblBuffAddr(ENDP1, ENDP1_TXADDR0, ENDP1_TXADDR1);
SetEPDblBuffCount(ENDP1, EP_DBUF_IN, Device_Property.MaxPacketSize);
ClearDTOG_TX(ENDP1);    // Clear DTOG
ClearDTOG_RX(ENDP1);    // Clear SW_BUF - Sets buf 0 as software buffer and no buffer for USB peripheral
SetEPTxStatus(ENDP1, EP_TX_NAK);
SetEPRxStatus(ENDP1, EP_RX_DIS);

/* Initialize Endpoint 2 */
SetEPType(ENDP2, EP_INTERRUPT);
SetEPTxAddr(ENDP2, ENDP2_TXADDR);
SetEPRxStatus(ENDP2, EP_RX_DIS);
SetEPTxStatus(ENDP2, EP_TX_NAK);

/* Initialize Endpoint 3 */
SetEPType(ENDP3, EP_BULK);
SetEPDoubleBuff(ENDP3);
SetEPDblBuffAddr(ENDP3, ENDP3_RXADDR0, ENDP3_RXADDR1);
SetEPDblBuffCount(ENDP3, EP_DBUF_OUT, /*Device_Property.MaxPacketSize*/ 64);
ClearDTOG_RX(ENDP3);    // Clear DTOG
ClearDTOG_TX(ENDP3);    // Clear SW_BUF
ToggleDTOG_TX(ENDP3);   // Toggle SW_BUF - Sets buf 1 as software buffer (buf 0 for first rx)
SetEPRxStatus(ENDP3, EP_RX_VALID);
SetEPTxStatus(ENDP3, EP_TX_DIS);

hw_config.h変更後

void VCP_PushChar(uint8_t send_char);

hw_config.c変更後

void VCP_PushChar(uint8_t send_char)
{
  while (GetEPTxStatus (ENDP1) != EP_TX_NAK);
  buffer_in[count_in] = send_char;
  count_in++;

  if (count_in == 64)
    {
    //   Write the data to the USB endpoint
      if (GetENDPOINT (ENDP1) & EP_DTOG_RX)
      {
        UserToPMABufferCopy (buffer_in, ENDP1_TXADDR1, count_in);
        SetEPDblBuf1Count (ENDP1, EP_DBUF_IN, count_in);
      }
      else
      {
        UserToPMABufferCopy (buffer_in, ENDP1_TXADDR0, count_in);
        SetEPDblBuf0Count (ENDP1, EP_DBUF_IN, count_in);
      }

      FreeUserBuffer(ENDP1, EP_DBUF_IN);

      SetEPTxStatus(ENDP1, EP_TX_VALID);
      count_in = 0;
    }
}

void VCP_PrintChar(uint8_t send_char)
{
  while(GetEPTxStatus(ENDP1) != EP_TX_NAK){}
  buffer_in[count_in] = send_char;
  count_in++;

//   Write the data to the USB endpoint
#if 0
  USB_SIL_Write(EP1_IN, buffer_in, count_in);
#endif
#if 1
  if (GetENDPOINT (ENDP1) & EP_DTOG_RX)
  {
    UserToPMABufferCopy (buffer_in, ENDP1_TXADDR1, count_in);
    SetEPDblBuf1Count (ENDP1, EP_DBUF_IN, count_in);
  }
  else
  {
    UserToPMABufferCopy (buffer_in, ENDP1_TXADDR0, count_in);
    SetEPDblBuf0Count (ENDP1, EP_DBUF_IN, count_in);
  }

  FreeUserBuffer(ENDP1, EP_DBUF_IN);
#endif
#ifndef STM32F10X_CL
  SetEPTxValid(ENDP1);
#endif // STM32F10X_CL

}

main.c変更後

bool     systick_flg = FALSE;

int main(void)
{

  // Configure board specific setting
  BoardInit();
  // Setting up COM port for Print function
  COM_Configuration();
  //Configure ADC
  ADC_Configuration();

  //Send welcome messages
  //cprintf(Welcome_Message);
#if 0
  Ex_Param = ReadADC1(ADC12_IN8_CH);

  while (1)
    {
      Present_Param = ReadADC1(ADC12_IN8_CH);
      if(Present_Param < Ex_Param - 100 || Present_Param > Ex_Param + 100)
        {
          cprintf("ADC12 converted result is :%d\r\n", Present_Param);

          Ex_Param = Present_Param;
        }
      delay_ms(10);
    }
#endif
  /* Setup SysTick Timer for 1000 msec interrupts  */
  //SystemCoreClock is defined insystem_stm32f10x.c
  //by default SystemCoreClock is 72,000,000 and is to be divided by 8(SysTick_CLKSourceConfig).
  //System clock frequency is 9MHz. By counting, 9,000,000(SystemCoreClock/8), 1000 ms passes.
  if (SysTick_Config(SystemCoreClock/8/1))     // 1Hz
  //if (SysTick_Config(SystemCoreClock/8/100)) // 100Hz
  {
    /* Capture error */
    while (1);
  }
  //Set system clock be divided by 8
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);


  //USB_Tx_flg = 0;
  //buffer_sw = 2; //データのないときは割込みを止める


  while(1)
    {
      /* 最大データ転送速度測定テスト */
#if 1
      //VCP_PrintChar('a');
      //VCP_PushChar('0'+(count%10));
      VCP_PushChar('a');
      //USB_Putc('a');
      count++;
      if (systick_flg != FALSE)
        {
          systick_flg = FALSE;
          cprintf("%d\r\n", count);
          count = 0;
        }
#endif
      /* データ送信テスト */
#if 0
      if (systick_flg != FALSE)
        {
          systick_flg = FALSE;
          for (uint32_t i = 0; i < 64*20; i++)
            {
              VCP_PushChar('!' + (i%64));
            }
        }
#endif
    }
}

stm32f10x_it.c変更後

extern bool     systick_flg;

void SysTick_Handler(void)
{
  systick_flg = TRUE;
}
1月 23 11

バイクの1年点検など

by admin

1年前にレッドバロンで買った Kawasaki Ninja 250R を1年点検に出してきた。
最近フロント周りからの異音が出ることがあり困っていたので、それも見てもらうことにした。

フロント周りからヒヨコの音がピーピー鳴る。という現象はネット上でよく見るが、自分のバイクはヒヨコから進化してブォォォーンという感じのかなり低くてでかい音が鳴る。今日もブォォォーンと鳴らしながらレッドバロンに自走で持ち込んだ。

ネット情報だと、ヒヨコ音の原因はスピードメータのグリス切れ。と書いてあったので、自分の原因もそれだろうと思い、レッドバロンの整備員に伝えて、スピードメータにグリスを入れてもらうことにした。

3時間後、預けたバイクを取りに行って、整備員の話を聞くと、前輪を取り外して見たところスピードメータの部分がかなり乾燥していたそうで、注油してタイヤを回転させて異音がしないことを確認しましたとのこと。
バイクを受け取り、確認したところ、家に帰るまでの間は異音が鳴らなかった。直ったっぽい。

ということでNinja250Rのスピードメータの部分は定期的にグリスを塗るようにしたほうがよいのかもしれない。