EngineerLife

情報系の学生の学習過程を記す。

ETロボットにおける制御-まいまい式-

ライントレースを行う際に、重要なのは外乱光への対応です。

照明の当たりかたなどによって、光センサから取得される
黒線の明るさや白の明るさが、コース上で大きく異なることもよくあります。
さらに、コース上にできるロボット自身の影によっても光センサから取得される値が

変わります。

ライントレースを行う際には閾値を利用してライン上の黒線と白地を認識しているのですが、
外乱光によって取得される光センサの値が変わってしまうと、
この白と黒の認識がうまく行えなくなります。

外乱光に対応するために、まいまい式というのが提案されています。
まいまい式に関しては以下のブログが詳しいです。

すねいる ETロボコン日記 
http://www.chihayafuru.jp/etrobo/?p=1349

さらに、まいまい式のサンプルコードも公開されています。
http://www.chihayafuru.jp/etrobo/?p=1326


このサンプルコードを参考に、TECS上でまいまい式を実装しました。

20ms周期で光センサに搭載されているLEDのon/offを繰り返して、LEDオン時の光センサの値とLEDオフ時の光センサの差分を利用しています。
今回、10ms周期で動く、ライントレースを行うタスク(tLinetracerTaskBody.c)上に実装しました。
以下がそのサンプルコードです。


if(count%4==0){
   //LEDon時の光センサの値を取得
    cLightSensor_getValue(&lightUpperd);
    cLightSensorControl_off();
  }else if(count%4==2){
   //LEDoff時の光センサの値を取得
    cLightSensor_getValue(&lightDowned);
    cLightSensorControl_on();
  }

  if(lightUpperd != 0 && lightDowned != 0){
    light = VAR_lightThreshold;
   
    if(lightDowned - lightUpperd > 0){
      lightDiff = lightDowned - lightUpperd;
    }else{
      lightDiff = 0;
    }

   
    k = (1.0382e-3 * lightDowned - 6.3295e-1) * lightDowned + 1.1024e+2;
    //LEDon時を基準に補正
    brightness = (float32_t)200 + (float32_t)(lightUpperd - lightDiff * 450 / k);
    light=(uint16_t)(brightness);
  }
  count++;


TECS上で光センサのLEDをオン/オフ操作は、
    cLightSensorControl_off();
    cLightSensorControl_on();
で出来ます。

タスクが一度立ち上がるたびにcountを加算し、その値を4で割ったあまりを使って
20ms周期にLEDの値を取得しています。
ライントレースを行うタスクの周期を8msや、6msにしてみましたが、
光センサから取得される値が安定しませんでした。
光センサの値を取得する周期タスクを別で立てたほうがいいかもしれません。

補正係数kはサンプルコードの値を利用させていただきました。
サンプルコードでは、コース明度の計算をlightDiff / kとされていましたが、
LEDon時に取得される光センサの値を基準に、扱い易くするため適当な値(200, 450)を用いて補正しています。

まいまい式を利用したことで、コースの一部にライトを当てても、
室内の蛍光灯を消したりつけたりしても、ラインを認識することができるようになりました。

ETロボットにおける制御

ロボットの動作、特に速度を競うようなロボコンにおいて、制御はとても重要です。

制御として、最も有名なPID制御について今回説明します。

 

PID制御とは

f:id:u_ki49:20131031143607p:plain

 

[wiki]PID制御(ピーアイディーせいぎょ = Proportional Integral Derivative Controller)は、フィードバック制御の一種であり、入力値の制御を出力値と目標値との偏差、その積分、および微分の3つの要素によって行う方法のことである。制御理論の一分野をなす古典制御論の枠組みで体系化されたもので長い歴史を持っている。フィードバック制御の基礎ともなっており、様々な制御手法が開発・提案され続けている今に至っても、過去の実績や技術者の経験則の蓄積により調整を行いやすいため、産業界では主力の制御手法であると言われている。

 

となっています。

ちなみに、

  です。

PID制御ですが、一言で言うと、現在と過去の状態と未来の状態を予測して制御量を決める制御です。

 

詳しくは、以下のページに書いてあります。

 

参考にしたページ

@IT MONOist [滑らかで安定したライントレースを実現する (1/2)]http://monoist.atmarkit.co.jp/mn/articles/1007/26/news083.html

TECS講座2

周期タスク(複合セルタイプ(複合コンポーネント))について。

TECSでは、利用者が周期タスクを生成するだけで勝手に周期的に動作してくれるタスクが存在する。

 

周期タスクを使う上で必要なのが組み上げ記述です。

以下にコードを示す。

 

 cell tCyclicTask CounterTask{

 /* 周期タスクの属性の設定:カーネル起動時の周期タスクの状態

  * TA_STA:起動, TA_NULL(デフォルト):休止状態

  */

 cyclicAttribute = C_EXP(“TA_STA”); 

 /* 起動周期(ミリ秒) */

 cyclicTime = 1000;

 /* 起動位相 */

 cyclicPhase = 1;

 /* タスクの優先度 */

 priority = 5;

 /* スタックサイズ */

 stackSize = 1024;

 /* タスク処理本体と結合 */

 cBody = CounterTaskBody.eBody;

};

 

ETロボコンでは、ライントレースを行う上で周期的にセンサ値を取得し、動作に結び付けなければいけない。

そのような際に、周期タスクが便利である。

 

TECS講座

 

まずはじめに、TECSの基礎から。

以下の図で示すものが、TECSコンポーネントである。

TECSを利用する上で絶対に必要な知識なので覚えておこう。

 

f:id:u_ki49:20131031124953p:plain

セル(コンポーネント インスタンス)は

– 呼び口、受け口を持つ

– 属性、内部変数を持つ(図示しない)

– セルタイプに属する(セルタイプコードとして振舞いを記述)

– 名前が付けられる

– (イベント、メッセージを扱うようなものはない.時間制約等もない)

 

次に重要なのが、シグニチャ記述と呼ばれるもので、これはいわゆるインタフェース記述である。

(例)

signature sSoundController{

    void soundOn([in] int32_t type);

};

引数の入出力方向の指定は次の様に書きます。

– in ...関数への入力

– out ... 関数からの出力

– inout ... 関数の入力/出力

例のコードでは、関数へint32_t型の引数を入力している。

 

このシグニチャを使ってセルタイプつまりコンポーネントの定義を行います。

イメージとしては、コンポーネント間を繋いでくれる橋みたいなもの!

(例)

celltype tApp{

 call sFile cCallPort;

}

celltype tFile{

 entry sFile eEntryPort

}

 

 

 

VirtualBoxでMac標準搭載のBluetoothをホストのWindows7で使う方法

[Mac]VirtualBoxでMac標準搭載のBluetoothをホストのWindows7で使う方法
環境
 MacbookAir(Mid 2013)
 ホストOS OS X Mountain Lion
 ゲストOS Windows7 64bit
 Oracle VirtualBox 4.2.16 
 
WindowsでBluetoothを利用できるようにする手順
1. Mac側でBluetoothを切る
 

f:id:u_ki49:20131031141445p:image

 
2. ターミナルを起動し
 sudo kextunload -b com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport 
(*1)
 
*自分のMacBookAirではcom.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport がなくなってた?
kextstat で探す 
 
 
 
4. VirtualBoxでUSBアイコンをクリックして「Apple Inc. Bluetooth USB HostController」をチェック
 

f:id:u_ki49:20131031141452p:image

 
5. Windowsの「デバイスとプリンター」で未指定に「Bluetooth USB Host Controller」が出現する。
 

f:id:u_ki49:20131031141504p:image

 
6. デバイスマネージャを開いて、ほかのデバイスの「Bluetooth USB Host Controller」を右クリック、ドライバーソフトウェアの更新
 

f:id:u_ki49:20131031141448p:image

 
7. 「コンピュータを参照してドライバー ソフトウェアを検索します」をクリック
8. 「このコンピュータ上のデバイスドライバーの一覧から選択します」で「Bluetooth無線」
9.  製造元を「Broadcom」、モデルを「BCM2033 Bluetooth 2.4GHz Single Chip Transceiver」に設定し次へ(*2)
 

f:id:u_ki49:20131031141458p:image

 
10. 「ドライバーの更新警告」ダイアログが出現するが無視して「はい」を押す
11. 「ドライバーソフトウェアが正常に更新されました」となり、デバイスとプリンタのデバイスに「Bluetooth USB Host Controller」が出現
 

f:id:u_ki49:20131031141455p:image

 
 
これでWindows上でBluetoothが利用可能になる。
(ファイル転送しかテストしていないのでその他の機能が正常に動くかどうかは不明)
 
 
MacでBluetoothを利用できるようにする復帰手順
1.VirtualboxでUSBアイコンをクリックして「Apple Inc. Bluetooth USB HostController」のチェックを外す
2.ターミナルから
sudo kextload -b com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport
3. Bluetoothを入に
 
これでWindows上でBluetoothは使えなくなり、Macで使えるようになる
以上
 
参考
 
(*1)これを行わないと以下の様なエラーメッセージが出現する
 

f:id:u_ki49:20131031141501p:image

 
Failed to attach the USB device Apple Inc. Bluetooth USB HostController[0066] to Bluetooth USB Host Controller with
UUID {******} is in use by someone else.
 
(*2)モデルは適当に選んだので本当にこれでいいかはよくわからない
 
 

TECS環境構築-ERROR編part2-

前の記事で書いていたERRORの回避策を示す。

回避策は、2つある。

1つ目は、Cygwinのバージョンを1.71にする。

2つ目は以下の通りである。

-----------------------------------------------------------

回避方法としては、以下の環境変数を設定してください。

% export TECS_CPP="arm-none-eabi-gcc -E -D TECS"

デフォルトでは C pre-processor として gcc が使われます。
この結果、システムのヘッダファイルとして gcc のレジデント用のものが使用
されてしまいます。

arch/gcc/tool_stddef.h から include している /usr/include/limits.h をた
どっていくと
stdint.h が include されていました。
一方、arm-2009q1/arm-none-eabi/include/limits.h からは stdint.h は
include されていないようです。
環境変数を設定することで、ヘッダのサーチパスが変わり arm 用の limits.h
が取り込まれます。

なお、古い環境でビルドする場合も、上記の環境変数を設定するほうが、より正
確なビルドができると言えそうです。
回避策としては、 -I で arm のものを指定することも考えられます。

-----------------------------------------------------------

 

TECS環境構築-ERROR編-

cygwinの最新版でTECS環境を構築するとエラーが起きる。

 

ERRORの内容としては、以下のように表示される。

 

$ make
tecsgen version 1.1.0.2 copyright(c) 2008-2012, TOPPERS project
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:159:0: warning: "INT8_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:132:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:160:0: warning: "INT8_MIN" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:127:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:161:0: warning: "UINT8_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:137:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:163:0: warning: "INT16_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:133:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:164:0: warning: "INT16_MIN" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:128:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:165:0: warning: "UINT16_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:138:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:167:0: warning: "INT32_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:134:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:168:0: warning: "INT32_MIN" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:129:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:169:0: warning: "UINT32_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:139:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:171:0: warning: "INT64_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:135:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:172:0: warning: "INT64_MIN" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:130:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:173:0: warning: "UINT64_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:140:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:175:0: warning: "INT_LEAST8_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:149:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:176:0: warning: "INT_LEAST8_MIN" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:144:0: note: this is the location of the previous
definition
In file included from ../../target/mindstorms_nxt_gcc/target_stddef.h:62:0,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
../../arch/gcc/tool_stddef.h:177:0: warning: "UINT_LEAST8_MAX" redefined
[enabled by default]
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.7.3/include/stdint.h:3:0,
from /usr/include/sys/cdefs.h:45,
from /usr/include/features.h:14,
from /usr/include/limits.h:14,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:169,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i686-pc-cygwin/4.7.3/include-fixed/limits.h:34,
from ../../arch/gcc/tool_stddef.h:81,
from ../../target/mindstorms_nxt_gcc/target_stddef.h:62,
from ../../include/t_stddef.h:68,
from ../../include/kernel.h:67,
from ../../include/tecs_kernel.h:1,
from gen/tmp_C_src.c:1:
/usr/include/stdint.h:154:0: note: this is the location of the previous
definition
make: *** [tecs.timestamp] Error 1