【Meego】SDK with Xephyr


【目的】

  • 建立本機 meego sdk chroot。

【環境】

  • Ubuntu 10.04

【安裝】

  1. 下載 sdk
    $ wget http://download3.meego.com/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729.tar.bz2
  2. 解壓縮 sdk
    $ tar xvjf meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729.tar.bz2
  3. 下載 meego chroot
    $ wget http://download3.meego.com/meego-sdk-chroot
  4. 解壓縮 chroot script
    $ tar zxvf meego-sdk-chroot
  5. 設成可執行
    $ chmod +x meego-sdk-chroot
  6. 掛載 Meego Image
    $ mkdir /tmp/meego
    $ mount -o loop,offset=512 ./meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729.raw /tmp/meego/
    $ ./meego-sdk-chroot /tmp/meego
  7. 由Xephyr啟動 Meego
    $ xhost +SI:localuser:ed
    $ export DISPLAY=:0
    $ /usr/bin/startmeego&
  8. 如果要 debug 的話,最後一行命令改為
    $ /usr/bin/startmeego-debug&
  9. 結束 Meego
    $ exit

【除錯】

  • (TBD)

【Qt 應用程式開發】

  1. 有許多方法,以 Host/Target 為例。
    1. Host 端,以上面環境為主( meego sdk chroot)
      1. 啟動 Qt Creator。
    2. Target端,準備一台機去可以用 Meego Usb dongle 開機。
      1. 啟動 sshd support。
  2. (tbd)

【問題】

【參考】

  1. MeeGo SDK with Xephyr
    http://wiki.meego.com/MeeGo_SDK_with_Xephyr
  2. Getting started with the MeeGo SDK for Linux
    http://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linux
  3. MeeGo SDK for Linux 模擬器的安裝
    http://blog.jangmt.com/2010/06/meego-sdk-for-linux.html
  4. 在 Linux 上使用 MeeGo SDK
    http://blog.csdn.net/vip_dog/archive/2010/06/01/5639132.aspx

【Google】Google command line


googlecl http://code.google.com/p/googlecl/downloads/list
【目的】
  • 透過 Googlecl 更新資料。
【環境】
  • Ubuntu 9.10

【安裝】
  1. 首先安裝相關套件 python-gdata
    $ apt-get install python-gdata
  2. 下載 googlecl
    $ wget http://googlecl.googlecode.com/files/googlecl_0.9.9-1_all.deb
  3. 安裝 googlecl
    $ dpkg -i googlecl_0.9.9-1_all.deb
【Usage Example】

  • Usage Helper
    • $man google 
  • Contacts
    • add example
      $ google contacts add "test1,test1@kimo.com"
  • (tbd,其它還有很多功能)
【Questions】
  • 可以跳過認證視窗嗎? 直接由命令列帶參數傳送帳號與密碼。
【參考】

【AVR】Linux


手邊還沒有機器,先寄一下筆記。

【目的】

  • 建立 Linux 下的編譯環境。

【環境】

  • Ubuntu 10.04

【步驟】

  1. 安裝 toolchain/tools
    $ apt-get install gcc-avr binutils-avr avr-libc
  2. 安裝燒錄軟體
    $ apt-get install avrdude
  3. 範例程式 (hello.c)
    #define F_CPU 1000000UL
    #include <util/delay.h>
    #include <avr/io.h>
    #include <stdio.h>
    
    int main (void)
    {
      printf("Hello AVR\n");
      return (0);
    }
  4. 編譯 
    $ avr-gcc -mmcu=atmega48 -Wall -Os -o hello.o hello.c
  1. 輸出成用來燒錄的 hex 檔
    $ avr-objcopy -j .text -O ihex hello.o hello.hex
  2. 燒錄驗證 (無機器,尚未驗證)
    $ avrdude -p m48 -c usbasp -e -U flash:w:hello.hex

【補充】

  1. Toolchain
      • GCC
        • /usr/bin/avr-gcc
      • Include
        • /usr/lib/avr/include
          • avr/io.h
            利用 ifdef 來決定要帶入的 include file,如 ATmega48 為 iom48.h。
            #ifndef _AVR_IO_H_
            #define _AVR_IO_H_
            
            #include <avr/sfr_defs.h>
            
            #if defined (__AVR_AT94K__)
            
            #elif defined (__AVR_ATmega48__)
            #  include <avr/iom48.h>
            ...
            #endif
          • util/delay.h
            提供現成的 _delay_us()/_delay_ms() 函數,
            F_CPU 值是 1000000UL。
            void
            _delay_ms(double __ms)
            {
              uint16_t __ticks;
              double __tmp = ((F_CPU) / 4e3) * __ms;
              if (__tmp < 1.0)
                __ticks = 1;
              else if (__tmp > 65535)
              {
                //__ticks = requested delay in 1/10 ms
                __ticks = (uint16_t) (__ms * 10.0);
                while(__ticks)
                  {
                    // wait 1/10 ms
                    _delay_loop_2(((F_CPU) / 4e3) / 10);
                    __ticks --;
                  }
                return;
              }
              else
                __ticks = (uint16_t)__tmp;
              _delay_loop_2(__ticks);
            }
            
            void
            _delay_us(double __us)
            {
              uint8_t __ticks;
              double __tmp = ((F_CPU) / 3e6) * __us;
              if (__tmp < 1.0)
                __ticks = 1;
              else if (__tmp > 255)
              {
                _delay_ms(__us / 1000.0);
                return;
              }
              else
                __ticks = (uint8_t)__tmp;
              _delay_loop_1(__ticks);
            }
      • Library
        • /usr/lib/gcc/avr/4.3.4/
  2. (TBD)

【參考】

【Android】NDK


研究中。 還需整理。
【目的】

  • NDK 的使用。
【環境】
  • Ubuntu
【安裝】
【範例】
  • 官方範例的程式位於 <ndk>/samples/<name>/jni/ (i.e. ${android-ndk}\samples\hello-gl2\jni )

【說明】
(tbd)

【Review point】

  • 何謂 Activity/Task/Process。
  • Traceview
  • oha/non-oha

【參考】

【Qt】Mouse and Key Event


【目的】

  • 取得滑鼠位置。
  • 取得使用者按下按鍵。

【程式】
擷取片段重點。

  • mainwindow.h ( 主要是要重載 event )
    class MainWindow : public QMainWindow {
    ...
    private:
        Ui::MainWindow *ui;
        void keyPressEvent(QKeyEvent *);
        void mouseMoveEvent(QMouseEvent *);
        void MousePressEvent(QMouseEvent *);
    
    ...
    };
  • mainwindow.cpp ( 實作重載的 event)
    #include <QKeyEvent>
    #include <QtDebug>
    #include <Qt>
    ...
    void MainWindow::keyPressEvent(QKeyEvent *ke)
    {
      qDebug()<< "nativeScanCode: " << ke->nativeScanCode() <<endl;
      qDebug()<< "key: "<< ke->key() <<endl;
    
    }
    void MainWindow::mouseMoveEvent(QMouseEvent *me)
    {
      setMouseTracking(true);
      if (me->buttons() == Qt::RightButton)     { qDebug() << "RightButtom"; }
      else if (me->buttons() == Qt::LeftButton) { qDebug() << "LeftButton";  }
      else if (me->buttons() == Qt::MidButton)  { qDebug() << "MidButton";   }
    
      qDebug() << "Mouse(x,y):" << me->x() << me->y();
    }
    void MainWindow::MousePressEvent(QMouseEvent *me)
    {
      qDebug() << "Mouse(x,y):" << me->x() << me->y();
    }
【結果】
  • Press Key "A"
    nativeScanCode:  30 
    key:  65 
  • Drag-and-drop Mouse and hold mouse’s left button
    LeftButton 
    Mouse(x,y): 257 164
【問題】
  • setMouseTracking 動作結果和想像中不同。
  • MousePressEvent 動作結果和想像中不同。
  • 如何在沒有鍵盤/滑鼠的手機(i.e. Nokia 5800)得到使用者的輸入(手勢;Gesture)。

【參考】

【札記】八月份


【20090801】預計開始晨泳,因為昨晚去釣小管,所以今天沒去晨泳。

【20090802】晨泳,不過只游了約30分鐘。

【其他】

【札記】七月底釣小管


【20100701】想用我五萬公哩的哩程來換一張來回機票,不過一直都只能訂到候補機位,只好先訂了再說。然後再請老婆去華航票務組問看看何時候補的到。剛好在查華航在台北的票務組的時候突然看到華航在 LAX的票務組( 200 N. Continental Blvd. EL Segundo, CA 90245, U.S.A.)只記得那時在美國出差的時候超過預計回來的日期,還千哩迢迢的和同事從 Irvin 跑來這邊改機票日期。只記的斜對面有一大片停車場,不過停的車子卻很少,一片空曠的感覺,好懷念。

image

【20100702】老婆趁下班的時候,跑去換她和我的換國際駕照,不過卻發現我的駕照過期了,且我的照片她只帶一張,只能先換駕照,之後再幫我換國際駕照了。駕駛人公會 台北市內湖區舊宗路2段181巷10號1樓。

【20100703】台北市室外溫度38.x度。下午我家西曬,室內溫度高達34.x度,不過我的耐熱功力越來越厲害了,還是不用開冷氣。

【20100704】早上陪老婆去二重國中考試,七點多出門,七點半就到了。今天還是一樣非常熱,不過幸好學校開放式視聽室給陪考人員。老婆考完試就直接搭高鐵回她家了。

【20100706】老婆今天回台北了。

【20100709】請假一天,和老婆開車去朱銘美術館。順便練一下開車技術。

【20100712】放三天假,回公司上班第一天。

【20100714】和老婆至北醫看醫生。回到家已經11點多了。

【20100716】老婆去看中醫,中醫說之前北醫的檢查結果有點還需探討的地方。
中醫生建議我們再多找一家西醫確定一下。

【20100717】由於最近左眼度數不太穩定,剛遍的眼鏡過沒多久,員工健檢時發現只剩0.5。
到書田看眼科,醫生說我可能有提早老花眼的現象。

【20100718】晨泳第二天。

【20100719】晨泳第三天。多加跑操場三天。
老婆早上去看婦產科。順便載我去上班。

【20100720】昨晚預購游泳年票,由於剛好這個月生日,所以省了2000元加入會員的部分。

【20100724】預計活動

陳老師帶家人上台北。

  1. 北美館 http://www.tfam.museum/03_Exhibitions/Default.aspx?PKID=350 (有教師證門票只需150)
    1. 年代售票 http://www.ticket.com.tw/dm.asp?P1=7000002160
      1. 家樂福大直店 生活便利站 台北市樂群三路218號    (02)8509-5577
        http://www.ticket.com.tw/points/north04.asp
    2. 交通
      1. 停車 7/17起花博期間道路封閉,停車場停止開放
        http://www.tfam.museum/20_News/News_List.aspx?MessageID=303
      2. 公車
        直接搭接駁車即可。
  2. 士林夜市,臭豆腐和藥燉排骨。
  3. 美麗華摩天輪,假日門票 200。
  4. 美麗華IMAX http://www.miramarcinemas.com.tw/imax/show.htm
    全面啟動
  5. 動物園 http://www.zoo.gov.tw/ 上午9:00至下午5:00 (沒去)
  6. 貓空纜車 http://gondola.trtc.com.tw/ (沒去)
    可直接由動物園內站搭乘,人較少。

【20100731】預計活動

  1. 碧砂漁港釣小管
    1. 收穫
      當天只有一隻白帶,一隻章魚,一隻河豚。

【Notes】

  1. RedEye mini把你的iPad/iPhone變成紅外線遙控器
    http://chinese.engadget.com/2010/07/11/ir-beaming-redeye-mini-ipad-iphone-remote-dongle-gets-real-it/
  2. 數位信號與光電量測應用於機電整合
    http://cslin.auto.fcu.edu.tw/scteach/interest.htm

【Qt 】Piano Keyboard


Virtual MIDI Piano Keyboard
http://qt-apps.org/content/show.php/Virtual+MIDI+Piano+Keyboard?content=88233
類似電子琴的軟體。

【參考】

 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com