Search found 13 matches
- July 28th, 2015, 1:16 pm
- Forum: Bug Reports
- Topic: Incorrect Data being sent via BT LE? (Firmware Bug?)
- Replies: 4
- Views: 8598
Re: Incorrect Data being sent via BT LE? (Firmware Bug?)
I suggest looking into revising your method for extracting the data bytes into UInt32. Sorry, I'm not entirely familiar with ObjC. I noticed your earlier forum post using getBytes:range:, attempted to replicate it in Swift and found I was getting bogus values - appeared to be memory access related, ...
- July 24th, 2015, 4:59 pm
- Forum: Bug Reports
- Topic: Incorrect Data being sent via BT LE? (Firmware Bug?)
- Replies: 4
- Views: 8598
Re: Incorrect Data being sent via BT LE? (Firmware Bug?)
I have not seen that issue. I am receiving and displaying consistently accurate Elapsed Time and Distance values for numerous brief test workouts and some 10+ minute workouts. Could you post your code that processes the incoming notification values? What is updateRowingMachineWithData: doing? Sounds...
- July 22nd, 2015, 9:52 pm
- Forum: SDK Questions
- Topic: Bluetooth Implementation
- Replies: 4
- Views: 7127
Re: Bluetooth Implementation
In order to set programs such as distance you'll need to write to Bluetooth characteristic 0x0021 with valid CSAFE commands. CSAFE commands applicable to the PM5 are described in the Concept2 PM Communication Interface Definition document, which is available in the Concept2 SDK: http://www.concept2....
- July 18th, 2015, 12:15 am
- Forum: SDK Questions
- Topic: Bluetooth Implementation
- Replies: 4
- Views: 7127
Re: Bluetooth Implementation
For 0x0031, 0x0032 and 0x0033 you could change the sample rate via 0x0034. You could subscribe then unsubscribe at your leisure/based on an internal timer (effectively providing longer refresh rates than 0x0034). You could subscribe then unsubscribe after receiving the very next notification (provid...
- July 9th, 2015, 5:31 am
- Forum: SDK Questions
- Topic: Parsing Bluetooth Data
- Replies: 2
- Views: 6840
Re: Parsing Bluetooth Data
Objective-C is like a foreign language to me :) But I think I can help a bit anyway - I'll use Swift, but there's not much code here so you should be able to follow, and anyway you're 99% there. Taking Elapsed Time as an example: // Unpack the characteristic.values (NSData) into an Array of 8-bit in...
- July 8th, 2015, 12:51 am
- Forum: Bug Reports
- Topic: CSAFE over Bluetooth is broken (PM5 firmware 19)
- Replies: 1
- Views: 5068
CSAFE over Bluetooth is broken (PM5 firmware 19)
The CSAFE State Machine on the PM5 (firmware 19), as queried over Bluetooth, appears to be broken. Specifically, it appears as though Bluetooth on the PM5 does not have access to the currently active CSAFE State Machine, perhaps instantiating a new State Machine with each separate Bluetooth CSAFE co...
- July 7th, 2015, 4:13 pm
- Forum: SDK Questions
- Topic: iOS Development
- Replies: 24
- Views: 42859
Re: iOS Development
I don't know anything about using advertisementData to identify a peripheral. The UUID I posted (and robnotyou posted) is specifically noted in the C2 documentation as the service UUID used to identify a PM5 peripheral. I suggest using it. Just to note, with Swift you usually want to avoid as! whene...
- July 7th, 2015, 6:45 am
- Forum: SDK Questions
- Topic: iOS Development
- Replies: 24
- Views: 42859
Re: iOS Development
You'll want to instantiate a CBCentral and save it to an ivar (you may already have this): class YourClass: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate { var central: CBCentral! var peripheral: CBPeripheral! override init() { central = CBCentral(delegate: self, queue: nil, options: nil)...
- July 6th, 2015, 6:08 pm
- Forum: SDK Questions
- Topic: CSafe_SetUserCFG1_CMD
- Replies: 2
- Views: 6321
Re: CSafe_SetUserCFG1_CMD
In the first example: 0x01 is the SETUSERCFG1 message content length (the SETUSERCFG1 message content being 0xA0) 0xBB is the checksum on the frame content (0x1A, 0x01, 0xA0). The checksum is byte for byte XOR on the frame content. If you change the frame content you need to calculate the correct ch...
- July 5th, 2015, 9:31 pm
- Forum: SDK Questions
- Topic: GOFINISHED, return to Main Screen
- Replies: 4
- Views: 14387
Re: GOFINISHED, return to Main Screen
To add: Concept2's ErgData iPhone app has a feature where it recognizes when rowing activity has stopped, displays a "Are you finished" prompt. Pressing "Yes" at that prompt does successfully cause the current activity to end, with the PM5 UI returning to the Main screen. So, unless ErgData is using...
- July 5th, 2015, 9:29 pm
- Forum: SDK Questions
- Topic: CSAFE + BLE Characteristic
- Replies: 4
- Views: 14665
Re: CSAFE + BLE Characteristic
To add: A properly formatted response is received when sending CSAFE_GETSERIAL_CMD, with the correct serial number value: --> send [0xF1, 0x94, 0x94, 0xF2] <-- response [0xF1, 0x81, 0x94, 0x09, 0x34, 0x33, 0x30, 0x31, 0x30, 0x39, 0x31, 0x39, 0x39, 0x22, 0xF2] All send/receive activity is performed b...
- July 5th, 2015, 5:43 pm
- Forum: SDK Questions
- Topic: CSAFE + BLE Characteristic
- Replies: 4
- Views: 14665
CSAFE + BLE Characteristic
Using a BLE connection via iPhone, posting CSAFE commands to Characteristic 0x0021, subscribing to Updates from Characteristic 0x0022, I'm finding weird CSAFE response frames. Even with the weird response frames, I am able to set the PM5 to Standard Workout 1 and GOINUSE (the PM5 UI changes to the 2...
- July 5th, 2015, 2:19 am
- Forum: SDK Questions
- Topic: GOFINISHED, return to Main Screen
- Replies: 4
- Views: 14387
GOFINISHED, return to Main Screen
In Figure 7, CSAFE State Machine Diagram, of the PM Communication Interface Definition revision 0.15, a note states: 1. If Finished state entered via Master command or timeout, terminate the current workout and return to Main screen However, that does not occur when sending the CSAFE_GOFINISHED_CMD....