-
its certainly possible I had been messing around with bluetooth on the puck previously but I would have imaginged a hard reset and a firmware update via DFU would get rid of any of that?
also it works on the macbook which has me even more lost!
Any suggestions on where in the mac to reset the pairing, none of the espruino devices show up in the regular bluetooth settings app
-
Got a slightly weird problem, dig out one of my pucks as I have a project idea, trying to connect it to my iMac to use the web IDE but when I scan for webbluetooth devices it sees the same puck name twice (with different ?MAC? addresses?
No matter which one I select it fails to connect
I've tried updating the fw to 2.04 and doing a hard reset neither of which helped.
I can connect my pixl to the iMac fine
I can connect this puck to my Macbook fine (it only shows up once there)
See screenshots for the details,
I'm a bit lost!
-
Sorry I should have clarified I'm currently testing on my bench with the sensor hooked up to an LED an button that I can pulse manually to test the detection, thats the part thats unreliable,
The code for counting and datetime works well if I use the button to trigger the function instead of my sensor.
I think you might be onto somthing with the voltage levels though I'd not realised the pullup resistor is 40k I need to go and do my calculations properly :)
-
I'm trying to use an esprunio (pico) to interface some utility neter LED pulse counters (http://www.crucible-technologies.co.uk/products/WEB_LPS) these attach to the front of my electricity meter(s) over the LED which pules every 0.001 kWh of energy thats used.
The idea is to count the pulses each minute then output this over the usb prot to a host raspi for logging the data.
I've prototyped it with the button and the pulse counting works well, the issue I'm having is with the interfacing of the sensors to the digital input pins on the pico, I have the 2 wire passive sensors and according to their info
Every time the LED on an energy meter pulses, the resistance between the signal and ground connections drops to around 2k ohm
so if I connect the sensor across GND and D0 on the pico then use the internal pullup resistor I should get a 0 when the LED is on (or use therising
edge of the set watch to detect when the LED goes out. however I'm seeing very unreliable results.My code is below
var count = {}; clearWatch(); const sensor =D0; pinMode(sensor, 'input_pullup'); function printoutput(){ console.log("-----------------------------"); for (var property in count) { if (count.hasOwnProperty(property)) { console.log(property + " - " + count[property]); } } } function jsonoutput(){ console.log(JSON.stringify(count)); } function reset(){ count = {}; } setWatch(function() { var dta = new Date().toString().split(":"); dta.pop(); var dt = dta.join(":"); if (count[dt]){ count[dt] +=1; } else { count[dt] = 1; } }, sensor, {edge:"rising", debounce:50, repeat:true});
-
-
-
It looks like there's an ANCS client for the nRF52 in the Nordic SDK, https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk52.v0.9.2%2Fble_sdk_app_ancs.html would be VERY cool if this was part of espruino one day with some nice high level API calls to respond to alerts
-
Yeah, its certainly far easier from a UX perspective to initiate the pairing from the iPhone and ust have the embedded device accept whatever tried to connect.
No that XML is from the nRF8001 Arduino example https://github.com/NordicSemiconductor/ble-sdk-arduino/tree/master/libraries/BLE/examples/ble_ANCS_template It looks like you run that through an nRF app on your machine (nrfGo ??) to generate a services.h file that then gets flashed onto the 8001
-
I don't think so, I've tried having everything else turned off to reduce the various BLE options in the room, from what I can see the iPhone just doesn't accept unsolicited connections.
Over the weekend I got ANCS working on an Arduino with an nRF 8001 board as there are some pre-built libraries for that (also the contest I'm working on is Arduino centered so I need to use that!)
It looks as if the Arduino is advertising some other services (battery etc) which the iPhone then sees in the Bluetooth devices and I can initiate the connection from the iPhone at which point the Arduino requests pairing (bonding)
I'll need to go back and take a look at the services it advertises to see if I can re-create these on the Puck.
This is the xml file that the nRF uses to expose services, I'm guessing this might make sense to you?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE AttributeServer> <Profile Version="1.3"> <SetupId>1</SetupId> <Device>nRF8001_Dx</Device> <Service Type="local" PrimaryService="true"> <Name>TX Power</Name> <Uuid>1804</Uuid> <Characteristic> <Name>TX Power Level</Name> <Uuid>2a07</Uuid> <DefaultValue>0</DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>1</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>false</Write> <Notify>false</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <SetPipe>true</SetPipe> <AckIsAuto>true</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Service Type="local" PrimaryService="true"> <Name>Immediate Alert</Name> <Uuid>1802</Uuid> <Characteristic> <Name>Alert Level</Name> <Uuid>2a06</Uuid> <DefaultValue></DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>1</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <WriteWithoutResponse>true</WriteWithoutResponse> <Write>false</Write> <Notify>false</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <SetPipe>false</SetPipe> <AckIsAuto>true</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Service Type="local" PrimaryService="true"> <Name>Link Loss Alert</Name> <Uuid>1803</Uuid> <Characteristic> <Name>Alert Level</Name> <Uuid>2a06</Uuid> <DefaultValue>0</DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>1</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>true</Write> <Notify>false</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <SetPipe>false</SetPipe> <AckIsAuto>true</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Service Type="local" PrimaryService="true"> <Name>Battery</Name> <Uuid>180f</Uuid> <Characteristic> <Name>Battery Level</Name> <Uuid>2a19</Uuid> <DefaultValue>64</DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>1</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>false</Write> <Notify>true</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <SetPipe>true</SetPipe> <AckIsAuto>false</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="4" NameSpace="01" Unit="27AD"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Service Type="remote" PrimaryService="true"> <Name>Immediate Alert</Name> <Uuid>1802</Uuid> <Characteristic> <Name>Alert Level</Name> <Uuid>2a06</Uuid> <DefaultValue>0</DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>1</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <Read>false</Read> <WriteWithoutResponse>true</WriteWithoutResponse> <Write>false</Write> <Notify>false</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <AckIsAuto>true</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Service Type="local" PrimaryService="true"> <Name>Device Information</Name> <Uuid>180a</Uuid> <Characteristic> <Name>Hardware Revision String</Name> <Uuid>2a27</Uuid> <DefaultValue></DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>9</MaxDataLength> <AttributeLenType>2</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>false</Write> <Notify>false</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <SetPipe>true</SetPipe> <AckIsAuto>false</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="25" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Service Type="remote" PrimaryService="true"> <Name>ANCS</Name> <Uuid BaseUUID="79050000B5CE4E99A40F4B1E122D00D0" BaseUUIDName="ANCS">f431</Uuid> <Characteristic> <Name>Notification Source</Name> <Uuid BaseUUID="9fbf0000630142d98c5825e699A21DBD" BaseUUIDName="ANCS Notification Source">120d</Uuid> <DefaultValue></DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>20</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <Read>false</Read> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>false</Write> <Notify>true</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <AckIsAuto>false</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> <Characteristic> <Name>Control Point</Name> <Uuid BaseUUID="69D1000045E149A898219BBDFDAAD9D9" BaseUUIDName="ANCS Control Point">d8f3</Uuid> <DefaultValue></DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>20</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <Read>false</Read> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>true</Write> <Notify>false</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <AckIsAuto>false</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> <Characteristic> <Name>Data Source</Name> <Uuid BaseUUID="22EA000024D64BB5BE44B36ACE7C7BFB" BaseUUIDName="ANCS Data Source">c6e9</Uuid> <DefaultValue></DefaultValue> <UsePresentationFormat>0</UsePresentationFormat> <MaxDataLength>20</MaxDataLength> <AttributeLenType>1</AttributeLenType> <ForceOpen>false</ForceOpen> <Properties> <Read>false</Read> <WriteWithoutResponse>false</WriteWithoutResponse> <Write>false</Write> <Notify>true</Notify> <Indicate>false</Indicate> <Broadcast>false</Broadcast> </Properties> <AckIsAuto>false</AckIsAuto> <PresentationFormatDescriptor Value="0000" Exponent="0" Format="1" NameSpace="01" Unit="0000"/> <PeriodForReadingThisCharacteristic>0</PeriodForReadingThisCharacteristic> <PeriodForProperties/> </Characteristic> </Service> <Gapsettings> <Name>ANCS Rusk</Name> <DeviceNameWriteLength>0</DeviceNameWriteLength> <LocalPipeOnDeviceName>false</LocalPipeOnDeviceName> <DeviceNameShortLength>3</DeviceNameShortLength> <Apperance>0240</Apperance> <SecurityLevel>1</SecurityLevel> <AuthenticationReq>0</AuthenticationReq> <IoCapabilities>0</IoCapabilities> <BondTimeout>600</BondTimeout> <SecurityRequestDelay>99</SecurityRequestDelay> <MinimumKeySize>7</MinimumKeySize> <MaximumKeySize>16</MaximumKeySize> <AdvertisingDataBondedBitmap>10</AdvertisingDataBondedBitmap> <AdvertisingDataGeneralBitmap>10</AdvertisingDataGeneralBitmap> <AdvertisingDataBrodcastBitmap>0</AdvertisingDataBrodcastBitmap> <AdvertisingDataBondedScanResponseBitmap>2c40</AdvertisingDataBondedScanResponseBitmap> <AdvertisingDataGeneralScanResponseBitmap>2c40</AdvertisingDataGeneralScanResponseBitmap> <AdvertisingDataBrodcastScanResponseBitmap>0</AdvertisingDataBrodcastScanResponseBitmap> <AdvertisingDataBondedBitmapCustom>1</AdvertisingDataBondedBitmapCustom> <AdvertisingDataGeneralBitmapCustom>1</AdvertisingDataGeneralBitmapCustom> <AdvertisingDataBrodcastBitmapCustom>0</AdvertisingDataBrodcastBitmapCustom> <AdvertisingDataBondedScanResponseBitmapCustom>0</AdvertisingDataBondedScanResponseBitmapCustom> <AdvertisingDataGeneralScanResponseBitmapCustom>0</AdvertisingDataGeneralScanResponseBitmapCustom> <AdvertisingDataBrodcastScanResponseBitmapCustom>0</AdvertisingDataBrodcastScanResponseBitmapCustom> <TxPowerLevelOffset>0</TxPowerLevelOffset> <MinimumConnectionInterval>400</MinimumConnectionInterval> <MaximumConnectionInterval>800</MaximumConnectionInterval> <SlaveLatency>0</SlaveLatency> <TimeoutMultipler>600</TimeoutMultipler> <AddServiceUpdateCharacteristic>true</AddServiceUpdateCharacteristic> <AddServiceUpdateCharacteristicPipe>true</AddServiceUpdateCharacteristicPipe> <SercieToSolicitate> <Uuid BaseUUID="79050000B5CE4E99A40F4B1E122D00D0" BaseUUIDName="ANCS">f431</Uuid> </SercieToSolicitate> <CustomAdTypes> <AdType index="1"> <Type>19</Type> <Value>4002</Value> </AdType> <AdType index="2"> <Type>18</Type> <Value></Value> </AdType> </CustomAdTypes> </Gapsettings> <Hardwaresettings> <Clocksource>1</Clocksource> <ClockAccuracy>1</ClockAccuracy> <InitialTxPower>3</InitialTxPower> <HfClkSource>0</HfClkSource> <DcDcConverter>0</DcDcConverter> <ActiveSignalModeIndex>0</ActiveSignalModeIndex> <ActiveSignalToTickDistance>0</ActiveSignalToTickDistance> <DynamicWindowLimitingEnabled>true</DynamicWindowLimitingEnabled> </Hardwaresettings> <CurrentInput> <BatteryCharge>220</BatteryCharge> <Master32KhzClockAccuracy>10</Master32KhzClockAccuracy> <ConnectionInterval>1000</ConnectionInterval> <PercentOfTimeSleeping>0</PercentOfTimeSleeping> <PercentOfTimeAdvertising>0</PercentOfTimeAdvertising> <AdvertisingInterval>1280</AdvertisingInterval> </CurrentInput> </Profile>
-
I'm working on implementing ANCS (Apple Notification Service) on the Puck so that when my iPhone gets an alert its sent over BLE to the puck. I've had some success using the nRF toolbox on my Android phone to connect to the iPhone and I can see alerts coming over. Therefore I know the iPhone side is working.
However I can't seem to implement it on the puck, from what I can tell I first need to bond the Puck to the iPhone and then I can connect to the ANCS service and subscribe to the Notification Service.
However the puck doesn't seem to be able to initiate a connection to the iPhone let alone get as far as bonding, I've tried both discovering the device and then connecting as well as responding to an incomming connection, both of which theNRF.connect
fails with a connection timeout.
I'm using a serial console now so that the pucks BLE device is free to connect to the iPhone and I can debug on the console, code is below,var devices; var ios; //Discover BLE Devices NRF.findDevices(function(d) { devices = d; console.log(devices); }, 5000); // Find one with the ANCS Service for (var i = 0; i < devices.length; i++) { if (devices[i].services.indexOf("7905f431-b5ce-4e33-a455-4b1e122d00d0") != -1){ ios = devices[i]; } } //Bond to it ios.gatt.connect().then(function(g) { gatt = g; console.log("connected"); return gatt.startBonding(); }).then(function() { console.log("bonded", gatt.getSecurityStatus()); LED2.set(); gatt.disconnect(); }).catch(function(e) { LED1.set(); console.log("ERROR",e); });
-
Just thought I'd share the finished code for sending a word with a click of the button as a BLE HID Keyboard, not yet tried linking to the RasPi but works great with my iMac
var kb = require("ble_hid_keyboard"); NRF.setServices(undefined, { hid : kb.report }); var reset_timer; var char_timer; var arr; var word = "Hello"; function send(){ LED3.set(); arr = word.split(""); char_timer = setInterval("sendChar()", 100); LED2.set(); setTimeout("LED2.reset()",1000); LED3.reset(); } function onTimeout() { setTimeout("LED1.reset()",5000); LED1.set(); LED3.reset(); } function sendChar(){ if (arr.length !== 0){ var char = arr.shift(); if (char == char.toLowerCase()) { sk = 0; } else { sk = 0x02; } kb.tap(kb.KEY[char.toUpperCase()], sk); } else{ clearInterval(char_timer); } } setWatch(function() { send(); }, BTN, {edge:"rising", debounce:50, repeat:true});
-
-
-
I'm trying to setup my puck as a single button keyboard to send a character (or two) when the button is pressed, I'm not having much luck and struggling with how to debug it, as I understand it I have to disconnect the web bluetooth IDE before the puck can connect as a keyboard?
I've flashed the code below to the puck then disconnect and press the button, the BLUE LED comes on for 10sec then the red one flashes as I would expect indicating its failed, I've tried scanning for new bluetooth devices (keyboards) from my Mac and iPhone after I disconnect but nothing is found.var kb = require("ble_hid_keyboard"); NRF.setServices(undefined, { hid : kb.report }); var reset_timer; function sendKB(){ LED3.set(); kb.tap(kb.KEY.H, kb.MODIFY.SHIFT, function() { kb.tap(kb.KEY.i, 0); }); clearTimeout(reset_timer); LED2.set(); setTimeout("LED2.reset()",1000); LED3.reset(); } function onTimeout() { setTimeout("LED1.reset()",1000); LED1.set(); LED3.reset(); } setWatch(function() { reset_timer = setTimeout("onTimeout()",10000); sendKB(); }, BTN, {edge:"rising", debounce:50, repeat:true});
I'm running 1.9.1 on my puck, updated to that this morning
-
-
I've got the ws client implementation working, however my server sends binary messages over a websocket, (RAW PCM Audio frames) Is there any way to handle these in espruino, i'd like to so some visualisations of the data with neopixels eventually.
It seems that a binary message doesn't invoke the on message event. I put logging of on raw in and this is what I get:
>echo(0); =undefined Connected! RAW: HTTP/1.1 101 Switching Protocols U RAW: pgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: BJcYBMUMFM4VKC/jom8iiI/n2Zo= Connected to server RAW: ~,RIFF$âWAVEfmt >}dataâ RAW: üÿøÿ÷ÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿø RAW: ÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ RAW: øÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿøÿ > Disconnected Connected >
Tired the 5 red flash reset and rebooting the mac, still the same issue!
All very strange, tried with a brand new puck and that seems to work fine?!?!?!
I'm gonna try and get along to JSOxford next week if I can so I'll try and remember to bring it with me, perhaps you can spot something thats odd with it I'm missing