Avatar for user127454


Member since Apr 2021 • Last active Jul 2022
  • 3 conversations

Most recent activity

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454

    The air is filled with wifi and bluetooth devises at my office, so during the day the console over BLE is not very stable, it keeps disconnecting. Evenings its better.

    So I had a go at the serial console, this worked so so.
    On my Windows computer with chrome, it all works ok.
    But on the Mac with chrome the baudrate is wrong. The port seam to open with 115200 instead of 9600.
    But if I in a terminal run "sudo stty -f /dev/cu.usbserial-AM00LOVW 9600" just after pressing connect in the WebIDE, it makes contact.

    While I can get it working, it also failes on downloads every now and then, specially to flash.
    ">New interpreter error: UART_OVERFLOW"

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454

    2v14 works like a charm :-)

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454

    So I have found an issue.
    Pixel.js firmware v1.12 does not get out of memory, but it can not find the names of the devices.
    v1.13 finds the names of my devices but runs out of memory quick.
    Will download earlier version an see if I can find a firmware version where both work.

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454


    I am attempting to make a display that shows the status of a BLE device, using a Pixel.JS.
    The BLE device is a relay working much like an eggtimer.
    In the advertisement package the timer value is included.
    So the display just needs to listen to the advertisements, filter out the right device, and show this value on the screen.

    Add in a menu for the use to select the device to show.

    I have been over this for a week now and as soon as I put it all together I quickly get "Execution Interrupted" and "New interpreter error: MEMORY" along with some more messages.

    The idéa is based on the example for the Pixel.JS

    I have attached the current version of the code.
    This does not print the values on the display yet, I simple connect over BLE and run consol.log(macs,TimerValue) to view what the current collected values are.

    I have done several version of this.
    This one only uses NRF.findDevices with a filter for manufacturer 0xFFFF, as that is what this device advertises as at this stage.
    I have also tried making a variant uset NRF.setScan() with simmilar filters, where I exit as soon as one advertisement packets has arrived, then wait 30s before doing this again.
    The result is the same.

    I have also tried running this by "download to ram", "download to flash" and changing things to use save() to free up more ram.
    The result is the same.
    After a short while, say 2-3minutes, the device is gone and out of memory.

    When I tested the Pixel.js example I could get the "same" problem. The example updates the display every 60s. Setting the update to say 10s would make that example fail to.

    Any help or comments would be appreciated.

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454

    Is it not funny how things always resolve themself as soon as you ask a question??

    Found the problem, just a line that checked a data version of the ruuvi sensor and exited...

    It now works as expected :-)

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454

    I used the filters in the findDevices function before but changed to dealing with it myself, if the manufacturer code is not 0x8282 it just prints the mac adress on the console, but if if it is 0x8282 it processes it for the screen.

    I added the active: true but it made no difference.

  • in Puck.js, Pixl.js and MDBT42
    Avatar for user127454

    This might no be a espruino problem, but someone might be able to help.

    I have a couple of Pixel.js units that are to display a value from a BLE advertisement packet.
    For testing I used some Ruuvi sensors and this works just fine, the script builds an array of senders mac addresses and reads out the temperature and humidity, and then updates the display.

    But then I got the real device we will listen to. This is based on a BlueGiga BLE112 module running a bgscript.
    I have no problems finding the device with the Lightblue app on iOS etc.
    I can also see the device just fine with Wireshark and the Adafruit BLE sniffer. I have attached a short pcap file with this data.
    But the Espruino will not see this device, or, after days of testing the Pixel.js has found the device once, thats it.

    The data sent has manufacturer id set to 0x8282 for this test.
    The first 4 bytes of the manufacturer data is a timer value in seconds, then some flags and the last byte is a signature that always reads 0xDB.

    The espruino script is a bit messy but this is in a testing phase... :-)