Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mrbgems/mruby-arduino/src/sKernel.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r270 r321  
    11/*
    2  * カーネル関連
     2 * カーネル関連
    33 *
    44 * Copyright (c) 2016 Wakayama.rb Ruby Board developers
     
    1717
    1818/******************************************************/
    19 /* デジタルライト*/
     19/* デジタルライト*/
    2020/*  digitalWrite(pin, value) */
    2121/*      pin*/
    22 /*              ピンの番号*/
     22/*              ピンの番号*/
    2323/*      value*/
    2424/*              0: LOW*/
     
    3434        pin = get_pin(pintype_gpio, pinno);
    3535        if (pin == NULL)
    36                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     36                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    3737
    3838        gpio_write(&pin->gpio, value);
    3939
    40         return mrb_nil_value(); /*戻り値は無しですよ。*/
    41 }
    42 
    43 /******************************************************/
    44 /* PINのモード設定*/
     40        return mrb_nil_value(); /*戻り値は無しですよ。*/
     41}
     42
     43/******************************************************/
     44/* PINのモード設定*/
    4545/*  pinMode(pin, mode) */
    4646/*  pin*/
    47 /*              ピンの番号*/
     47/*              ピンの番号*/
    4848/*      mode*/
    49 /*              0: INPUTモード*/
    50 /*              1: OUTPUTモード*/
     49/*              0: INPUTモード*/
     50/*              1: OUTPUTモード*/
    5151/******************************************************/
    5252mrb_value mrb_kernel_pinMode(mrb_state *mrb, mrb_value self)
     
    5959        pin = get_pin(pintype_gpio, pinno);
    6060        if (pin == NULL)
    61                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     61                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    6262
    6363        gpio_dir(&pin->gpio, value);
    6464
    65         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    66 }
    67 
    68 /******************************************************/
    69 /* ディレイ 強制GCを行っています*/
     65        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     66}
     67
     68/******************************************************/
     69/* ディレイ 強制GCを行っています*/
    7070/*  delay(value) */
    7171/*      value*/
    72 /*              時間(ms)*/
     72/*              時間(ms)*/
    7373/******************************************************/
    7474mrb_value mrb_kernel_delay(mrb_state *mrb, mrb_value self)
     
    7878        mrb_get_args(mrb, "i", &value);
    7979
    80         /*試しに強制gcをå
    81 ¥ã‚Œã¦è¦‹ã‚‹*/
     80        /*試しに強制gcを入れて見る*/
    8281        mrb_full_gc(mrb);
    8382
     
    8685        }
    8786
    88         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    89 }
    90 
    91 
    92 /******************************************************/
    93 /* ミリ秒を取得します: millis*/
     87        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     88}
     89
     90
     91/******************************************************/
     92/* ミリ秒を取得します: millis*/
    9493/*      millis()*/
    95 /* 戻り値*/
    96 /*      起動してからのミリ秒数*/
     94/* 戻り値*/
     95/*      起動してからのミリ秒数*/
    9796/******************************************************/
    9897mrb_value mrb_kernel_millis(mrb_state *mrb, mrb_value self)
     
    102101
    103102/******************************************************/
    104 /* マイクロ秒を取得します: micros*/
     103/* マイクロ秒を取得します: micros*/
    105104/*      micros()*/
    106 /* 戻り値*/
    107 /*      起動してからのマイクロ秒数*/
     105/* 戻り値*/
     106/*      起動してからのマイクロ秒数*/
    108107/******************************************************/
    109108mrb_value mrb_kernel_micros(mrb_state *mrb, mrb_value self)
     
    113112
    114113/******************************************************/
    115 /* デジタルリード: digitalRead*/
     114/* デジタルリード: digitalRead*/
    116115/*  digitalRead(pin) */
    117 /*      pin: ピンの番号*/
     116/*      pin: ピンの番号*/
    118117/*      */
    119118/*              0:LOW*/
     
    129128        pin = get_pin(pintype_gpio, pinno);
    130129        if (pin == NULL)
    131                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     130                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    132131
    133132        value = gpio_read(&pin->gpio);
     
    138137
    139138/******************************************************/
    140 /* アナログリファレンス: analogReference*/
     139/* アナログリファレンス: analogReference*/
    141140/*      analogReference(mode)*/
    142 /*  アナログå
    143 ¥åŠ›ã§ä½¿ã‚ã‚Œã‚‹åŸºæº–電圧を設定します*/
    144 /*      mode: 0:DEFAULT:5.0V Arduino互換, 1:INTERNAL:1.1V å†
    145 è”µé›»åœ§, 2:EXTERNAL:AVREFピン供給電圧, 3:RAW12BIT:3.3V 12ビットA/D変換を行う*/
     141/*  アナログ入力で使われる基準電圧を設定します*/
     142/*      mode: 0:DEFAULT:5.0V Arduino互換, 1:INTERNAL:1.1V 内蔵電圧, 2:EXTERNAL:AVREFピン供給電圧, 3:RAW12BIT:3.3V 12ビットA/D変換を行う*/
    146143/******************************************************/
    147144mrb_value mrb_kernel_analogReference(mrb_state *mrb, mrb_value self)
     
    165162                break;
    166163        }
    167         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    168 }
    169 
    170 /******************************************************/
    171 /* アナログリード: analogRead*/
     164        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     165}
     166
     167/******************************************************/
     168/* アナログリード: analogRead*/
    172169/*  analogRead(pin) */
    173 /*      pin: アナログの番号*/
     170/*      pin: アナログの番号*/
    174171/*      */
    175 /*              10ビットの値(0~1023)*/
     172/*              10ビットの値(0~1023)*/
    176173/******************************************************/
    177174mrb_value mrb_kernel_analogRead(mrb_state *mrb, mrb_value self)
     
    184181        pin = get_pin(pintype_analogin, anapin);
    185182        if (pin == NULL)
    186                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     183                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    187184
    188185        value = analogin_read_u16(&pin->analogin);
     
    193190#if 0
    194191/****************************************************/
    195 /* 出力ピンが並列接続されているピンとショートするかどうか調べます*/
     192/* 出力ピンが並列接続されているピンとショートするかどうか調べます*/
    196193/**/
    197 /* true: 衝突している*/
    198 /* false: 衝突していない。片方がINPUTである。*/
     194/* true: 衝突している*/
     195/* false: 衝突していない。片方がINPUTである。*/
    199196/****************************************************/
    200197bool IsWritePinCollision(int pinSub)
     
    209206
    210207/******************************************************/
    211 /* PWM出力: pwm*/
     208/* PWM出力: pwm*/
    212209/*      pwm(pin, value)*/
    213 /*      pin: ピンの番号(0,1,7,8,11,23ピンがPWM可能)*/
    214 /*       ãŸã ã—、23ピンは5ピンと24ピン短絡しているので、使用時は5ピンと24ピンをINPUTにしておく*/
    215 /*  value:      出力PWM比率(0~255)*/
     210/*      pin: ピンの番号(0,1,7,8,11,23ピンがPWM可能)*/
     211/*       ただし、23ピンは5ピンと24ピン短絡しているので、使用時は5ピンと24ピンをINPUTにしておく*/
     212/*  value:      出力PWM比率(0~255)*/
    216213/******************************************************/
    217214mrb_value mrb_kernel_pwm(mrb_state *mrb, mrb_value self)
     
    224221        pin = get_pin(pintype_pwmout, pinno);
    225222        if (pin == NULL)
    226                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     223                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    227224
    228225        pwmout_pulsewidth_us(&pin->pwmout, value);
    229226
    230         return mrb_nil_value();                 /*戻り値は無しですよ。*/
     227        return mrb_nil_value();                 /*戻り値は無しですよ。*/
    231228}
    232229#if 0
    233230/******************************************************/
    234 /* PWM周波数設定: pwmHz*/
     231/* PWM周波数設定: pwmHz*/
    235232/*      pwmHz(value)*/
    236 /*  value:      周波数(12~184999)Hz*/
     233/*  value:      周波数(12~184999)Hz*/
    237234/******************************************************/
    238235mrb_value mrb_kernel_pwmHz(mrb_state *mrb, mrb_value self)
     
    245242        pin = get_pin(pintype_pwmout, pinno);
    246243        if (pin == NULL)
    247                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     244                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    248245
    249246        if (value >= 12 && value < 18500) {
     
    254251        }
    255252
    256         return mrb_nil_value();                 /*戻り値は無しですよ。*/
     253        return mrb_nil_value();                 /*戻り値は無しですよ。*/
    257254}
    258255#endif
    259256/******************************************************/
    260 /* トーン出力停止: noTone*/
     257/* トーン出力停止: noTone*/
    261258/*      noTone(pin)*/
    262 /*  pin: ピン番号*/
     259/*  pin: ピン番号*/
    263260/******************************************************/
    264261mrb_value mrb_kernel_noTone(mrb_state *mrb, mrb_value self)
     
    269266
    270267        if (pin == 4 || pin >= 20) {
    271                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     268                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    272269        }
    273270
    274271        noTone(pin);
    275272
    276         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    277 }
    278 
    279 /******************************************************/
    280 /* トーン出力: tone*/
     273        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     274}
     275
     276/******************************************************/
     277/* トーン出力: tone*/
    281278/*      tone(pin, frequency[,duration])*/
    282 /*  pin: ピン番号*/
    283 /*  frequency: 周波数(2~62500)Hz*/
    284 /*  duration: 出力を維持する時間[ms]。省略時、0指定時は出力し続ける。*/
     279/*  pin: ピン番号*/
     280/*  frequency: 周波数(2~62500)Hz*/
     281/*  duration: 出力を維持する時間[ms]。省略時、0指定時は出力し続ける。*/
    285282/******************************************************/
    286283mrb_value mrb_kernel_tone(mrb_state *mrb, mrb_value self)
     
    293290
    294291        if (pin == 4 || pin >= 20) {
    295                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     292                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    296293        }
    297294
     
    301298                tone(pin, freq, dura);
    302299        }
    303         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    304 }
    305 
    306 /******************************************************/
    307 /* アナログDACピン初期化: initDac*/
     300        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     301}
     302
     303/******************************************************/
     304/* アナログDACピン初期化: initDac*/
    308305/*      initDac()*/
    309306/******************************************************/
     
    311308{
    312309        setPinModeDac(RB_PIN9);
    313         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    314 }
    315 
    316 /******************************************************/
    317 /* アナログDAC出力: analogDac*/
     310        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     311}
     312
     313/******************************************************/
     314/* アナログDAC出力: analogDac*/
    318315/*      analogDac(value)*/
    319 /*  value:      10bit精度(0~4095)*/
     316/*  value:      10bit精度(0~4095)*/
    320317/******************************************************/
    321318mrb_value mrb_kernel_analogDac(mrb_state *mrb, mrb_value self)
     
    330327                pin = get_pin(pintype_dac, RB_PIN9);
    331328                if (pin == NULL)
    332                         return mrb_nil_value();                 /*戻り値は無しですよ。*/
     329                        return mrb_nil_value();                 /*戻り値は無しですよ。*/
    333330
    334331                analogout_write_u16(&pin->dac, (value << 6) | (value >> 4));
     
    336333#endif
    337334
    338         return mrb_nil_value();                 /*戻り値は無しですよ。*/
     335        return mrb_nil_value();                 /*戻り値は無しですよ。*/
    339336}
    340337
     
    351348
    352349/******************************************************/
    353 /* LEDオンオフ: led*/
     350/* LEDオンオフ: led*/
    354351/*      led(sw)*/
    355352/******************************************************/
     
    369366#endif
    370367
    371         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    372 }
    373 
    374 /******************************************************/
    375 /* 乱数を得るための種を与えます: randomSeed*/
     368        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     369}
     370
     371/******************************************************/
     372/* 乱数を得るための種を与えます: randomSeed*/
    376373/*  randomSeed(value)*/
    377 /*  value: 種となる値*/
     374/*  value: 種となる値*/
    378375/******************************************************/
    379376mrb_value mrb_kernel_randomSeed(mrb_state *mrb, mrb_value self)
     
    385382        randomSeed(value);
    386383
    387         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    388 }
    389 
    390 /******************************************************/
    391 /* 乱数を取得します: random*/
     384        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     385}
     386
     387/******************************************************/
     388/* 乱数を取得します: random*/
    392389/*  random([min,] max)*/
    393 /*  min: 乱数の取りうる最小値。省略可*/
    394 /*  max: 乱数の取りうる最大値*/
     390/*  min: 乱数の取りうる最小値。省略可*/
     391/*  max: 乱数の取りうる最大値*/
    395392/******************************************************/
    396393mrb_value mrb_kernel_random(mrb_state *mrb, mrb_value self)
     
    408405
    409406/******************************************************/
    410 /* 隠しコマンドです:  El_Psy.Congroo*/
     407/* 隠しコマンドです:  El_Psy.Congroo*/
    411408/*      El_Psy.Congroo()*/
    412409/******************************************************/
     
    415412        mrb_raise(mrb, mrb_class_get(mrb, "Sys#exit Called"), "Normal Completion");
    416413
    417         return mrb_nil_value(); /*戻り値は無しですよ。*/
    418 }
    419 
    420 /******************************************************/
    421 /* ライブラリを定義します*/
     414        return mrb_nil_value(); /*戻り値は無しですよ。*/
     415}
     416
     417/******************************************************/
     418/* ライブラリを定義します*/
    422419/******************************************************/
    423420void kernel_Init(mrb_state *mrb)
Note: See TracChangeset for help on using the changeset viewer.