@@ -966,7 +966,7 @@ function parsePacketStandardAccel (o) {
966
966
sampleObject . accelData = getDataArrayAccel ( o . rawDataPacket . slice ( k . OBCIPacketPositionStartAux , k . OBCIPacketPositionStopAux + 1 ) ) ;
967
967
968
968
if ( k . isUndefined ( o . scale ) || k . isNull ( o . scale ) ) o . scale = true ;
969
- if ( o . scale ) sampleObject . channelData = getChannelDataArray ( o . rawDataPacket , o . channelSettings ) ;
969
+ if ( o . scale ) sampleObject . channelData = getChannelDataArray ( o ) ;
970
970
else sampleObject . channelDataCounts = getChannelDataArrayNoScale ( o . rawDataPacket ) ;
971
971
972
972
if ( k . getVersionNumber ( process . version ) >= 6 ) {
@@ -1075,7 +1075,7 @@ function parsePacketTimeSyncedAccel (o) {
1075
1075
}
1076
1076
1077
1077
if ( k . isUndefined ( o . scale ) || k . isNull ( o . scale ) ) o . scale = true ;
1078
- if ( o . scale ) sampleObject . channelData = getChannelDataArray ( o . rawDataPacket , o . channelSettings ) ;
1078
+ if ( o . scale ) sampleObject . channelData = getChannelDataArray ( o ) ;
1079
1079
else sampleObject . channelDataCounts = getChannelDataArrayNoScale ( o . rawDataPacket ) ;
1080
1080
1081
1081
return sampleObject ;
@@ -1228,13 +1228,21 @@ function getChannelDataArray (o) {
1228
1228
if ( ! Array . isArray ( o . channelSettings ) ) {
1229
1229
throw new Error ( 'Error [getChannelDataArray]: Channel Settings must be an array!' ) ;
1230
1230
}
1231
- var channelData = [ ] ;
1231
+ if ( o . hasOwnProperty ( 'protocol' ) ) {
1232
+ if ( o . protocol !== k . OBCIProtocolSerial && o . protocol !== k . OBCIProtocolWifi ) {
1233
+ throw new Error ( `Error [getChannelDataArray]: Invalid protocol must be ${ k . OBCIProtocolWifi } or ${ k . OBCIProtocolSerial } ` ) ;
1234
+ }
1235
+ } else {
1236
+ o . protocol = k . OBCIProtocolSerial ;
1237
+ }
1238
+ let channelData = [ ] ;
1232
1239
// Grab the sample number from the buffer
1233
- var sampleNumber = o . rawDataPacket [ k . OBCIPacketPositionSampleNumber ] ;
1234
- var daisy = o . channelSettings . length === k . OBCINumberOfChannelsDaisy ;
1235
-
1240
+ const numChannels = o . channelSettings . length ;
1241
+ const sampleNumber = o . rawDataPacket [ k . OBCIPacketPositionSampleNumber ] ;
1242
+ const daisy = numChannels === k . OBCINumberOfChannelsDaisy ;
1243
+ const channelsInPacket = numChannels > k . OBCINumberOfChannelsGanglion ? k . OBCINumberOfChannelsDefault : k . OBCINumberOfChannelsGanglion ;
1236
1244
// Channel data arrays are always 8 long
1237
- for ( var i = 0 ; i < k . OBCINumberOfChannelsDefault ; i ++ ) {
1245
+ for ( let i = 0 ; i < channelsInPacket ; i ++ ) {
1238
1246
if ( ! o . channelSettings [ i ] . hasOwnProperty ( 'gain' ) ) {
1239
1247
throw new Error ( `Error [getChannelDataArray]: Invalid channel settings object at index ${ i } ` ) ;
1240
1248
}
0 commit comments