Open dynamis opened 4 years ago
現在の microBitBle.printLED() は以下のコード実装で引数が文字列型でなければ ptext.subscribe is no a function エラーで停止する。初学者は数字を表示するときに数値型データを入力しがちであるがこの原因を特定して修正するのは困難なので、数値型の場合 (または任意の toString() メソッドを持つオブジェクト) も受け側で型変換して動くようにしたい。
ptext.subscribe is no a function
https://github.com/chirimen-oh/chirimen-micro-bit/blob/master/polyfill/microBitBLE.js#L289-L291
async function printLED(ptext) { return await printLedInt(mbBleUart, ptext); }
https://github.com/chirimen-oh/chirimen-micro-bit/blob/master/polyfill/microBitBLE.js#L1096-L1111
async function printLedInt(mbBleUart, ptext) { // MAX strLen:19 (sendVal: L012345678901234567) リミッターを設けた(2019/8/30) ptext = ptext.substring(0, 18); if (debugLog) { console.log("printLED:", ptext); } var ret = await mbBleUart.sendCmd2MicroBit("L" + ptext); if (ret == null) { console.error("mbBLE com error..."); return; } if (debugLog) { console.log("printLED:", ret); } return ret; }
現在の microBitBle.printLED() は以下のコード実装で引数が文字列型でなければ
ptext.subscribe is no a function
エラーで停止する。初学者は数字を表示するときに数値型データを入力しがちであるがこの原因を特定して修正するのは困難なので、数値型の場合 (または任意の toString() メソッドを持つオブジェクト) も受け側で型変換して動くようにしたい。https://github.com/chirimen-oh/chirimen-micro-bit/blob/master/polyfill/microBitBLE.js#L289-L291
https://github.com/chirimen-oh/chirimen-micro-bit/blob/master/polyfill/microBitBLE.js#L1096-L1111