• Yes, you'd expect simple_uart to work because that's not trying to get the CCCD characteristic.

    Please could you try running this? It should dump all the info Espruino knows about the device:

    var device,gatt;
    const feather = "ff:8d:05:ae:17:64 random"; // Change me!
    
    NRF.requestDevice({ filters: [{ id: feather }] }).then(function(d) {
      device = d;
      console.log("Connecting");
      return device.gatt.connect();
    }).then(function(g) {
      gatt = g;
      console.log("Connected");
      return gatt.getPrimaryServices();
    }).then(function getServices(services) {
      if (services.length==0) return;
      let service = services.shift();
      print(`Service ${service.uuid} ${service.start_handle}=>${service.end_handle}`);
      return service.getCharacteristics().then(characteristics => {
        if (characteristics===undefined)
          print("  No Characteristics");
        else characteristics.forEach(char => {
          print(`  Characteristic ${char.uuid} ${char.handle_value} (desc=${char.handle_decl}) ${E.toJS(char.properties)}`);
        });
        return Promise.resolve(services).then(getServices);
      });
    }).then(() => {
      gatt.disconnect();
    });
    

    But also if you could run NRF Connect on your phone, connect to the Arduino device,
    then tap on the Nordic UART Service entry to expand it and screenshot what you see, that'd be great.

  • Hi Gordon - thanks so much for all of your support!

    This is what the Puck returns after connection:

    >
    Connecting
    Connected
    >
    Service 0x1800 1=>7
      Characteristic 0x2a00 3 (CCCD 2) {broadcast:false,read:true,writeWithoutResponse:false,write:true,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x2a01 5 (CCCD 4) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x2a04 7 (CCCD 6) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
    Service 0x1801 8=>11
      Characteristic 0x2a05 10 (CCCD 9) {broadcast:false,read:false,writeWithoutResponse:false,write:false,notify:false,indicate:true,authenticatedSignedWrites:false}
    Service 0x0000[vendor] 12=>19
      Characteristic 0x0000[vendor] 14 (CCCD 13) {broadcast:false,read:false,writeWithoutResponse:true,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x0000[vendor] 16 (CCCD 15) {broadcast:false,read:false,writeWithoutResponse:false,write:true,notify:true,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x0000[vendor] 19 (CCCD 18) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
    Service 0x180a 20=>30
      Characteristic 0x2a29 22 (CCCD 21) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x2a24 24 (CCCD 23) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x2a28 26 (CCCD 25) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x2a26 28 (CCCD 27) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
      Characteristic 0x2a27 30 (CCCD 29) {broadcast:false,read:true,writeWithoutResponse:false,write:false,notify:false,indicate:false,authenticatedSignedWrites:false}
    Service 6e400001-b5a3-f393-e0a9-e50e24dcca9e 31=>65535
      Characteristic 6e400003-b5a3-f393-e0a9-e50e24dcca9e 33 (CCCD 32) {broadcast:false,read:false,writeWithoutResponse:false,write:false,notify:true,indicate:false,authenticatedSignedWrites:false}
      Characteristic 6e400002-b5a3-f393-e0a9-e50e24dcca9e 37 (CCCD 36) {broadcast:false,read:false,writeWithoutResponse:true,write:true,notify:false,indicate:false,authenticatedSignedWrites:false}
    

    I've attached all of the pictures from nRF Connect.

About

Avatar for Gordon @Gordon started