2014年11月24日

error: unknown field 'disable_11b_rates' specified in initializer

error: unknown field 'disable_11b_rates' specified in initializer

http://blog.csdn.net/yusiguyuan/article/details/16829299

2014年10月29日

Beagle Board xm Wifi solution





Linux:

Belkin Micro Wi-Fi USB dongle on the BeagleBoard




BeagleBoard系統安裝 -

艾鍗學院筆記

http://ittrainingitblog.blogspot.tw/2013/11/beagleboard-1.html


BeagleBoard Ralink Wifi USB with Buildroot


http://stackoverflow.com/questions/11605159/beagleboard-ralink-wifi-usb-with-buildroot








Android:

Audio and Wifi disabled for Beagle board Xm



Android 系統開發流程- Beagle 開發板之移植 - 國立交通大學

http://speed.cis.nctu.edu.tw/~ydlin/miscpub/EVChang-BeaglePorting.pdf


BeagleBoard-xMのAndroidにUSB WiFiをつないでみるの続きの続きをやってみる [beagleboard]

http://s15silvia.blog.so-net.ne.jp/2012-08-09



http://wireless-hifi.blogspot.tw/2011/05/installing-android-on-beagleboard-xm.html







崑 山 科 技 大 學 電腦與通訊系 四技部專題製作報告BeagleBoard XM &Android 作業系統移植

http://webcache.googleusercontent.com/search?q=cache:ZI9e-W0y3MUJ:ir.lib.ksu.edu.tw/bitstream/987654321/18946/2/%25E5%25B0%2588%25E9%25A1%258C%25E8%25A3%25BD%25E4%25BD%259C.pdf+&cd=22&hl=zh-TW&ct=clnk&gl=tw





Installing a USB Bluetooth dongle on a Beagleboard xM running Android ICS

http://antweb.me/index.php/blog-reader/items/installing-a-usb-bluetooth-dongle-on-a-beagleboard-xm-running-android-ics.html


Androidを載せたbeagleboard-xmをWiFi APにするまで(其の壱)
http://d.hatena.ne.jp/samehada_shiro/20111229/1325149643



Banging my head against WiFi

https://groups.google.com/forum/#!msg/beagleboard/trEB90S_V28/x-MRr21PojYJ



Ath9khtc with Atheros AR9271 on angstrom
USB Keyboard and Mouse not working with BeagleboardxM

http://www.linuxhospital.com/read/nintendo-ds-with-android/9.html


Porting WG7310 wifi driver with Android on beagle board
http://blog.xuite.net/chienhsu/gossip/26643358





2014年8月10日

Ubuntu 12.10 LTS Gnome 安裝

Ubuntu 12.10 LTS Gnome 安裝


Ubuntu 軟體中心->搜尋Gnome->安裝GNOME Desktop Environment->輸入帳戶密碼安裝->選lightgdm->重開機

or

sudo apt-get install gnome


Ubuntu 12.04 LTS 1920x1080 VMWare

Ubuntu 12.04 LTS 1920x1080 VMWare




但上述安裝Gnome後還是會跑掉


加入指令即可

2014年7月27日

Beagleboard-xm NTP程式


Beagleboard-xm NTP程式

 
 
   1: #include<stdio.h>
   2: #include<stdlib.h>
   3: #include<string.h>
   4: #include<errno.h>
   5: #include<unistd.h>
   6: #include<sys/types.h>
   7: #include<sys/socket.h>
   8: #include<sys/time.h>
   9: #include<linux/in.h>
  10:  
  11: /*Used to set NTP protocol version*/
  12: #define NTP_Version 0x4
  13: /*Sets NTP mode to client*/
  14: #define Mode_Client 0x3
  15: /*NTP counts time from 1-1-1900, we must subtract 70 years to go to epoch*/
  16: #define _1_1_1970_ 0x83AA7E80
  17:  
  18: /*Message structure for NTP message according to rfc4330*/
  19: typedef struct struct_sntp_msg{
  20:   unsigned char LI : 2;
  21:   unsigned char VN : 3;
  22:   unsigned char Mode : 3;
  23:   unsigned char Stratum;
  24:   unsigned char Poll;
  25:   unsigned char Precision;
  26:   unsigned int root_delay;
  27:   unsigned int root_dispersion;
  28:   unsigned int ref_id;
  29:   unsigned int ref_timestamp;
  30:   unsigned int ref_timestamp_nanosecs;
  31:   unsigned int orig_timestamp;
  32:   unsigned int orig_timestamp_nanosecs;
  33:   unsigned int rx_timestamp;
  34:   unsigned int rx_timestamp_nanosecs;
  35:   unsigned int tx_timestamp;
  36:   unsigned int tx_timestamp_nanosecs;
  37:   unsigned int key_identifier;
  38:   unsigned char msg_digest[16];
  39: } sntp_msg;
  40:  
  41: /*Creates an NTP message, Using empty transmission time, since we will sync
  42: with the time of the server, we dont a big precision therefore we will not use
  43: the algorithms specified in RFC4330*/
  44: int fillReqMessage (sntp_msg *outMsg){
  45:   if(outMsg==NULL){
  46:     return -1;
  47:   }
  48:   memset(outMsg, 0x0, sizeof(sntp_msg));
  49:   outMsg->LI = 0x3; //clock not synchronized
  50:   outMsg->VN = NTP_Version;
  51:   outMsg->Mode = Mode_Client;
  52:   return 0;
  53: }
  54:  
  55: /*Sets the system time based on the epoch value*/
  56: int set_SystemTime(unsigned int epoch){
  57:   struct timeval tv;
  58:   struct timezone tz;
  59:   memset(&tv, 0x0, sizeof(struct timeval));
  60:   /*Timezone value is considered in the epoch time and we ignore DST*/
  61:   memset(&tz, 0x0, sizeof(struct timezone));
  62:   tv.tv_sec = epoch;
  63:   if( settimeofday(&tv, &tz) == -1){
  64:     fprintf(stderr,"Failed to gettimeofday %s \n",strerror(errno));
  65:     return -1;
  66:   }
  67:   else
  68:     return 0;
  69: }
  70:  
  71: int main (int argc, char* argv[]){
  72:   
  73:   int offset = 0;
  74:   //Parsing cmdLine
  75:   if(argc != 2){
  76:     fprintf(stdout,"\t/******************************************************/\n");
  77:     fprintf(stdout,"\t/*                                                    */\n");
  78:     fprintf(stdout,"\t/*                   USAGE                            */\n");
  79:     fprintf(stdout,"\t/*                                                    */\n");
  80:     fprintf(stdout,"\t/*      ./timesync TIMEZONEOFFSET                     */\n");
  81:     fprintf(stdout,"\t/*                                                    */\n");
  82:     fprintf(stdout,"\t/*    TIMEZONEOFFSET minutes to add/remove to GMT     */\n");
  83:     fprintf(stdout,"\t/*                                                    */\n");
  84:     fprintf(stdout,"\t/*                                                    */\n");
  85:     fprintf(stdout,"\t/******************************************************/\n");
  86:     return 0;
  87:   }
  88:   else{
  89:     /*Saving offset in minutes*/
  90:     offset = atoi(argv[1]);
  91:   }
  92:  
  93:  
  94:   sntp_msg outMsg;
  95:   sntp_msg inMsg;
  96:   int sock = 0;
  97:   unsigned int epochTime = 0;
  98:   struct sockaddr_in ntpaddr;
  99:   memset(&ntpaddr, 0x0, sizeof(struct sockaddr_in));
 100:   ntpaddr.sin_family = AF_INET;
 101:   /*Setting IP address of ntp server*/
 102:   inet_aton("95.130.9.63",&(ntpaddr.sin_addr.s_addr));
 103:   /*Setting port for NTP protocol*/
 104:   ntpaddr.sin_port = htons(123);
 105:   
 106:   /*Create the message*/
 107:   if(fillReqMessage(&outMsg)){
 108:     fprintf(stderr,"Failed to create Message\n");
 109:     return -1;
 110:   }
 111:   /*Creating the socket*/
 112:   if( ( sock = socket(AF_INET, SOCK_DGRAM, 0 ) ) == -1){
 113:     fprintf(stderr,"Failed to  open socket %s \n",strerror(errno));
 114:     return -1;
 115:   }
 116:   /*Connecting the socket*/
 117:   if( connect( sock, (struct sockaddr*) &ntpaddr, sizeof(struct sockaddr) ) < 0 ){
 118:     fprintf(stderr,"Failed to connect socket %s \n",strerror(errno));
 119:     close(sock);
 120:     return -1;
 121:   }
 122:   /*Sending*/
 123:   if( send( sock, (void*) &outMsg, sizeof(sntp_msg), 0 ) != sizeof(sntp_msg) ){
 124:     fprintf(stderr,"Failed to tx %s \n",strerror(errno));
 125:     close(sock);
 126:     return -1;
 127:   }
 128:   /*Receiving from the socket, we will just wync our clock with the server time
 129:   we dont anymore precision*/
 130:   if( recv( sock, (void*) &inMsg, sizeof(sntp_msg), 0 ) ==-1){
 131:     fprintf(stderr,"Failed to rx %s \n",strerror(errno));
 132:     close(sock);
 133:     return -1;
 134:   }
 135:   /*Cleaning up*/
 136:   if( close(sock) == -1){
 137:     fprintf(stderr,"Failed to close socket %s \n",strerror(errno));
 138:     return -1;
 139:   }
 140:   
 141:   /*Reinterpreting received info*/
 142:   //fprintf(stdout,"Updated Time is: 0x%X %u\n",ntohl(inMsg.tx_timestamp),(unsigned int) ntohl(inMsg.tx_timestamp));
 143:   /*unix time measures time in seconds from 1-1-1970 whereas NTP measures time
 144:   in seconds from 1-1-1900 (RFC4330), to convert we must remove 70 years in
 145:   seconds and finally add the offset in seconds from GMT*/
 146:   epochTime = ntohl(inMsg.tx_timestamp) - _1_1_1970_ + (offset*60);
 147:  
 148:   /*Updating System time and date*/
 149:   if( set_SystemTime(epochTime) == -1 )
 150:     return -1;
 151:  
 152:   
 153:   fprintf(stdout,"Updated Time is: %u\n",epochTime);
 154:  
 155:   return 0;
 156: }
 157:  
 158:  




三軸加速度計ADXL345



Analog


ADXL345

http://www.analog.com/en/ADXL345

2014年6月15日

note

http://forums.dearhoney.idv.tw/viewtopic.php?f=3&t=52072



2014年3月27日

& 0xFF的意思



& 0xFF的意思


只取後面8bit的意思

int 的長度是 4Bytes, & 是 and 運算子,就是將
每個位元拿來進行 and 運算,根據 and 運算的規則
只有兩者皆為 true (1) 的結果才為 1

假設這個 i 是 12345 => 0x3039 (Hex)

i & 0xFF

0x3039=>0011000000111001(Bin)
0xFF =>0000000011111111
____________________________
結果:  0000000000111001

由於前面的 bits 都是 0 ,所以實際上有用的只有後面的 8 bits



Reference:

http://acm.nudt.edu.cn/~twcourse/BitwiseOperation.html

http://programming.im.ncnu.edu.tw/Chapter5.htm

2014年2月14日

note 140214




M1~5  1um = 1mA
M6  , 1um = 1.6mA

電感距離 30~50



Vth~0.5V

2014年2月11日

VCO note






1.架構:Class-B , Class-C , Class-D , Class-B/C ...

               push-push , colit..,


2.省電:transformer  , current-reuse , bulk-driven tech , base 順向偏壓

3.雜訊抑制

4.調變方式:switch inductor /capacitor  / resonant

5.chip area