Do you use a pycom board? Then add some wait. You have to wait until the *Py and the board is initialized. Sadly there is no flag or event which tells you that init is ready. So you have to find the right time for your system by your own. It will depend on firmware version and the hardware you added - especially your display.
Give 1.20 rc4 a try. This version solved my problems with i2c and pytrack
@robert-hh OK, I set up some code to try this out, several timers at different periods and several threads including one to start LTE, send an SMS and then deinit. From what I can see, the timers do NOT get interupted by the LTE device. It seems the timer counts are retained and dumped to REPL as soon as possible (buffered apparently). There is some corruption/mixup of REPL lines but all the timer flags are there
I will investigate a bit further and see if I can use this to my advantage. One thread/timer I will need will be at 11uS preferably, so as it is too fast to capture by eye, I'll have to write to a file to a file to evaluate any impact by the LTE device. Biggest constraint might be the actual time to write to disk. A FIFO data buffer is probably a good solution - some work to do there.
The test code was pretty rough and ready so its needs a lot of refinement to be truly useful as a valid test.
@robert-hh I looked at that device but I'm trying to keep my system as simple as possible so I did not pursue that option. I does, however, look like a viable alternative in the event your s/w solution was inadequate for some reason.
Besides the BMP085, all devices were on the spot = within 1 digit variance. That status was stable for 5 hours testing. Only the BMP085 was always ~0.6 °C above, but still that at the limits of it's spec.
@dr_aloui In that case it's strange. You you have an oscilloscope to look at the signal timing? The expansion board should not add any significant load to the wires, at least not to P9 and P10. The Pyboard has built-in pullup-resistors on the pins dedicated for I2C (X9/X10 and Y9/Y10). That could makes a difference.
@jcaron as of right now what I want to achieve:
Using a SCD30 sensor (which gets humidity, temperature and CO2 levels) read the data and save it, for that I intend to create (or modify based on other libraries) the library for the sensor.
I already have the adress of the sensor and the hexadecimal "commands" and I am trying to use the libraries of the Pysense sensors as a template
I understand that and get this error when I flash it, but I would also like it to link in Atom so I can build and run it right away without having to flash it.
Are you trying to connect multiple sensors to the WiPy and communicate with them via Bluetooth? Connecting multiple BLE nodes to the WiPy is possible. You can find our BLE examples here. Hope this helps, let me know if you have any questions!
@nobo23 Accirdoig to the datasheet, you can operate that device from the 3.3V output of the WiPy. That matches the signal levels of the I2C interface. Since the module has built-in pull-up resistors (if you install the jumpers), you do not have to add additional ones.