diff --git a/CHANGELOG.md b/CHANGELOG.md index b91537fa98639aa829b130a11495e57eb4e3a9ab..3d420c0458317f555b28e3c5f3b666c87abc4221 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Beam Current Monitor module CHANGELOG +## 0.9.13 +- [ PBIBCM-236 ](https://jira.esss.lu.se/browse/PBIBCM-236) Increase medium speed diff moving averager + ## 0.9.12 - [ PBIBCM-209 ](https://jira.esss.lu.se/browse/PBIBCM-209) Extend options of Trigger Source PVs - [ PBIBCM-143 ](https://jira.esss.lu.se/browse/PBIBCM-143) Add Leaky Integrator diff --git a/vendor/ess/lib/sis8300drvbcm.c b/vendor/ess/lib/sis8300drvbcm.c index 718a06fec94c3c026454c28f2c0730bbb174779c..f11b7ef959fffff461898817f7888d6ddd4c6e4a 100644 --- a/vendor/ess/lib/sis8300drvbcm.c +++ b/vendor/ess/lib/sis8300drvbcm.c @@ -2720,9 +2720,9 @@ int sis8300drvbcm_set_differential_medium_window_width_inverse(sis8300drv_usr *s SIS8300BCM_DIFF_BANK_OFF + \ SIS8300BCM_DIFF_X_MEDIUM_WINDOW_WIDTH_INV_OFF; // non-inverted value - int value = width - 2.0; + unsigned int value = (unsigned int) (width - 2.0); // inverted value - value = (int)((1 << 23) / (88 * (value + 2))); + value = (1 << 31) / (88 * (value + 2)); return sis8300drv_reg_write(sisuser, reg, value); } @@ -2744,13 +2744,13 @@ int sis8300drvbcm_get_differential_medium_window_width_inverse(sis8300drv_usr *s (SIS8300BCM_CHANNEL_BLOCK_SIZE * channel) + \ SIS8300BCM_DIFF_BANK_OFF + \ SIS8300BCM_DIFF_X_MEDIUM_WINDOW_WIDTH_INV_OFF; - // register has lowest 24 bits defined - unsigned value; + // register has lowest 32 bits defined + unsigned int value; ret = sis8300drv_reg_read(sisuser, reg, &value); if (ret) { return ret; } - *width = ((double)value * 88.0 * (n_value + 2.0)) / (double)(1 << 23); + *width = ((double)value * 88.0 * (n_value + 2.0)) / (double)(1 << 31); return ret; }