private int sizeOfData_v10(configSettings_v10 configSettings) { int size = 5; //BikeID, RPM, HR, Power size += (configSettings.uuidSend) ? 6 : 0; size += (configSettings.versionSend) ? 2 : 0; size += (configSettings.intervalSend) ? 7 : 0; size += (configSettings.rssiSend) ? 1 : 0; size += (configSettings.gearSend) ? 1 : 0; return size; }
private void updateRide_v10(configSettings_v10 configSettings, byte[] receivedData, int offset, Rider rider) { byte[] uuid = (configSettings.uuidSend) ? getUUID(receivedData, offset + configSettings.uuidOffset()) : new byte[6]; UInt16 major = Convert.ToUInt16((configSettings.versionSend) ? receivedData[offset + configSettings.majorOffset()] : 0); UInt16 minor = Convert.ToUInt16((configSettings.versionSend) ? receivedData[offset + configSettings.minorOffset()] : 0); UInt16 rpm = Convert.ToUInt16(receivedData[offset + configSettings.rpmOffset()]); UInt16 hr = Convert.ToUInt16(receivedData[offset + configSettings.hrOffset()]); UInt16 power = Convert.ToUInt16(twoByteConcat(receivedData[offset + configSettings.powerOffset()], receivedData[offset + configSettings.powerOffset() + 1])); UInt16 interval = Convert.ToUInt16((configSettings.intervalSend) ? receivedData[offset + configSettings.intervalOffset()] : 0); UInt16 kcal = Convert.ToUInt16((configSettings.intervalSend) ? twoByteConcat(receivedData[offset + configSettings.kcalOffset()], receivedData[offset + configSettings.kcalOffset() + 1]) : 0); UInt16 clock = Convert.ToUInt16((configSettings.intervalSend) ? twoByteConcat(receivedData[offset + configSettings.clockOffset()], receivedData[offset + configSettings.clockOffset() + 1]) : 0); UInt16 trip = Convert.ToUInt16((configSettings.intervalSend) ? twoByteConcat(receivedData[offset + configSettings.tripOffset()], receivedData[offset + configSettings.tripOffset() + 1]) : 0); trip = (UInt16)(trip & (UInt16)32767); Int16 rssi = Convert.ToInt16((configSettings.rssiSend) ? receivedData[offset + configSettings.rssiOffset()] : 0); UInt16 gear = Convert.ToUInt16((configSettings.gearSend) ? receivedData[offset + configSettings.gearOffset()] : 0); rider.update_v10(uuid, major, minor, rpm, hr, power, interval, kcal, clock, trip, rssi, gear); }