You are reading a single comment by @Mrbbp and its replies.
Click here to read the full conversation.
-
@Robin
i give you more off my onInit()const onInit = function() { clearInterval(); clearWatch(); pinMode(B6, 'opendrain'); pinMode(B7, 'opendrain'); require("Font4x6").add(Graphics); /* rajouter les init de connexion pour le display */ // initialisation I2C I2C1.setup({scl: B6,sda: B7}); // rouge try { I2C1.writeTo(0x70, 0x21); // turn on oscillator } catch(e) { I2C1.setup({scl: B6,sda: B7}); setTimeout(function() { console.log("try again"); try { I2C1.writeTo(0x70, 0x21); // turn on oscillator } catch(e) { console.log("does not init",e); } }, 500); } console.log("init I2C"); // init suite I2C I2C1.writeTo(0x70, 0x81); // display on I2C1.writeTo(0x70, 0xE0 | 0); // luminosité 0-15 digitalPulse(LED2,1,20); setTimeout(envoieMatrice, 2000); };
and the output.
It does not loop
it try once as in the code
if i well understand, it fail on the first communicationinit I2C Uncaught InternalError: Timeout on I2C Write BUSY at line 1 col 541 ... I2C'),I2C1.writeTo(112,129),I2C1.writeTo(112,224),digitalPu... ^ in function called from system try again does not init InternalError: InternalError: Timeout on I2C Write BUSY >
Thr 2019.12.19
Hello @Mrbbp, would you be so kind as to upload the output for the above snippet? Although L1,L2,L3 and L13 are not adding any value here, (as I2C is not setup by L2, an immediate error should be thrown - maybe the intention of the outer try/catch?) the output should fill multiple "try again" messages with two bytes placed on the I2C bus each 100msec, unless/until an error is detected, in which case "does not init < error msg detail here >" should display.
Effectively, you have the looping mechanism you are after. 100msec may be too fast for the left hand console panel of the WebIDE to keep up though.
Any additional detail in the WebIDE console output?
WebIDE >> Settings >> Console