Lattice Diamond PLL create

1.Tools→Ipexpress→PLL

2.
  • 輸入
    • file name:名子
    • module output:模組語言
  • cutomize
3.



  • 設定
    • CLKOP desired frequency(用來計算用)
  • actual frequency有值
  • calculate
  • generate

4.
沒有Error就算成功


5.
載入模組範例在"檔名_tmpl.v"下

imagecreatefrombmp用PHP讀取BMP

<?php
    function imagecreatefrombmp($p_sFile)
    {
        //    Load the image into a string
        $file    =    fopen($p_sFile,"rb");
        $read    =    fread($file,10);
        while(!feof($file)&&($read<>""))
            $read    .=    fread($file,1024);
       
        $temp    =    unpack("H*",$read);
        $hex    =    $temp[1];
        $header    =    substr($hex,0,108);
        //    Process the header
        //    Structure: http://www.fastgraph.com/help/bmp_header_format.html
        if (substr($header,0,4)=="424d")
        {
            //    Cut it in parts of 2 bytes
            $header_parts    =    str_split($header,2);
            //    Get the width        4 bytes
            $width            =    hexdec($header_parts[19].$header_parts[18]);
            //    Get the height        4 bytes
            $height            =    hexdec($header_parts[23].$header_parts[22]);
            //    Unset the header params
            unset($header_parts);
        }
        //    Define starting X and Y
        $x                =    0;
        $y                =    1;
        //    Create newimage
        $image            =    imagecreatetruecolor($width,$height);
        //    Grab the body from the image
        $body            =    substr($hex,108);
        //    Calculate if padding at the end-line is needed
        //    Divided by two to keep overview.
        //    1 byte = 2 HEX-chars
        $body_size        =    (strlen($body)/2);
        $header_size    =    ($width*$height);
        //    Use end-line padding? Only when needed
        $usePadding        =    ($body_size>($header_size*3)+4);
        //    Using a for-loop with index-calculation instaid of str_split to avoid large memory consumption
        //    Calculate the next DWORD-position in the body
        for ($i=0;$i<$body_size;$i+=3)
        {
            //    Calculate line-ending and padding
            if ($x>=$width) {
                //    If padding needed, ignore image-padding
                //    Shift i to the ending of the current 32-bit-block
                if ($usePadding)
                    $i    +=    $width%4;
                //    Reset horizontal position
                $x    =    0;
                //    Raise the height-position (bottom-up)
                $y++;
                //    Reached the image-height? Break the for-loop
                if ($y>$height)
                    break;
            }
            //    Calculation of the RGB-pixel (defined as BGR in image-data)
            //    Define $i_pos as absolute position in the body
            $i_pos    =    $i*2;
            $r        =    hexdec($body[$i_pos+4].$body[$i_pos+5]);
            $g        =    hexdec($body[$i_pos+2].$body[$i_pos+3]);
            $b        =    hexdec($body[$i_pos].$body[$i_pos+1]);
            $gray     =    (int)($r + $g + $b)/3;
            //    Calculate and draw the pixel
            $color    =    imagecolorallocate($image,$gray,$gray,$gray);
            imagesetpixel($image,$x,$height-$y,$color);
            //    Raise the horizontal position
            $x++;
        }
        //    Unset the body / free the memory
        unset($body);
        //    Return image-object
        return $image;
    }
    
    

Minimum spanning tree用PHP寫

<?php
    class Edge
    {
        public $v1;
        public $v2;
        public $weight;
       
        function Edge($v1, $v2, $weight)
        {
            $this->v1 = $v1;
            $this->v2 = $v2;
            $this->weight = $weight;
        }
    }
   
    class Vertex
    {
        public $nRank;
        public $vRoot;
        public $name;

        function Vertex($name)
        {
            $this->name = $name;
            $this->nRank = 0;
            $this->vRoot = $this;
        }

        function GetRoot()
        {
            if ($this->vRoot != $this)
                $this->vRoot = $this->vRoot->GetRoot();
            return $this->vRoot;
        }
    }
   
    class Kruskal
    {
        var $all_vertex = array();
        var $all_edge = array();
       
        function create()
        {
               //create
        }

        function edge_sort()
        {
            function cmp($a, $b)
            {
                if ($a->weight == $b->weight)
                    return 0;
                return ($a->weight < $b->weight) ? -1 : 1;
            }
            usort($this->all_edge, "cmp");
        }
       
        function Join(Vertex $vRoot1, Vertex $vRoot2)
        {
            if ($vRoot2->nRank < $vRoot1->nRank)
                $vRoot2->vRoot = $vRoot1;
            else {
                $vRoot1->vRoot = $vRoot2;
                if ($vRoot1->nRank == $vRoot2->nRank)
                    $vRoot1->nRank++;
            }
        }
       
        function mst_create()
        {
            $mst_vertex = array();

            $this->edge_sort();

            for ($i=0;$i<count($this->all_edge);$i++) {
                $v1 = $this->all_edge[$i]->v1->GetRoot();
                $v2 = $this->all_edge[$i]->v2->GetRoot();

                if($v1->name==$v2->name)
                    continue;
               
                $this->Join($v1, $v2);
               
                array_push($mst_vertex, $this->all_edge[$i]);
            }
            return $mst_vertex;
        }
    }

zstack安裝

1.目前IAR 8051 7.60 dirver還未支援windows 7 64bits
不過已經支援windows 7 32bits


2.版本對應
IAR 8051 7.50 → ZStack 1.4.3 → CC2430(已停產)
IAR 8051 7.51(未支援windwos 7) → ZStack 2.3.1 → CC2530
IAR 8051 7.60 → ZStack 2.4.0 → CC2530
IAR如果是下載完整版的可以用舊的keyreg破解
windows 7 開啟keyreg需要用管理員的權限開不然會錯


3.要是你是用windows 7 64bits 需要另外下載dirver
http://www.ti.com/lit/zip/swrc212


4.安裝完ZStack他的專案檔案是放在
C:\Texas Instruments\版本+硬體\Projects\zstack\Samples\SampleApp\硬體\SampleApp.eww
開啟編譯下載即可

CodeIgniter安裝

1.codeigniter 下載 http://codeigniter.com/


2.檔案裡面有
codeigniter_版本號碼
 └┬application-你撰寫存放的地方
├system-系統核心的地方(最好不要修改)
├user_guide-說明書
├index.php-設定基本參數
└license.txt-權利書


3.將application、system、index.php複製到網頁目錄

4.設定rewrite
linux:
a2enmod rewrite
windows:
修改apache的httpd.conf將
#LoadModule rewrite_module modules/mod_rewrite.so
前面的#去掉

設定完成都要重新啟動apache


5.建立.htaccess
linux:
直接在跟index.php同層打 vi .htaccess
輸入下面code存檔即可
windows:
因為windows不支援沒檔名的檔案創立
所以在application或是在system裡面都有此檔案
複製到跟index.php同層
用筆記本開起編輯

將.htaccess
內容編輯為
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

RewriteBase / 要設定為你放在跟目錄哪裡
例如:你開啟網頁的網址為http://localhost/index.php
那就是RewriteBase /
要是網址為http://localhost/CI/index.php
就要改成RewriteBase /CI/

RewriteCond %{REQUEST_URI} ^system.*
RewriteCond %{REQUEST_URI} ^application.*
是用來保護程式的假設你資料夾名稱有改
上面的名稱也要改
這樣才會保護到你的程式

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
是用來判斷是否有資料夾或是資料
例如:你在網址打http://localhost/css/
你下面沒有css的資料夾他就會導向其他地方
假設下面有css的資料夾他就不會導向

RewriteRule ^(.*)$ index.php?/$1 [L]
將RewriteBase後面的所有東西
都導向index.php?
例如: http://localhost/CI/welcome
在系統裡面就會變成 http://localhost/CI/index.php?/welcome
外面仍然是http://localhost/CI/welcome


6.設定config.php
放在application→config
將config.php裡面修改
$config['base_url']    = 'http://localhost/';
改成你自己的domain name
有放在目錄下要加上去
$config['index_page'] = 'index.php';
將index.php去除

7.設定database.php
放在application→config
將config.php裡面修改
$db['default']['hostname'] = 'localhost';//databaase的位置

$db['default']['username'] = 'root';//帳號
$db['default']['password'] = 'root123';//密碼
$db['default']['database'] = '';//資料庫名稱
$db['default']['dbdriver'] = 'mysql';//資料庫類型


8.開啟網頁
首先先輸入正常的跟目錄網址
要是看到跟下面一樣的圖
就是成功一半了
接下來就在和後面加上welcome也是跟下面一樣代表就是安裝成功了

linux SVN server + manager

需求:
linux + apache2 + php5 + mysql5
檔案下載:
安裝:
  • 首先安裝Subversion
apt-get install subversion libapache2-svn 

  • 安裝pear的VersionControl_SVN
pear install -f -o VersionControl_SVN

PS:要是出現The program 'pear' is currently not installed. You can install it by typing: apt-get install php-pear 請安裝pear
apt-get install php-pear

  • 將所下載的Svnmanager解壓縮到網頁的網址底下
  • 將裡面的config.php.linux改名成config.php
  • 建立2個檔案和2個資料夾
mkdir /var/svn
mkdir /var/svn/reops 
touch /var/svn/htpasswd
touch /var/svn/accessfile

  • 設定資料夾和檔案全限為apache可以控制
chown -R www-data.www-data /var/svn/
chown -R www-data.www-data /var/svn/reops/ 
chown -R www-data.www-data /var/svn/htpasswd
chown -R www-data.www-data /var/svn/accessfile

  • 設定apache2中的svn
vi /etc/apache2/mods-enabled/dav_svn.conf

  • 修改為
<Location /svn>
  DAV svn
    AuthType Basic
    AuthName "Subversion Repository"
    SVNParentPath /var/svn/repos
    AuthUserFile /var/svn/htpasswd
    AuthzSVNAccessFile /var/svn/accessfile
    Require valid-user
</Location>

  • 重啟apache2
/etc/init.d/apache restart

  • 設定Svnmanager的config
vi config.php

  • 將裡面修改成下面一樣
$svn_config_dir = "/var/svn/reops";
$svn_repos_loc = "/var/svn/reops";
$svn_passwd_file = "/var/svn/htpasswd";
$svn_access_file  = "/var/svn/accessfile";

$dsn = "mysqli://root:root@localhost/svn";

PS:mysqli後面為帳號:密碼@網址/資料庫名稱
  • 建立資料庫
mysql -u root -p

  • 鍵入SQL
CREATE DATABASE svn;
 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER on svnmanager.* to svnmanager identified by 'secret';
 
FLUSH PRIVILEGES;

  • 開啟網頁
  • 在開啟一次輸入預設管理帳號密碼
帳號:admin
密碼:admin
  • 創立第一個管理者帳號
PS:創立完畢admin就失效,請一定要勾選Admin
  • 創立專案
  • 設定使用者權限