@@ -4797,56 +4797,56 @@ protected void SetCompatibilityCode()
47974797 {
47984798 if ( FirmwareIdentifier == ShimmerBluetooth . FW_IDENTIFIER_BTSTREAM ) //BtStream //Also Used For EXG MD, 9/2/2018: No longer used for newer ECGMD fw versions
47994799 {
4800- if ( FirmwareMajor == 0 && FirmwareMinor == 1 ) // FirmwareVersion == 0.1 )
4800+ if ( compareVersions ( 0 , 8 ) ) //( FirmwareVersion >= 0.8 )
48014801 {
4802- CompatibilityCode = 1 ;
4802+ CompatibilityCode = 7 ;
48034803 }
4804- else if ( FirmwareMajor == 0 && FirmwareMinor == 2 ) // FirmwareVersion == 0.2)
4804+ else if ( compareVersions ( 0 , 7 , 3 ) ) //( FirmwareVersion >= 0.7 && FirmwareInternal> 2)
48054805 {
4806- CompatibilityCode = 2 ;
4806+ CompatibilityCode = 7 ; //skip CompatibilityCode = 6 since functionality of code 6 and 7 was introduced at the same time
48074807 }
4808- else if ( FirmwareMajor == 0 && FirmwareMinor == 3 ) // FirmwareVersion = = 0.3 )
4808+ else if ( compareVersions ( 0 , 5 ) && ( ! compareVersions ( 0 , 7 , 3 ) ) ) //( FirmwareVersion >= 0.5 && (FirmwareVersion < = 0.7 && FirmwareInternal <= 2) )
48094809 {
4810- CompatibilityCode = 3 ;
4810+ CompatibilityCode = 5 ;
48114811 }
4812- else if ( FirmwareMajor == 0 && FirmwareMinor == 4 ) //FirmwareVersion == 0.4)
4812+ else if ( compareVersions ( 0 , 4 ) ) //FirmwareVersion == 0.4)
48134813 {
48144814 CompatibilityCode = 4 ;
48154815 }
4816- else if ( ( FirmwareMajor == 0 && FirmwareMinor >= 5 ) && ( FirmwareMajor == 0 && FirmwareMinor <= 7 && FirmwareInternal <= 2 ) ) //( FirmwareVersion >= 0.5 && (FirmwareVersion < = 0.7 && FirmwareInternal <= 2) )
4816+ else if ( compareVersions ( 0 , 3 ) ) // FirmwareVersion = = 0.3 )
48174817 {
4818- CompatibilityCode = 5 ;
4818+ CompatibilityCode = 3 ;
48194819 }
4820- else if ( FirmwareMajor == 0 && FirmwareMinor >= 7 && FirmwareInternal > 2 ) //( FirmwareVersion >= 0.7 && FirmwareInternal> 2)
4820+ else if ( compareVersions ( 0 , 2 ) ) // FirmwareVersion == 0.2)
48214821 {
4822- CompatibilityCode = 7 ; //skip CompatibilityCode = 6 since functionality of code 6 and 7 was introduced at the same time
4822+ CompatibilityCode = 2 ;
48234823 }
4824- else if ( ( FirmwareMajor == 0 && FirmwareMinor >= 8 ) ) //( FirmwareVersion >= 0.8 )
4824+ else if ( compareVersions ( 0 , 1 ) ) //FirmwareVersion == 0.1 )
48254825 {
4826- CompatibilityCode = 7 ;
4826+ CompatibilityCode = 1 ;
48274827 }
48284828 }
48294829 else if ( FirmwareIdentifier == ShimmerBluetooth . FW_IDENTIFIER_LOGANDSTREAM ) //LogAndStream
48304830 {
4831- if ( ( FirmwareMajor == 0 && FirmwareMinor >= 13 && FirmwareInternal >= 7 ) )
4831+ if ( compareVersions ( 0 , 13 , 7 ) ) //(FirmwareVersion >= 0.13.7 )
48324832 {
48334833 CompatibilityCode = 8 ;
48344834 }
4835- else if ( FirmwareMajor == 0 && FirmwareMinor == 1 ) //( FirmwareVersion == 0.1 )
4835+ else if ( compareVersions ( 0 , 5 , 4 ) || compareVersions ( 0 , 6 ) ) //(FirmwareVersion >= 0.5 && FirmwareInternal >= 4 || FirmwareVersion == 0.6 )
48364836 {
4837- CompatibilityCode = 3 ;
4837+ CompatibilityCode = 6 ;
48384838 }
4839- else if ( FirmwareMajor == 0 && FirmwareMinor == 2 ) //(FirmwareVersion == 0.2 )
4839+ else if ( ( compareVersions ( 0 , 3 ) ) && ( ! compareVersions ( 0 , 5 ) ) ) //(FirmwareVersion >= 0.3 && FirmwareVersion<0.5 )
48404840 {
4841- CompatibilityCode = 4 ;
4841+ CompatibilityCode = 5 ;
48424842 }
4843- else if ( ( FirmwareMajor == 0 && FirmwareMinor >= 3 ) && ( FirmwareMajor == 0 && FirmwareMinor < 5 ) ) //(FirmwareVersion >= 0.3 && FirmwareVersion<0.5 )
4843+ else if ( compareVersions ( 0 , 2 ) ) //(FirmwareVersion == 0.2 )
48444844 {
4845- CompatibilityCode = 5 ;
4845+ CompatibilityCode = 4 ;
48464846 }
4847- else if ( ( FirmwareMajor == 0 && FirmwareMinor >= 5 && FirmwareInternal >= 4 ) || ( FirmwareMajor == 0 && FirmwareMinor == 6 ) ) //(FirmwareVersion >= 0.5 && FirmwareInternal >= 4 || FirmwareVersion == 0.6 )
4847+ else if ( compareVersions ( 0 , 1 ) ) //(FirmwareVersion == 0.1 )
48484848 {
4849- CompatibilityCode = 6 ;
4849+ CompatibilityCode = 3 ;
48504850 }
48514851 else
48524852 {
@@ -4862,7 +4862,7 @@ protected void SetCompatibilityCode()
48624862 {
48634863 if ( FirmwareIdentifier == 1 ) //BtStream
48644864 {
4865- if ( ( FirmwareMajor == 1 && FirmwareMinor == 2 ) ) //FirmwareVersion == 1.2)
4865+ if ( compareVersions ( 1 , 2 ) ) //FirmwareVersion == 1.2)
48664866 {
48674867 CompatibilityCode = 1 ;
48684868 }
@@ -6187,9 +6187,20 @@ protected void OnNewEvent(EventArgs e)
61876187 public bool compareVersions ( int compMajor , int compMinor , int compInternal )
61886188 {
61896189
6190- if ( ( compMajor > FirmwareMajor )
6191- || ( FirmwareMajor == compMajor && compMinor > FirmwareMinor )
6192- || ( FirmwareMajor == compMajor && FirmwareMinor == compMinor && compInternal >= FirmwareInternal ) )
6190+ if ( ( FirmwareMajor > compMajor )
6191+ || ( FirmwareMajor == compMajor && FirmwareMinor > compMinor )
6192+ || ( FirmwareMajor == compMajor && FirmwareMinor == compMinor && FirmwareInternal >= compInternal ) )
6193+ {
6194+ return true ; // if FW ID is the same and version is greater or equal
6195+ }
6196+ return false ; // if less or not the same FW ID
6197+ }
6198+
6199+ public bool compareVersions ( int compMajor , int compMinor )
6200+ {
6201+
6202+ if ( ( FirmwareMajor > compMajor )
6203+ || ( FirmwareMajor == compMajor && FirmwareMinor >= compMinor ) )
61936204 {
61946205 return true ; // if FW ID is the same and version is greater or equal
61956206 }
0 commit comments