2016-08-21 13 views
4

私は図書館のようなコールバックを使用している参照して、ConfigurableFirmata用カスタムモジュールを書いている:で、私はかなりの機能のいくつかはブールである理由を取得して返すようにしていないConfigurableFirmataモジュール機能

void Class::handleCapability(byte pin); 
boolean Class::handlePinMode(byte pin, int mode); 
... 
boolean Class::handleSysex(byte command, byte argc, byte *argv); 

質問TRUEまたはFALSE(TRUEまたはFALSEを返すとどうなりますか?)

答えて

2

答えはFirmataExt.cppにあります。拡張がFALSEを返した場合、デバッグの目的でfirmataに文字列を送信するだけです。 コマンドが有効な場合

0
boolean FirmataExt::handleSysex(byte command, byte argc, byte* argv) 
{ 
    switch (command) { 

    case PIN_STATE_QUERY: 
     if (argc > 0) { 
     byte pin = argv[0]; 
     if (pin < TOTAL_PINS) { 
      //... 
      return true; 
     } 
     } 
     break; 
    case CAPABILITY_QUERY: 
     //... 
     return true; 
    default: 
     for (byte i = 0; i < numFeatures; i++) { 
     if (features[i]->handleSysex(command, argc, argv)) { 
      return true; 
     } 
     } 
     break; 
    } 
    return false; 
} 

この関数は、trueを返します。

関連する問題