Avatar for jlawson

jlawson

Member since Sep 2013 • Last active Feb 2020
  • 4 conversations
  • 31 comments

Most recent activity

  • in General
    Avatar for jlawson

    It seems that as of 2v04.319 on both Linux and original Espruino Board 1.3, an undefined
    variable does not result in a "UncaughtReference Error" message.

     ___                 _ 
    |  __|___ ___ ___ _ _|_|___ ___ 
    |  __|_ -| . |  _| | | |   | . |
    |____|___|  _|_| |___|_|_|_|___|
             |_| espruino.com
     2v04.318 (c) 2019 G.Williams
    
    Espruino is Open Source. Our work is supported
    only by sales of official boards and donations:
    http://espruino.com/Donate
    
    >d
    Uncaught ReferenceError: "d" is not defined
     at line 1 col 1
    d
    ^
    >
    
     ____                 _ 
    |  __|___ ___ ___ _ _|_|___ ___ 
    |  __|_ -| . |  _| | | |   | . |
    |____|___|  _|_| |___|_|_|_|___|
             |_| espruino.com
     2v04.319 (c) 2019 G.Williams
    
    Espruino is Open Source. Our work is supported
    only by sales of official boards and donations:
    http://espruino.com/Donate
    
    >d
    >
    
    
  • in Pico / Wifi / Original Espruino
    Avatar for jlawson

    @Robin Thanks for the pointers. I did have a bit of trouble with that bit.

  • in Pico / Wifi / Original Espruino
    Avatar for jlawson

    @Gordon I finally got time to implement your suggestions and the results were all consistent with a clock that is running way too fast so I tried it on a second Espruino board and the code worked fine.
    No errors on load() except the occasional I2C bus confusion from the previous

    I think this particular board may just require a longer delay for the LSE clock to settle down as it works once powered and then the reset button pressed.

    This is probably due to borderline capacitance on the 32.768KHz crystal circuit (which I had added).

    So, it appears that resetting the time and then immediately creating intervals does work.

    Thanks,
    Jamie

  • in Pico / Wifi / Original Espruino
    Avatar for jlawson

    Hi,
    The following (much cut down) code works fine when uploaded from the IDE but after using save() and power cycling it appears as if setInterval has no effect. The LCD and clock then update as quickly as possible (the clock goes through a day in about 6 seconds).

    On power-up or after using load() it exhibits this problem.
    However, if I then press the physical reset button or use E.reboot() from the IDE it will run properly.

    I may just be that I'm not setting things up properly for using save() with setInterval (I rarely use save).

    This is on an original Espruino board with added 32.168kHz crystal.
    Firmware is version 2v03.21 but with some fonts compiled in.

    Any ideas?
    Thanks,
    Jamie

    let data_rec = Array(7)
    let lcd = undefined
    let Tmin = undefined
    let Tmax = undefined
    
    function LCD_init(spi) {
      let lcd = require("PCD8544").connect(spi,A6,B0,B1,­ function() {
        lcd.clear()
        lcd.flip()
        }
       )
      return lcd
    }
    
    function LCD_update() {
      lcd.clear()
      let d = new Date().toISOString()
      // split the datetime string to fit the screen
      lcd.drawString(d.split('T')[0].replace('­-','.').replace('-','.'),0,0)
      lcd.drawString(d.split('T')[1].split('.'­)[0],50,0)
      // update display with data
      lcd.drawString(data_rec[6],20,20)
      lcd.flip()
    }
    
    function data_update() {
      // updates the data_rec with data from other sources
      data_rec[6]=analogRead(C1)*3.3*3/2
    }
    
    function onInit() {
      clearInterval()
      clearWatch()
    
      // initialize the rtc from the DS3231
      I2C1.setup({sda:B9,scl:B8})
      rtc = require("DS3231_J").connect(I2C1)
      let t = rtc.timeArray()
      setTime((new Date(t[0],t[1]-1,t[2],t[3],t[4],t[5],0).­getTime())/1000)
      data_rec = [new Date(), 0,0, 0.0, 0.0, 'K', 1, 0.0]
    
      // initialize the LCD
      SPI1.setup({sck:A5, mosi:A7})
      lcd = LCD_init(SPI1)
      setTimeout(function() {
        setInterval(LCD_update, 500)
        }, 1000)
    
      // timeout used here to allow for the initial data reading to complete
      setTimeout(function () {setInterval(data_update,1000)}, 1500)
    }
    
  • in General
    Avatar for jlawson

    Ordered. It will be available in Canada on the same date as the UK release.

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

    @Gordon "wrong code received" came from the CSR software off the CD that the dongle came with. I have removed all that and it now works very well using the built in Bluetooth.

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

    FWIW I tried a Win 10 64-bit laptop with a built in Bluetooth radio (Intel) and it didn't see the Puck. So I disabled the built in Bluetooth radio and tried a CSR 4.0 dongle. The CSR saw the Puck but would not work past that point ("wrong code received").
    I then removed the CSR drivers and re-enabled the built in Bluetooth radio and the Puck still could not be found but it now it does show up in Device Manager and the standalone web IDE just works fine.

Actions