diff --git a/vendor/ess/lib/sis8300drvbcm.c b/vendor/ess/lib/sis8300drvbcm.c
index 778c01ffe624310faf7e7d79c2197861a521f0d0..8569b1ac0f12a8d53837ec1955fa6ea9e30b9777 100644
--- a/vendor/ess/lib/sis8300drvbcm.c
+++ b/vendor/ess/lib/sis8300drvbcm.c
@@ -70,40 +70,40 @@ void sis8300drvbcm_get_sampling_frequency(sis8300drv_usr *sisuser, double *frequ
 // used to control trigger selection for beam start
 int sis8300drvbcm_set_beam_trigger_source(sis8300drv_usr *sisuser, unsigned int source)
 {
-    // register takes 3-bit unsigned value
-    unsigned int value = source & 0x7;
+    // register takes 4-bit unsigned value
+    unsigned int value = source & 0xF;
     int ret = sis8300drv_reg_write(sisuser, SIS8300BCM_BEAM_TRIGGER_SOURCE_REG, value);
     return ret;
 }
 
 int sis8300drvbcm_get_beam_trigger_source(sis8300drv_usr *sisuser, unsigned int *source)
 {
-    // register provides 3-bit unsigned value
+    // register provides 4-bit unsigned value
     int ret = sis8300drv_reg_read(sisuser, SIS8300BCM_BEAM_TRIGGER_SOURCE_REG, source);
     if (ret) {
         return ret;
     }
-    *source &= 0x7;
+    *source &= 0xF;
     return ret;
 }
 
 // used to control trigger selection for data acquisition
 int sis8300drvbcm_set_acquisition_trigger_source(sis8300drv_usr *sisuser, unsigned int source)
 {
-    // register takes 3-bit unsigned value
-    unsigned int value = source & 0x7;
+    // register takes 4-bit unsigned value
+    unsigned int value = source & 0xF;
     int ret = sis8300drv_reg_write(sisuser, SIS8300BCM_ACQUITISION_TRIGGER_SOURCE_REG, value);
     return ret;
 }
 
 int sis8300drvbcm_get_acquisition_trigger_source(sis8300drv_usr *sisuser, unsigned int *source)
 {
-    // register provides 3-bit unsigned value
+    // register provides 4-bit unsigned value
     int ret = sis8300drv_reg_read(sisuser, SIS8300BCM_ACQUITISION_TRIGGER_SOURCE_REG, source);
     if (ret) {
         return ret;
     }
-    *source &= 0x7;
+    *source &= 0xF;
     return ret;
 }
 
@@ -148,8 +148,8 @@ int sis8300drvbcm_set_channel_trigger_source(sis8300drv_usr *sisuser, unsigned i
                         (SIS8300BCM_CHANNEL_BLOCK_SIZE * channel) + \
                         SIS8300BCM_ACCT_BANK_OFF + \
                         SIS8300BCM_ACCT_X_TRIGGER_SOURCE_OFF;
-    // register takes 3-bit unsigned value
-    unsigned int value = source & 0x7;
+    // register takes 4-bit unsigned value
+    unsigned int value = source & 0xF;
     int ret = sis8300drv_reg_write(sisuser, reg, value);
     return ret;
 }
@@ -160,12 +160,12 @@ int sis8300drvbcm_get_channel_trigger_source(sis8300drv_usr *sisuser, unsigned i
                         (SIS8300BCM_CHANNEL_BLOCK_SIZE * channel) + \
                         SIS8300BCM_ACCT_BANK_OFF + \
                         SIS8300BCM_ACCT_X_TRIGGER_SOURCE_OFF;
-    // register provides 3-bit unsigned value
+    // register provides 4-bit unsigned value
     int ret = sis8300drv_reg_read(sisuser, reg, source);
     if (ret) {
         return ret;
     }
-    *source &= 0x7;
+    *source &= 0xF;
     return ret;
 }